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.0b0.tar.gz (77.2 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.0b0-py3-none-any.whl (80.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hermes_next-0.4.0b0.tar.gz
  • Upload date:
  • Size: 77.2 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.0b0.tar.gz
Algorithm Hash digest
SHA256 237dff2b70cb4815c03f9046d1ad255e3d20a3d238362a8e1d6c0b2302cf58bd
MD5 08543a76e9fb1e76ffba1c7a4ce3daf0
BLAKE2b-256 14a53f51b3fcec547e6b86feb6e83bea30a77fb9b327dafdc53d70a3a92ae418

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hermes_next-0.4.0b0-py3-none-any.whl
  • Upload date:
  • Size: 80.1 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.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 a986b7771bccafc9dc1ea951d77e25760e4ef3bff46e74ff4b8012b3e64826cc
MD5 25e336e5c107fa5cdbd0dae258be794a
BLAKE2b-256 350b7f480ca47ba059377d19dbe282359bee68ff4facacbc07167b6243c2266a

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