hermes-penfield

July 1, 2026 · View on GitHub

Penfield persistent memory provider for Hermes Agent.

Connects Hermes Agent to the Penfield memory API. Exposes 17 tools mirroring the Penfield MCP surface. Stdlib-only HTTP, OAuth device-code

  • API-key authentication, dev/prod environment switching.

Penfield gives Hermes cross-session, cross-agent memory with hybrid search (BM25 + vector + graph), typed connections (24 relationship types), and artifact storage.


Requirements

Install

hermes plugins install penfieldlabs/hermes-penfield --enable

That's it. Hermes clones the repo, drops it into ~/.hermes/plugins/penfield/, and enables it. The plugin is self-contained — no pip install needed.

Configure

Set memory.provider: penfield in ~/.hermes/config.yaml:

hermes config set memory.provider penfield

Then authenticate:

hermes penfield login

Or set an API key directly in ~/.hermes/.env:

PENFIELD_API_KEY=tm_pf_yourtenant_ak_yourkey
PENFIELD_ENV=prod

When context compression discards messages, the provider saves a Penfield checkpoint capturing the relevant memories from your knowledge graph. On by default; set pre_compress_save: false in penfield/config.json to disable.

Use

hermes

The persona and persistent context load automatically on every session. The 17 tools are available to the agent:

ToolWhat it does
penfield_awakenLoad persona + persistent context briefing
penfield_storeStore a memory (auto-detected type)
penfield_recallHybrid search (BM25 + vector + graph)
penfield_searchSemantic search for fuzzy concept matching
penfield_fetchGet a memory by ID
penfield_update_memoryUpdate a memory
penfield_connectCreate a relationship between memories
penfield_disconnectRemove a relationship between memories
penfield_exploreTraverse the knowledge graph from a memory
penfield_reflectAnalyze memory patterns over a time window
penfield_save_artifactStore a file (not searchable via recall)
penfield_retrieve_artifactGet a stored file by path
penfield_list_artifactsList files under a directory prefix
penfield_delete_artifactDelete a stored file by path
penfield_list_contextsList saved context checkpoints
penfield_restore_contextRestore a checkpoint by name
penfield_save_contextCreate a checkpoint with reference parsing

Development

git clone https://github.com/penfieldlabs/hermes-penfield.git
cd hermes-penfield
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest -m "not integration"

License

MIT. Copyright (C) 2026 Penfield.