Important
This repo has moved. The plugin now lives in NousResearch/hermes-official-plugins/memory-wiki, the single repo for Nous's official Hermes plugins. Its history, open issues and pull requests went with it, and this repo is archived.
Already installed? hermes plugins update moves you to the new home automatically. New install: hermes plugins install from the plugin catalog.
Memory Wiki dashboard plugin for Hermes Agent:
a browsable session-history wiki (subject pages and daily logs derived deterministically from
your local state.db) plus a read-only Persistent Memory audit panel showing the MEMORY.md /
USER.md entries the agent actually carries into every session.
No LLM calls, no writes: the plugin opens state.db read-only through the public
hermes_state.SessionDB API and only reads memory files. Editing memory stays with the memory
tool (prompt-cache safe).
A Memory Wiki tab in hermes dashboard (after Sessions) with:
- Subjects — topics extracted from session titles, file paths, tool names, slash commands, quoted phrases and CamelCase identifiers; each subject page lists related sessions and snippets.
- Daily logs — per-day activity with sessions, subjects and "what we did" work items.
- Recent activity — the ten most recently active sessions.
- Persistent Memory — agent notes and user profile entries, rendered exactly as the memory tool parses them, so you can audit what the agent remembers.
Backend routes (mounted at /api/plugins/memory-wiki/, behind the dashboard's normal auth gate):
| Route | Returns |
|---|---|
GET /overview?subject_limit=&day_limit= |
subjects, daily logs, recent sessions, notes |
GET /subjects?q=&limit= |
subject list, optional substring filter |
GET /subjects/{slug} |
one subject (404 when unknown) |
GET /days?limit= |
daily logs |
GET /days/{date} |
one YYYY-MM-DD log (404 when unknown) |
Profile scoping is handled by the host (?profile=<name> on any REST call); the routes resolve
HERMES_HOME per request.
From the Nous plugin catalog (pinned, reviewed commit):
hermes plugins install hermes-memory-wiki --enableOr directly from this repository:
hermes plugins install https://github.com/NousResearch/hermes-memory-wiki --enableThen start (or restart) the dashboard — hermes dashboard — and open the Memory Wiki tab. The
plugin must be in plugins.enabled (the --enable flag or hermes plugins enable memory-wiki
does that); the web server never imports backend code from plugins you have not enabled.
Uninstall: hermes plugins remove memory-wiki.
Requires Hermes Agent ≥ 0.21 (dashboard plugin SDK with fetchJSON).
hermes-memory-wiki/
├── plugin.yaml # plugin manifest (name: memory-wiki)
├── __init__.py # register(ctx) — no tools/hooks; dashboard-only plugin
├── dashboard/
│ ├── manifest.json # tab declaration (/memory-wiki, icon Database)
│ ├── plugin_api.py # FastAPI router, mounted at /api/plugins/memory-wiki/
│ ├── memory_wiki_core.py # stdlib-only aggregation over SessionDB rows
│ ├── src/index.jsx # UI source (JSX, uses window.__HERMES_PLUGIN_SDK__)
│ └── dist/index.js # committed build artefact the dashboard loads
├── tests/ # pytest (needs a hermes-agent checkout, see conftest.py)
└── package.json # `npm run build` → dashboard/dist/index.js (esbuild)
npm install # esbuild only; React comes from the host SDK at runtime
npm run build # rebuild dashboard/dist/index.js — commit the result
HERMES_AGENT_REPO=~/.hermes/hermes-agent \
~/.hermes/hermes-agent/.venv/bin/python -m pytest tests/ -o "addopts="dashboard/dist/index.js is a plain IIFE; the dashboard caches it aggressively, so after a
rebuild restart the server or navigate away and back. Adding a manifest at runtime needs
GET /api/dashboard/plugins/rescan; changing plugin_api.py needs a server restart.
- Abdullah Raja (@Araja119) — original author of the Memory Wiki
(aggregation engine, API and dashboard page) in hermes-agent PR
#31244. Authorship is preserved via
Co-authored-bytrailers on the commits that carry that code. - Teknium / Nous Research — salvage and hardening in #89940 (Persistent Memory audit panel), and the conversion into this standalone plugin.
- The "show curated memory in the dashboard" idea was independently proposed earlier by @scotty87 in hermes-agent #33043.
MIT — see LICENSE.