Skip to main content

sibyl-memory-hermes

Sibyl Memory SDK + bundled Hermes plugin payload. Local-first, SQLite-backed, structured-tier memory for Hermes v0.13+ (and any Python orchestration that wants direct SDK access).

The package ships two things:

  1. SibylMemoryProvider: a framework-agnostic SDK class. Call it directly from any Python code that wants structured local memory.
  2. A bundled Hermes plugin payload: a thin adapter implementing Hermes v0.13's MemoryProvider ABC. Installed into $HERMES_HOME/plugins/sibyl/ by the sibyl-memory-hermes install-plugin console script.

Memory content lives on the user's own machine, never on our servers. Built on sibyl-memory-client, the SDK foundation.

Install (Hermes path)

Hermes' loader uses filesystem discovery, NOT pip entry points. A pip install alone won't make Sibyl visible to Hermes: the install-plugin console script bridges the gap.

pip install sibyl-memory-hermes
sibyl-memory-hermes install-plugin

Sibyl Memory runs on Linux, macOS (Apple Silicon and Intel), and Windows through WSL2. Native Windows is not supported.

Then edit ~/.hermes/config.yaml:

memory:
  provider: sibyl

Restart Hermes. Four tools become available to the agent:

  • sibyl_remember(category, name, body): store a structured fact
  • sibyl_recall(category, name): look up a known fact
  • sibyl_search(query). FTS5 search across all four tiers (entities, state, journal, reference); hits are tier-tagged
  • sibyl_list(category?, status?): browse what's remembered

Optional: lift the 5 MB free-tier cap by binding your account:

pip install sibyl-memory-cli
sibyl init

Direct SDK use (any Python orchestration)

from sibyl_memory_hermes import SibylMemoryProvider

provider = SibylMemoryProvider()         # auto-loads ~/.sibyl-memory/credentials.json
provider.remember("project", "atlas", {"status": "shipping v2 friday"})
provider.recall("project", "atlas")      # → {id, tenant_id, category, name, body, ...}
provider.set_state("active_branch", {"name": "v0.3.1"})
provider.save_context(
    inputs={"user": "what changed in v0.3.1?"},
    outputs={"assistant": "..."},
)
provider.search("v0.3.1")                # FTS5 across entities + state + reference + journal

Environment overrides

Var Default What it does
SIBYL_TENANT_ID unset Non-secret tenant override. When set to a non-empty value it becomes the active tenant and wins over the tenant in credentials.json. Blank or unset leaves tenant resolution untouched. This is an identifier, not a secret.

Precedence: explicit SIBYL_TENANT_ID > credentials.json (tenant_id then account_id) > the shared default tenant. Set it when one machine or container needs to target a specific tenant without editing the credential file.

Why "local-first"?

Mem0, Zep, Honcho, and most other agent-memory products centralize user context on their servers. The Sibyl Memory Plugin keeps the data on the user's disk. Our cloud schema has no memory-content tables. Even with admin DB 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 Plugin 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 cross-tier search(query) → tier-tagged hits

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

Hermes contract

The Hermes plugin is implemented by a bundled adapter at _hermes_plugin/adapter.py. The adapter is copied into $HERMES_HOME/plugins/sibyl/ by the install-plugin console script and is what Hermes' filesystem loader picks up. The adapter implements Hermes v0.13's MemoryProvider ABC and delegates every call to SibylMemoryProvider. Verified against hermes-agent through 0.19.0 (current): the adapter loads via the live ABC and instantiates cleanly.

The SDK class itself (SibylMemoryProvider) is framework-agnostic: it does not inherit from any framework ABC. This is the v0.3.0 architecture shift. v0.2.x and earlier attempted soft-inheritance via a broken import path; that path was removed and the adapter pattern replaced it.

Activation

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

For pre-activation use (tests, internal tooling):

from sibyl_memory_hermes import SibylMemoryProvider

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

Free tier

  • 5 MB local soft cap (with server-authoritative tier verification at the cap boundary)
  • Single device
  • All five tiers (HOT/WARM/COLD/REFERENCE/ARCHIVE)
  • FTS5 full-text search across entities + state + reference + journal
  • Multi-tenant isolation
  • Per-profile memory isolation: each Hermes profile gets its own DB automatically (<HERMES_HOME>/sibyl/profiles/<name>/memory.db), so specialist agents don't share or leak memory

Paid tiers (Stake, Sync, Lifetime, Enterprise) unlock self-learning, the memory check-up, no cap, and (in build) cross-device encrypted sync. See docs.sibyllabs.org/memory/tiers.

Documentation

License

MIT. Package on PyPI: pypi.org/project/sibyl-memory-hermes.

Citation

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

Metadata

Release files for sibyl-memory-hermes 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sibyl-memory-hermes 0.4.1
File Size Uploaded
sibyl_memory_hermes-0.4.1.tar.gz 63.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sibyl-memory-hermes 0.4.1
File Interpreter ABI Platform
sibyl_memory_hermes-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 108.4 kB

Release files / sibyl_memory_hermes-0.4.1.tar.gz

Download URL sibyl_memory_hermes-0.4.1.tar.gz
Size 63.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c445022f6e20e5e27b19d0feb92ba0c505a535f393530d3f1740ad968228ce0f
BLAKE2b-256 checksum
How to use checksums
51aa91f01461c52dc71312a9248fbb9d5942e454947c106f13e6f4b033f8a825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / sibyl_memory_hermes-0.4.1-py3-none-any.whl

Download URL sibyl_memory_hermes-0.4.1-py3-none-any.whl
Size 44.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0ce0df414347cb83e13284cb60ebe975123f81bdc16081e05ddbd2ed6b40491
BLAKE2b-256 checksum
How to use checksums
ffce68e56e9aa7fd3983dfdf0ebcb92e7b37de7c36116b6d20b15d470713165c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.16

2 release files

0.3.15

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page