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

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 2 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

  • 2 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.0

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.0
File Size Uploaded
sibyl_memory_hermes-0.4.0.tar.gz 63.7 kB Details

Built distribution (wheel)

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

Total release size: 108.1 kB

Release files / sibyl_memory_hermes-0.4.0.tar.gz

Download URL sibyl_memory_hermes-0.4.0.tar.gz
Size 63.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cfbdfd54f3f12d74c5ed34b3949d84c3f9717a7946be05cacebb9b91c8ab896c
BLAKE2b-256 checksum
How to use checksums
ba1b97d1360b5c41600a4e82d76949fbd1b9f7cd97539eb78c7ac7b3af7a4001
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.0-py3-none-any.whl

Download URL sibyl_memory_hermes-0.4.0-py3-none-any.whl
Size 44.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
89d89d2ae1adaee845767fd0f219c5ddb4040ba6c40318e6334ad7956a57b633
BLAKE2b-256 checksum
How to use checksums
e6d8c26f13c64a1b136c5f08796fd7ca33c0ce49c98a8a41c02624a61045c18b
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

0.4.1

2 release files

This release

0.4.0 This release

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