Repository navigation
Conversation
The distribution is now named persistent-memory, version 0.4.0a1; the
import name stays hermes_memory. A new persistent-memory command adds
the memory to a client in one step:
persistent-memory setup claude-code | claude-desktop | cursor |
vscode | windsurf | codex | hermes-agent
Every client gets the same store, by default in the platform data
folder (XDG data home, Application Support, LOCALAPPDATA), and the
same workspace, so they share one memory. setup creates the store once;
the configured server does not recreate a missing store.
Safety rules: other entries are kept; an unparsable file is left alone
and the entry to add by hand is printed; an entry of the same name that
runs another server needs --force; existing files are backed up and
replaced atomically; a second run changes nothing; Codex TOML is
re-parsed and refused if anything else would change. Claude Code user
scope and Hermes Agent are configured through their own CLIs.
persistent-memory-mcp now defaults to the same store when --store and
PERSISTENT_MEMORY_DIR are absent. persistent-memory status shows which
client files already run this memory.
Tests: 26 new methods (324 public), including an end-to-end start of
the configured command over MCP. Core bytes unchanged. No new
dependency.
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.
Step 4 of the plan: one package, and one command to connect each tool. Stacked on #15.
What changes
persistent-memory, version 0.4.0a1. The import name stayshermes_memory. Releases up to 0.3.0a5 keep their old name; the docs say to uninstallhermes-memory-corefirst, since both contain the same module.persistent-memorycommand:setup <client>forclaude-code,claude-desktop,cursor,vscode(GitHub Copilot),windsurf,codexandhermes-agent, with--scope user|project,--store,--workspace,--name,--dry-run,--remove,--force;status: default store and which client files already run this memory;mcp: the MCP server itself.$XDG_DATA_HOMEor~/.local/share,~/Library/Application Support,%LOCALAPPDATA%), and the same workspace.setupcreates the store once; the configured server does not recreate a missing one.persistent-memory-mcpuses that same default when neither--storenorPERSISTENT_MEMORY_DIRis given.setupselects the memory provider (hermes config set memory.provider) and writes the store into the provider settings; otherwise it adds the MCP server throughhermes config set mcp_servers.*.Extras
Decision A planned extras per door. Since step 3 every door uses the standard library only, so they would be empty: this is one package with no extras and no dependency.
Safety rules of
setup--force.<file>.persistent-memory-<time>.bak, then replaced atomically; symlinks are followed; file mode is kept.Verification
tests/test_client_setup.py: 26 methods (324 public in total). 14 mutations of the setup module, all detected.scripts/check_distributions.py, wheel and rebuilt sdist): memory 324 and registry 49, no failure, error or skip, on Python 3.11 and 3.12 in Docker (Linux), and on Python 3.13 in a separate Linux environment.setup claude-coderegistered the server, a second run reported it unchanged,claude mcp listshowed it connected.codex mcp listandcodex mcp getread the entry written bysetup codex.hermes memory statusshowedpersistent-memoryactive and available. With a local 9B model, Hermes Agent stored a fact withmemory_remember; the server configured for Claude Code and Codex found it withmemory_search.Core bytes unchanged (
80c55792...).PROVENANCE.jsonupdated.