feat(hermes): Hermes Agent platform plugin — hookless capture from state.db + SKILL.md recall - #671
Open
arrrrny wants to merge 5 commits into
Open
feat(hermes): Hermes Agent platform plugin — hookless capture from state.db + SKILL.md recall#671arrrrny wants to merge 5 commits into
arrrrny wants to merge 5 commits into
Conversation
….md recall Hermes (Nous Research) stores sessions in ~/.hermes/state.db, so this plugin mirrors the OpenCode SQLite-capture model with a cron/launchd poller (hermes-capture.py -> daily .md -> memsearch index) and the Claude-Code SKILL.md recall model (memsearch-recall skill: search -> expand -> transcript via parse-transcript.py). Shares the same .memsearch format + per-project Milvus collection as the other four platforms. Includes install.sh, scripts, skills, prompts, README, and the full docs/platforms/hermes/ pages plus the platform comparison table rows (docs/index.md + docs/platforms/index.md). Closes the Hermes platform gap tracked in zilliztech#670.
The shared daily .md is written by multiple agents (Claude Code, Hermes, ...); align the Hermes turn labels with the Claude plugin's [User]:/[Assistant]: convention so the cross-agent file reads consistently.
…del) - plugins/hermes/server/memsearch_mcp_server.py: fastmcp server exposing memory_search/get/transcript/capture; capture+transcript read state.db; memory home = dedicated folder (HERMES_MEMORY_HOME, default ~/hermes) - install.sh: venv + hermes mcp add + capture daemon instructions - docs: all four pages rewritten MCP-first; comparison tables updated (Hermes: memory_search tool (MCP)) - skill removed entirely (MCP is the only recall path)
- plugins/kimi/server/memsearch_mcp_server.py — 4 MCP tools (search/get/ transcript/capture); kimi-native transcript (wire.jsonl sessions) + the shared per-project collection search (cwd-based) - ~/.kimi-code/mcp.json registration (stdio command+args) — verified via a standalone handshake (initialize OK, 4 tools listed) - README with install + registration + tool table
This reverts commit 78d7f69.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a Hermes Agent platform integration (like the existing claude-code / openclaw / opencode / codex ones). Hermes (Nous Research) is a terminal/gateway agent framework with persistent sessions stored in a local SQLite DB (
~/.hermes/state.db,messages+sessionstables) — architecturally the closest analogue is the OpenCode plugin (SQLite-based capture).Architecture (proposed)
Capture — Hermes has no plugin hook system for capture, so use a background poller (cron/launchd) that reads
~/.hermes/state.dbfor new user/assistant turns (same shape asopencode_turns.py->parse-transcript.py), writes the sharedmemory/YYYY-MM-DD.mdformat, and re-indexes into the per-project Milvus collection. This mirrorscapture-daemon.pyexactly, with the state.db path as the only real difference.Recall — SKILL.md-based (like claude-code/codex): a
memsearch-recallskill exposing the three-layer flow (memsearch search->expand->transcriptreading Hermes state.db), registered in the project's AGENTS.md. Memory tools are invoked by the agent reading the skill, not via a runtime plugin API.Shared memory — same
.md+ collection as the other platforms, so memories captured in Hermes are searchable from Claude Code/OpenCode and vice versa.Deliverables for the PR
plugins/hermes/— capture script (hermes-capture.py),derive-collection.sh,parse-transcript.py(state.db), skills (memsearch-recall,memory-config), prompts, README, install.shdocs/platforms/hermes/— index, how-it-works, memory-tools/installation pages + the platform comparison table row[plugins.hermes.*]config support in the shared config handlingI already have a working prototype of the capture + recall skill running locally against a real Hermes
state.db(verified: turns land in the daily.md, indexed, searchable). Happy to implement the full PR.