Skip to main content

Hermes Agent memory provider — local-first, SQLite-backed, structured-tier memory for Hermes v0.10.0+.

Project description

sibyl-memory-hermes

Hermes Agent memory provider — local-first, SQLite-backed, structured-tier memory for Hermes v0.10.0+.

Drop-in memory for Hermes Agent (and any other Python agent framework). Memory content lives on the user's own machine — never on our cloud. Built on sibyl-memory-client, the underlying SDK.

pip install sibyl-memory-hermes

Quickstart

from sibyl_memory_hermes import SibylMemoryProvider
from hermes_agent import Agent

# Default: reads ~/.sibyl-memory/credentials.json (written by `sibyl init`)
# and opens ~/.sibyl-memory/memory.db
agent = Agent(memory=SibylMemoryProvider())

# Per-turn memory (Hermes contract):
agent.run("What did I work on yesterday?")
# → SibylMemoryProvider.save_context(inputs, outputs) lands in the journal

# Fact store:
agent.memory.remember(
    "project", "atlas",
    {"status": "active", "stage": "staging"}
)
agent.memory.recall("project", "atlas")

# Full-text search across all entities:
results = agent.memory.search("error budget")

Why "local-first"?

Mem0, Zep, Honcho, and every other agent-memory product centralize user context on their servers. Sibyl Memory keeps the data on the user's disk. The plugin schema has no memory-content tables in our cloud — even with admin database access we cannot read what users have written. That's the difference between "we promise we don't" and "we structurally can't."

Sibyl Memory Typical hosted memory
Memory content lives... on user's disk on vendor's servers
Query latency local SQLite (sub-ms) round-trip + vector search
Privacy claim structurally enforced policy-only
Free-tier cost to vendor near-zero scales with users

Architecture: five tiers, not one bucket

The provider routes operations onto the appropriate memory tier instead of dumping everything into a single vector store:

Intent Tier Storage call
save the conversation turn COLD journal save_context(inputs, outputs)
remember a fact WARM entity remember(category, name, body)
current state HOT state set_state(key, body)
lookup a runbook REFERENCE set_reference(key, body)
archive stale entity ARCHIVE archive(category, name)
search by content FTS5 search(query)

Different intents, different lookups, no embedding model required. FTS5 covers full-text search out of the box.

Hermes contract

If Hermes v0.10.0+ is installed, SibylMemoryProvider inherits Hermes' MemoryProvider ABC at import time so framework-level isinstance checks pass. The contract methods:

  • save_context(inputs, outputs) → journal append
  • load_context(limit) → recent turns
  • clear_context() → no-op (journal is append-only by design)

If Hermes isn't installed, the provider still works standalone — any framework that calls these methods directly works.

Activation

Most users get here via the sibyl init CLI (from the sibyl-labs-cli package), which writes ~/.sibyl-memory/credentials.json after browser authentication. The provider auto-detects this file on construction.

For pre-activation use (e.g., in tests):

from sibyl_memory_hermes import SibylMemoryProvider

provider = SibylMemoryProvider(
    db_path="/tmp/test-memory.db",
    tenant_id="test-user",
)

Free tier

  • 10 MB local soft cap (gentle prompt — not a hard wall)
  • Single device
  • All five tiers (HOT/WARM/COLD/REFERENCE/ARCHIVE)
  • FTS5 full-text search
  • Multi-tenant isolation

Paid tiers (Sync, Lifetime, Stake, Enterprise) add cross-device encrypted blob sync, team features, and self-host options. See sibyllabs.org/plugin.

License

MIT. Source: github.com/sibyllabs/sibyl-memory-hermes.

Citation

Sibyl Memory currently holds #2 globally on the LongMemEval Oracle benchmark. The benchmark methodology and report are at blog.sibylcap.com/longmemeval-v2.

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

sibyl_memory_hermes-0.1.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

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

sibyl_memory_hermes-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file sibyl_memory_hermes-0.1.0.tar.gz.

File metadata

  • Download URL: sibyl_memory_hermes-0.1.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for sibyl_memory_hermes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7b6be65aa0a54072722cee41878da0bb3e923b0c64e05633126481326d4426f3
MD5 2ab5746e95b44052c3f5ef1a38e395f0
BLAKE2b-256 32b911a3ebbad1a4ba7118eac98649e430aefa0e396368cb2164ca6741aa8ca6

See more details on using hashes here.

File details

Details for the file sibyl_memory_hermes-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sibyl_memory_hermes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90ba2db889a67b0e320f63480f74a3b85483fc123b96c7cffda460ad9cd7eb82
MD5 9247cb955bc219c1896bf758f5d0d6f3
BLAKE2b-256 bbc385640c0672933eec95f86065700366be5c8a41b78051e6c7eca10fcbc9a3

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