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.0.tar.gz (83.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.5.0-py3-none-any.whl (85.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hermes_next-0.5.0.tar.gz
  • Upload date:
  • Size: 83.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.5.0.tar.gz
Algorithm Hash digest
SHA256 a31c527243a1dee0fe5f32abdfb7e3c434874b5642ed50b11af1eda2623e4071
MD5 8adf9ad29462bad2c29b0c0d15bd0016
BLAKE2b-256 980619161455c9555a21958eb1f2f440d1b853aedd833f9385114833135c42d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hermes_next-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 85.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f298def04dc90c739dc2b00dd00cd76a0c684781f123f8cb0e0937d72e50b7a7
MD5 68485817fa81fd8666e21555af8ec56b
BLAKE2b-256 66cade83d56a19870d6f3d8d1231758475f3b8ff5dda4c6d9edd694dc974441d

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