Membase memory provider package for Hermes Agent
Project description
Membase Plugin for Hermes Agent
Persistent long-term memory for Hermes Agent using hybrid vector search and a knowledge graph.
Website · Docs · Dashboard · Issues
Give your Hermes Agent persistent memory that survives across sessions. Membase uses hybrid vector search and a knowledge graph to remember not just text, but entities, relationships, and facts.
Free to start: Sign up at app.membase.so and connect in under a minute.
Install
uv tool install hermes-membase && hermes-membase install
Hermes installs
uvautomatically, so this works out of the box.
Nouv? Usepip install hermes-membase && hermes-membase installinstead.
This single command does everything:
- Copies the self-contained plugin into
~/.hermes/plugins/membase/ - Sets
memory.provider: membasein~/.hermes/config.yaml - Writes default config to
~/.hermes/membase.json - Opens a browser window for OAuth login
Pass --skip-login to defer the login step and run hermes-membase login later.
Setup
hermes-membase login
Opens a browser for OAuth authentication. Tokens are saved automatically, so there are no API keys to copy and paste.
How It Works
Once installed, the plugin runs automatically on every Hermes session:
User message
│
▼
┌─────────────────────────┐
│ Auto-Recall │ Searches Membase for relevant memories
│ (queue_prefetch) │ and injects them as context next turn
└───────────┬─────────────┘
▼
┌─────────────────────────┐
│ AI Response │ Agent can call memory and wiki tools
│ │ (membase_search, membase_wiki_add, etc.)
└───────────┬─────────────┘
▼
┌─────────────────────────┐
│ Auto-Capture │ Buffers messages, flushes to Membase
│ (on_session_end) │ for entity/relationship extraction
└───────────┬─────────────┘
▼
┌─────────────────────────┐
│ Mirror Built-in │ Mirrors Hermes MEMORY.md writes to
│ (on_memory_write) │ Membase for cross-session persistence
└───────────┬─────────────┘
▼
┌─────────────────────────┐
│ Membase Backend │ Hybrid vector search + knowledge graph
│ (api.membase.so) │
└─────────────────────────┘
- Auto-Recall: Before every AI turn, searches memory and wiki context (when enabled) and injects relevant snippets. Skips casual chat and short messages. Respects a
maxRecallCharsbudget (default 4000) to avoid oversized context. - Auto-Capture: Buffers conversation turns and flushes them to Membase at session end. Flushes after 5 minutes of silence or 20 messages. Requires at least 2 messages and 50+ characters total to avoid capturing one-off queries.
- Mirror Built-in: When Hermes writes to its built-in
MEMORY.mdvia thememorytool, those writes are automatically mirrored to Membase in the background. A local hash index prevents duplicates. - Knowledge Graph: Unlike simple vector-only memory, Membase uses hybrid vector search and a knowledge graph to store entities, relationships, and facts.
AI Tools
The agent uses these tools autonomously during conversations:
| Tool | Description |
|---|---|
membase_search |
Search memories by semantic similarity. Supports date filtering (date_from, date_to, timezone) and source filtering (sources). Returns episode bundles with related facts. |
membase_store |
Save important information to long-term memory. Use for preferences, goals, decisions, and context. |
membase_forget |
Delete a memory. Shows matches first, then deletes after confirmation (two-step). |
membase_profile |
Retrieve user profile and related memories for session context. |
membase_wiki_search |
Search wiki documents for stable factual references. |
membase_wiki_add |
Create a wiki document from markdown content. |
membase_wiki_update |
Update title, content, or collection of an existing wiki document. |
membase_wiki_delete |
Delete a wiki document. |
CLI Commands
hermes-membase install # One-shot install and OAuth login
hermes-membase login # OAuth login (PKCE): opens browser
hermes-membase logout # Remove stored tokens
hermes-membase status # Check API connectivity and profile
hermes-membase search "<query>" # Search memories from the terminal
hermes-membase resync # Rebuild mirror index from MEMORY.md
hermes-membase resync --dry-run # Preview resync without writing
These are also available as hermes membase <cmd> from inside the Hermes TUI after installation.
Configuration
Config is stored in ~/.hermes/membase.json. All keys are optional and have sensible defaults:
| Key | Type | Default | Description |
|---|---|---|---|
tokenFile |
string | ~/.hermes/credentials/membase.json |
OAuth token cache path. Stored outside the plugin directory so it survives updates. |
autoRecall |
boolean | false |
Inject relevant memories before every AI turn. |
autoWikiRecall |
boolean | false |
Inject relevant wiki documents before every AI turn. |
autoCapture |
boolean | true |
Automatically store conversations to Membase. |
mirrorBuiltin |
boolean | true |
Mirror Hermes built-in memory writes to Membase. |
maxRecallChars |
number | 4000 |
Max characters of injected memory context per turn (500-16000). |
debug |
boolean | false |
Enable verbose debug logs. |
Example ~/.hermes/membase.json:
{
"autoRecall": true,
"autoCapture": true,
"mirrorBuiltin": true,
"maxRecallChars": 4000
}
How Membase Differs
| Simple vector memory | Membase | |
|---|---|---|
| Storage | Flat embeddings | Hybrid: vector embeddings + knowledge graph |
| Search | Vector similarity only | Vector + graph traversal (entities, relationships, facts) |
| Extraction | Store raw text | AI-powered entity/relationship extraction |
| Auth | API key | OAuth 2.0 with PKCE (no secrets to manage) |
| Ingest | Synchronous | Async pipeline (~100ms response, background graph sync) |
Development
git clone https://github.com/aristoapp/hermes-membase.git
cd hermes-membase
python3 -m venv .venv
.venv/bin/pip install -e .
Contributing
Contributions welcome. See CONTRIBUTING.md for guidelines.
Links
- Membase: Website
- Dashboard: Manage your memories
- Docs: Full documentation
- Hermes Agent: AI agent framework by Nous Research
License
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_membase-0.1.1.tar.gz.
File metadata
- Download URL: hermes_membase-0.1.1.tar.gz
- Upload date:
- Size: 26.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae6dd8d4aaa576273967987f1c8d3afbf2e97f70da5961e2c7ba836f6122224e
|
|
| MD5 |
ea9173901a53105c810a7a67483a6a6b
|
|
| BLAKE2b-256 |
6923960127c166560a4fe73b0ac432c04ec00222d80194babca3237f52db8c16
|
File details
Details for the file hermes_membase-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hermes_membase-0.1.1-py3-none-any.whl
- Upload date:
- Size: 32.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b95a625923bdcf30f2968e90d97c771eb9d9d8028af96560ce0d4032523ccfde
|
|
| MD5 |
59aa4ce64f7a3a4d64eea7fb2ead0e04
|
|
| BLAKE2b-256 |
9134f3aa00785f4bb3ff3920728e62dab6a8da8030729db3bea3d33a7f2e6e22
|