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.4.0.tar.gz (77.3 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.4.0-py3-none-any.whl (80.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hermes_next-0.4.0.tar.gz
  • Upload date:
  • Size: 77.3 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.4.0.tar.gz
Algorithm Hash digest
SHA256 029edb0ef2ebbaa7f9c4fba91a67fba91df358ad52a9bccb8c1b1f6151f48c59
MD5 53688da4e693c2ebd4998fa38dd9ad09
BLAKE2b-256 0f7a2e75f37434f9726d9b5c3b01961dd69d3862490ee6c4e83d1e24c9805528

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hermes_next-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 80.2 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8010b03735d6acd7077061aa75bf738e8524be4dc11b35154944f84c5e7627b
MD5 b24878bdbeefd0207673b5435fa67942
BLAKE2b-256 b58d0f8201c38c255d6e24780ff4a1bd006ac9ffce5c7c0027eb976068a24343

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