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.7.1.tar.gz (96.0 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.7.1-py3-none-any.whl (97.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hermes_next-0.7.1.tar.gz
  • Upload date:
  • Size: 96.0 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.7.1.tar.gz
Algorithm Hash digest
SHA256 1deb413eea2bf3f90423d37437891225209d5725759d710edb8e0fa585fa4bc5
MD5 75656b65270b90c023eb1ce0be87ba04
BLAKE2b-256 b9b17c60df131c3f72406ceb132a4180c45797682fff0f05a7f2b662697f6136

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hermes_next-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 97.8 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.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c617f1d416a837dfcdfbc4a3e4600f664c043824200f66b560160bb6ec6ded4
MD5 a61d819f3121ecb41e7f0165e5fda6f4
BLAKE2b-256 c069674feaf958d4e05b8dd1bfe8aa5b2e46508947b07f1420e62905ef29ea92

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