Skip to main content

Next-generation memory provider for Hermes Agent — fusing OpenViking vector storage with MemOS cognitive engine

Project description

Hermes Next

A self-evolving memory system for AI agents. Python-native, zero-bridge, brain-like cognition.

Hermes Next fuses OpenViking vector storage with a Python-native MemOS cognitive engine, giving Hermes Agent agents persistent, self-evolving memory — no JSON-RPC bridge, no TypeScript dependency, no process overhead.

PyPI Python License Tests


Why Hermes Next?

Most agent memory systems today are TypeScript plugins bolted onto Python agents via JSON-RPC bridges — every memory operation crosses a process boundary, serializes and deserializes, and introduces a failure point.

Hermes Next is Python-native from day one. It runs in-process, shares memory with the agent, and eliminates the bridge entirely.

Feature Traditional (memos-local) Hermes Next
Language TypeScript + JSON-RPC bridge Python native
Search Brute-force cosine 6-step fusion (semantic + FTS5 + timeline + RRF + MMR + recency)
Lifecycle None (data grows forever) Auto-archive (90d) + confidence decay + pruning
Native memory sync ✅ MEMORY.md promotion + session_search fallback
Cross-agent sharing JSON-RPC ✅ OpenViking namespaces
Cognitive pipeline L1/L2/L3/Skill L1→Reward→L2→L3→Skill fully wired
Setup npm install + bridge config pip install

Bottom line: memos-local was built for the TypeScript era. Hermes Next is built for the Python-native era.


Quick Start

pip install hermes-next

Requires Python 3.10+ and a running OpenViking server (v0.3.22+).

Basic Usage

from hermes_next import HermesNextProvider

# Initialize
provider = HermesNextProvider()
provider.initialize(session_id="my-session")

# Every turn — automatic capture + retrieval
context = provider.prefetch("What did we discuss about RAG?")
provider.sync_turn(
    user_content="Tell me about RAG optimization",
    assistant_content="Key techniques: chunk size tuning, embedding selection...",
    session_id="my-session",
    tags=["rag", "optimization"],
)

# At session end — cognitive pipeline runs automatically
provider.on_session_end(messages=[])

# Check pipeline health
status = provider.handle_tool_call("memos_status", {})
print(status)

CLI

# Start the built-in viewer
hermes-next-viewer --port 8080

# Migrate from legacy memos-local-plugin database
hermes-next-migrate --old-db ~/.hermes/memos-plugin/data/memos.db

Architecture

                         Hermes Agent (Python)
                              │
                    HermesNextProvider
                     ┌────────┴────────┐
                     │                 │
              RetrievalPipeline   CognitivePipeline
              ┌─────┼───┬───┐    ┌───┼───┬───┬───┐
              │     │   │   │    │   │   │   │   │
           Semantic FTS5 Timel. MMR  L1  L2  L3  Skill
           (OV)   (SQLite)    (Rerank)  (Policy)(WM)(Cryst.)
                     │                 │
                  ┌──┴──┐          ┌───┴───┐
             OpenViking  SQLite  MEMORY.md  state.db
             (Vector)   (Cache)  (Native)  (Fallback)

4-Layer Retrieval Chain

  1. Hot Memory — MEMORY.md / USER.md (always in system prompt)
  2. Semantic Search — OpenViking vector store (primary, 95% of queries)
  3. FTS5 Full-text — Local SQLite cache (keyword fallback)
  4. session_search — Hermes Agent native state.db (last resort)

Cognitive Pipeline

Every session triggers an automatic induction chain:

L1 Traces → Reward Backprop → L2 Policy Induction → L3 World Model → Skill Crystallization
   ↓              ↓                  ↓                   ↓                 ↓
 Raw turns    Score each       Extract reusable       Build domain      Package as
              interaction     behavioral patterns     knowledge         invocable skills

Configuration

# ~/.hermes-next.yaml
openviking:
  base_url: "http://localhost:1933"

cognitive:
  enable_l2_induction: true
  enable_l3_world_model: false   # opt-in, GPT-intensive
  enable_skill_crystallization: false

lifecycle:
  trace_retention_days: 90
  policy_decay_rate: 0.03

integration:
  sync_memory_md: false           # promote to Hermes Agent MEMORY.md
  session_search_fallback: true    # fallback to native state.db FTS5

Tools Exposed to the Agent

Tool Description
memos_search(query, k) Semantic search across all memories
memos_get(trace_id) Read a specific trace
memos_timeline(limit) Recent memory activity
memos_status Pipeline health + promotion stats

Project Structure

hermes-next/
├── hermes_next/
│   ├── ov/            # OpenViking REST client
│   ├── memos/         # MemOS cognitive engine
│   ├── cache/         # SQLite local cache (FTS5 + vector)
│   ├── retrieval/     # 6-step fusion pipeline
│   ├── integration/   # Hermes Agent native memory bridge
│   └── viewer/        # Built-in SPA dashboard
├── tests/             # 141 tests, 0 flaky
└── docs/              # Architecture + upgrade guides

Comparison with memos-local-plugin

Aspect memos-local-plugin Hermes Next
Runtime TypeScript, separate process Python, in-process
Communication JSON-RPC over stdio Direct function calls
Vector search Brute-force cosine (SQLite) OpenViking (real vector DB)
Full-text search FTS5
Memory lifecycle Auto archive + decay
Native Hermes sync MEMORY.md + session_search
Cross-agent sharing Per-process OpenViking namespaces
Viewer HTTP + SSE HTTP SPA
Pipeline 3-tier retrieval 6-step fusion + cognitive

Roadmap

  • v0.4.0 — Feedback loop (user 👍/👎 → policy update → better retrieval)
  • v0.5.0 — Decision Repair (failure patterns → prevention)
  • v0.6.0 — Hub cross-agent search (native, no OV dependency)

See docs/strategic-positioning.md for the full strategy.


License

AGPL-3.0 — This project is a derivative of OpenViking (AGPL-3.0).


Built for agents that learn from every conversation. 🤛

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_next-0.5.1.tar.gz (83.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_next-0.5.1-py3-none-any.whl (86.0 kB view details)

Uploaded Python 3

File details

Details for the file hermes_next-0.5.1.tar.gz.

File metadata

  • Download URL: hermes_next-0.5.1.tar.gz
  • Upload date:
  • Size: 83.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hermes_next-0.5.1.tar.gz
Algorithm Hash digest
SHA256 52b3adaf780dfa8748afedb0d91720c0303adfd33b31202fbb4de8f4070f22e9
MD5 7d8eb6e8b33b301ca21afcd313bf18df
BLAKE2b-256 5bb9f6927fa5afe907fb40cc18c18f42e60289274ec2626ea4b9806fdcec5cf0

See more details on using hashes here.

File details

Details for the file hermes_next-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: hermes_next-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 86.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hermes_next-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ad65fe72ea0061e13729f5c9aa292638862ac5d2b9ebd826b90d8b451b722cf
MD5 263874b4aa163588e952e9851c01add4
BLAKE2b-256 0eb8fd6bc1a1db792acc7ea48ed1f6174854514800f598f2401b6fba98a43207

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page