Basic Memory
Integrations

Hermes Plugin

Give Hermes Agent persistent Basic Memory: search-before-answer recall, per-turn capture, end-of-session summaries, 10 agent tools, slash commands, and a bundled skill.

The hermes-basic-memory plugin connects Basic Memory to Hermes Agent, giving agents a persistent knowledge graph stored as plain Markdown. Hermes ships with no external memory provider by default; this plugin replaces that with a real graph — search-before-answer recall, automatic conversation capture, end-of-session summaries, and a curated set of bm_* tools the agent can call directly. The plugin is open source — browse the source on GitHub.

Slash commands need a Hermes Agent-side patch on current releases. The plugin's agent tools (bm_*) and auto-capture work as documented once installed. The native /bm-*slash commands, however, do not appear in gateway sessions on Hermes Agent releases through v0.14.0 / v2026.5.16 (verified 2026-05-16). This is a Hermes Agent plugin-loading gap — exclusive memory-provider plugins aren't loaded during gateway slash-command discovery — not a plugin bug. The plugin ships a best-effort workaround, but it isn't sufficient for gateway startup discovery in affected builds. Until the upstream Hermes fix lands, apply the Hermes Agent-side patch documented in MONKEYPATCH.md. This affects only the slash-command surface; nothing else in this page depends on it.
Requires Hermes Agent and uv on your PATH. The plugin auto-installs the bm CLI on first init via uv tool install basic-memory (a one-time ~10s pause if it isn't already present).

Installation

Install the plugin:

hermes plugins install basicmachines-co/hermes-basic-memory

Then activate it in ~/.hermes/config.yaml:

memory:
  provider: basic-memory

If you run the gateway, restart it:

hermes gateway restart

Verify the plugin is live:

hermes memory status
  Provider:  basic-memory
  Plugin:    installed ✓
  Status:    available ✓
The plugin needs the mcp Python package in the Hermes venv. hermes plugins install usually installs it from the plugin's pip_dependencies. If it doesn't, run uv pip install --python ~/.hermes/hermes-agent/venv/bin/python mcp.

Configuration

Defaults are reasonable for local use — no configuration required. To override, write ~/.hermes/basic-memory.json or run hermes memory setup basic-memory:

KeyDefaultDescription
modelocallocal (in-process) or cloud (route through Basic Memory Cloud)
projecthermes-memoryBasic Memory project name
project_path~/hermes-memory/Local mode only — where the project's files live
capture_per_turntrueAppend every user/assistant exchange to a session transcript note
capture_session_endtrueWrite a summary note when the session ends
capture_folderhermes-sessionsFolder for auto-captured session notes
remember_folderbm-rememberFolder for /bm-remember quick captures (kept separate from session transcripts)
{
  "mode": "local",
  "project": "hermes-memory",
  "project_path": "~/hermes-memory/",
  "capture_per_turn": true,
  "capture_session_end": true,
  "capture_folder": "hermes-sessions",
  "remember_folder": "bm-remember"
}

How It Works

Search-Before-Answer Recall

Before the agent answers a question about prior work, it searches the knowledge graph so it can build on what's already documented instead of starting cold. Recall is injected into context automatically each turn.

Auto-Capture

Every user/assistant exchange is appended to a running session-transcript note. When the session ends, a separate summary note is written and linked back to the transcript via a summary_of relation — so a session is both fully logged and quickly skimmable.

Persistent Connection

The plugin holds a long-lived bm mcp process open over stdio for the agent's lifetime (~0.1s per tool call). Shelling out to the bm CLI would spawn a fresh Python process per call (1–2s cold start) and bypass automatic capture — so the agent is steered to use the bm_* tools directly.

Cross-Project & Workspace Routing

Every read/write tool accepts an optional project (name, optionally workspace-qualified like "personal/main") or project_id (UUID from bm_projects). The agent can read or write against any project in your knowledge base without reconfiguring the plugin — and disambiguate same-named projects across cloud workspaces. See local/cloud routing for how project modes work.

In practice the Hermes agent gets:

  • Its own long-term memory — auto-captured conversations and summaries that persist across sessions
  • Access to external projects — search and write notes in any project, routed per call
  • Local/cloud hybrid — keep the agent's memory local while routing shared projects through Basic Memory Cloud; the tools behave identically either way

Agent Tools

The plugin exposes 10 tools (a curated subset of Basic Memory's MCP surface):

ToolDescription
bm_searchSemantic + full-text search; the agent calls this before answering
bm_readRead a note by title, permalink, or memory:// URL
bm_writeCreate a note (decisions, meeting notes, insights)
bm_editIncremental edits — append, prepend, find/replace, replace-section
bm_contextNavigate the graph via memory:// URLs to find related notes
bm_deleteDelete a note
bm_moveMove a note to a different folder
bm_recentList notes updated within a timeframe (default 7d)
bm_projectsList available projects with their UUIDs for routing
bm_workspacesList Basic Memory Cloud workspaces
Every read/write tool also accepts project / project_id for per-call routing. bm_projects and bm_workspaces are discovery tools — they list across everything and take no routing arguments.

Slash Commands

On Hermes Agent releases through v0.14.0 / v2026.5.16, these commands require the Hermes Agent-side patch in MONKEYPATCH.md — see the warning at the top of this page. The agent tools above are unaffected.

For direct, in-session use without going through the agent:

CommandDescription
/bm-search <query>Search the knowledge graph
/bm-read <identifier>Read a note by title, permalink, or memory:// URL
/bm-context <identifier>Show the context graph for a note
/bm-recent [timeframe]Recently updated notes (default 7d)
/bm-statusPlugin/provider status — mode, project, capture flags
/bm-remember <text>Quick-capture a note (title from the first line)
/bm-projectList available projects; the active one is marked
/bm-workspaceList Basic Memory Cloud workspaces (cloud mode)

Bundled Skill

The plugin ships a basic-memory skill that gives the agent a longer reference doc on top of the always-on guidance: the note format, cross-project routing, permalink shapes, and a worked discovery → route → write → verify recipe. It's opt-in via skill:view basic-memory:basic-memory.


Next Steps

MCP Tools Reference

Full reference for all Basic Memory MCP tools.

Local & Cloud Routing

Run some projects locally and others in the cloud.

Memory URLs

How memory:// addressing and permalinks work.

OpenClaw Plugin

The sibling plugin for OpenClaw agents.

GitHub Repository

Source code, issues, and contributing guide.