Skip to content

Commit e417757

Browse files
tcconnallytcconnally
andauthored
fix(onboarding): finish Mimir → Perseus Vault rename on the deploy surface (#429)
Client setup docs, MCP packaging manifests, framework integration docs, transport docs, the clawhub skill, and awesome-mimir.md still used the old `mimir` command and stale `~/.mimir/data/mimir.db` paths, so a fresh operator copy-pasting any snippet got a config pointing at a binary the installer no longer produces. All now use `perseus-vault` + the canonical `~/.mimir/data/perseus-vault.db` default. manifest.json 2.13.0 -> 2.14.0; awesome-mimir tool count 36 -> 55. The ~/.mimir/ dir is left for #427's shim. (bootstrap.sh was already repaired on main by #425/#424; not re-touched.) Co-authored-by: tcconnally <hermes@perseus.observer>
1 parent af38db8 commit e417757

12 files changed

Lines changed: 139 additions & 124 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ All notable changes to Perseus Vault (formerly Mimir/Mneme) are documented here.
2525
success then fail to find the binary). It now builds/installs `perseus-vault`
2626
with `mimir`/`mneme` compat symlinks, defaults to `perseus-vault.db`, and
2727
uses the `serve` subcommand — matching `scripts/install.sh` (#424).
28+
- Onboarding/deploy surface completed the Mimir → Perseus Vault rename: client
29+
setup docs (`docs/clients/README.md`, all 8 copy-paste snippets), MCP
30+
packaging (`smithery.yaml`, `manifest.json` version `2.13.0``2.14.0`),
31+
framework integration docs (langgraph/autogen + `docs/integration/*`),
32+
transport docs, the clawhub skill, and `awesome-mimir.md` (tool count
33+
`36``55`) now use the `perseus-vault` command and the canonical
34+
`~/.mimir/data/perseus-vault.db` default path. Fresh operators copy-pasting
35+
any client/integration snippet now get a working config that matches the
36+
installed binary. The `~/.mimir/` support directory is intentionally
37+
unchanged pending the migration-shim work in #427.
2838

2939
### Added
3040
- History retention mechanism (#398): entity_history can now be bounded via

awesome-mimir.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ Perseus Vault works with any MCP host. Configuration is one line:
5353
```json
5454
{
5555
"mcpServers": {
56-
"mimir": {
57-
"command": "mimir",
58-
"args": ["serve", "--db", "~/.mimir/data/mimir.db"]
56+
"perseus-vault": {
57+
"command": "perseus-vault",
58+
"args": ["serve", "--db", "~/.mimir/data/perseus-vault.db"]
5959
}
6060
}
6161
}
@@ -71,7 +71,7 @@ Tested and confirmed working with:
7171

7272
## Tools & Plugins
7373

74-
### Perseus Vault Itself (36 MCP Tools)
74+
### Perseus Vault Itself (55 MCP Tools)
7575

7676
| Category | Tools |
7777
|---|---|
@@ -111,7 +111,7 @@ Why Perseus Vault stands out:
111111

112112
| Feature | Perseus Vault | Mem0 | Letta | Zep |
113113
|---|---|---|---|---|
114-
| **MCP-Native** |36 tools ||||
114+
| **MCP-Native** |55 tools ||||
115115
| **Local-First** | ✅ Single binary | ❌ Cloud-dependent | ❌ Docker + Postgres | ❌ Docker + Postgres |
116116
| **Zero Dependencies** | ✅ SQLite bundled | ❌ Python + vector DB | ❌ Python + Postgres | ❌ Go + Postgres |
117117
| **Encryption at Rest** | ✅ AES-256-GCM ||||

clawhub/skills/mimir/SKILL.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,17 +85,17 @@ Choose one:
8585
**Download binary (fastest):**
8686
```bash
8787
# Linux x86_64
88-
curl -L https://github.com/Perseus-Computing-LLC/perseus-vault/releases/latest/download/mimir-linux-x86_64 -o mimir
89-
chmod +x mimir
90-
sudo mv mimir /usr/local/bin/
88+
curl -L https://github.com/Perseus-Computing-LLC/perseus-vault/releases/latest/download/perseus-vault-x86_64-unknown-linux-gnu -o perseus-vault
89+
chmod +x perseus-vault
90+
sudo mv perseus-vault /usr/local/bin/
9191
```
9292

9393
**Build from source (requires Rust):**
9494
```bash
9595
git clone https://github.com/Perseus-Computing-LLC/perseus-vault.git
9696
cd perseus-vault
9797
cargo build --release
98-
sudo cp target/release/mimir /usr/local/bin/
98+
sudo cp target/release/perseus-vault /usr/local/bin/
9999
```
100100

101101
**Python client (optional, for scripts):**
@@ -111,7 +111,7 @@ Add to your OpenClaw MCP servers config:
111111
{
112112
"mcpServers": {
113113
"mimir": {
114-
"command": "mimir",
114+
"command": "perseus-vault",
115115
"args": ["--db", "~/.openclaw/mimir/mimir.db"],
116116
"env": {
117117
"MIMIR_ENCRYPTION_KEY": "${MIMIR_ENCRYPTION_KEY}"
@@ -126,7 +126,7 @@ For semantic search with embeddings, also set:
126126
{
127127
"mcpServers": {
128128
"mimir": {
129-
"command": "mimir",
129+
"command": "perseus-vault",
130130
"args": [
131131
"--db", "~/.openclaw/mimir/mimir.db",
132132
"--llm-endpoint", "http://localhost:11434"
@@ -156,10 +156,10 @@ Without an encryption key, Mimir stores data unencrypted (still local).
156156
mkdir -p ~/.openclaw/mimir
157157

158158
# Start Mimir once to initialize
159-
mimir --db ~/.openclaw/mimir/mimir.db --health
159+
perseus-vault --db ~/.openclaw/mimir/mimir.db --health
160160

161161
# Verify it's running
162-
mimir --db ~/.openclaw/mimir/mimir.db --stats
162+
perseus-vault --db ~/.openclaw/mimir/mimir.db --stats
163163
```
164164

165165
Then start a new OpenClaw session. Your agent now has access to all 23 Mimir memory tools.
@@ -168,7 +168,7 @@ Then start a new OpenClaw session. Your agent now has access to all 23 Mimir mem
168168

169169
```bash
170170
# Start the web dashboard on port 8789
171-
mimir --db ~/.openclaw/mimir/mimir.db --dashboard --port 8789
171+
perseus-vault --db ~/.openclaw/mimir/mimir.db --dashboard --port 8789
172172
# Open http://localhost:8789
173173
```
174174

@@ -203,13 +203,13 @@ Pair Mimir with these ClawHub skills for a complete memory stack:
203203
To run Mimir in CI or scheduled jobs:
204204
```bash
205205
# Start Mimir in the background
206-
mimir --db /tmp/mimir_ci.db &
206+
perseus-vault --db /tmp/mimir_ci.db &
207207

208208
# Run a coherence grooming pass nightly
209-
mimir --db ~/.openclaw/mimir/mimir.db --cohere
209+
perseus-vault --db ~/.openclaw/mimir/mimir.db --cohere
210210

211211
# Export to vault for git backup
212-
mimir --db ~/.openclaw/mimir/mimir.db --vault-export ~/mimir-vault/
212+
perseus-vault --db ~/.openclaw/mimir/mimir.db --vault-export ~/mimir-vault/
213213
```
214214

215215
## Links

docs/clients/README.md

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
# Mimir — MCP Client Setup
1+
# Perseus Vault — MCP Client Setup
22

3-
Mimir is a standard **MCP stdio server**, so it works with every MCP-compatible
3+
Perseus Vault is a standard **MCP stdio server**, so it works with every MCP-compatible
44
client. The command is always the same:
55

66
```
7-
mimir serve --db ~/.mimir/data/mimir.db
7+
perseus-vault serve
88
```
99

10-
Run `mimir doctor` to validate your install and print this matrix locally.
11-
Run `mimir connect --client <name>` to auto-wire a client's config file
12-
(merges a `mimir` MCP stanza into it, backing up the original first — no
10+
Run `perseus-vault doctor` to validate your install and print this matrix locally.
11+
Run `perseus-vault connect --client <name>` to auto-wire a client's config file
12+
(merges a `perseus-vault` MCP stanza into it, backing up the original first — no
1313
manual JSON/YAML/TOML editing required).
14-
Run `mimir prepare --task "<what you're about to do>"` for a pre-turn
14+
Run `perseus-vault prepare --task "<what you're about to do>"` for a pre-turn
1515
memory-prep block — combines `recall_when` (proactive trigger matches
1616
against the task text) and `context` (always-on + recent entities) into a
1717
single `<memory-prep>...</memory-prep>` block, zero LLM calls, ~10-50ms.
1818
Wire it into a Hermes/agent pre-turn hook so relevant memories are pushed
1919
into context before the model sees the prompt, instead of depending on the
20-
agent remembering to call `mimir_recall_when` itself. `--json` emits
20+
agent remembering to call `perseus_vault_recall_when` itself. `--json` emits
2121
structured output for programmatic hooks.
2222

2323
| Client | Status | Config file | Notes |
@@ -36,49 +36,51 @@ structured output for programmatic hooks.
3636

3737
### Claude Desktop — `claude_desktop_config.json`
3838
```json
39-
{ "mcpServers": { "mimir": { "command": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } }
39+
{ "mcpServers": { "perseus-vault": { "command": "perseus-vault", "args": ["serve"] } } }
4040
```
4141

4242
### Claude Code — `.mcp.json` (project root)
4343
```json
44-
{ "mcpServers": { "mimir": { "command": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } }
44+
{ "mcpServers": { "perseus-vault": { "command": "perseus-vault", "args": ["serve"] } } }
4545
```
4646

4747
### Hermes — `~/.hermes/config.yaml`
4848
```yaml
4949
mcp_servers:
50-
mimir:
51-
command: mimir
52-
args: ["serve", "--db", "~/.mimir/data/mimir.db"]
50+
perseus-vault:
51+
command: perseus-vault
52+
args: ["serve"]
5353
```
5454
5555
### Cursor — `.cursor/mcp.json`
5656
```json
57-
{ "mcpServers": { "mimir": { "command": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } }
57+
{ "mcpServers": { "perseus-vault": { "command": "perseus-vault", "args": ["serve"] } } }
5858
```
5959

6060
### Windsurf — `mcp_config.json`
6161
```json
62-
{ "mcpServers": { "mimir": { "command": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } }
62+
{ "mcpServers": { "perseus-vault": { "command": "perseus-vault", "args": ["serve"] } } }
6363
```
6464

6565
### VS Code + Continue.dev — `config.json`
6666
```json
67-
{ "mcpServers": { "mimir": { "command": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } }
67+
{ "mcpServers": { "perseus-vault": { "command": "perseus-vault", "args": ["serve"] } } }
6868
```
6969

7070
### Zed — `settings.json`
7171
```json
72-
{ "context_servers": { "mimir": { "command": { "path": "mimir", "args": ["serve", "--db", "~/.mimir/data/mimir.db"] } } } }
72+
{ "context_servers": { "perseus-vault": { "command": { "path": "perseus-vault", "args": ["serve"] } } } }
7373
```
7474

7575
### Codex CLI — `~/.codex/config.toml`
7676
```toml
77-
[mcp_servers.mimir]
78-
command = "mimir"
79-
args = ["serve", "--db", "~/.mimir/data/mimir.db"]
77+
[mcp_servers.perseus-vault]
78+
command = "perseus-vault"
79+
args = ["serve"]
8080
```
8181

82-
> Use an absolute `--db` path if your client runs Mimir from a different working
83-
> directory. Everything else is identical across clients because Mimir speaks
84-
> plain MCP stdio.
82+
> `perseus-vault serve` defaults its database to `~/.mimir/data/perseus-vault.db`
83+
> (with a legacy fallback chain). Pass an absolute `--db` path if your client
84+
> runs Perseus Vault from a different working directory or you want a specific
85+
> location. Everything else is identical across clients because Perseus Vault
86+
> speaks plain MCP stdio.

docs/integration/claude-code.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ cargo install --git https://github.com/Perseus-Computing-LLC/perseus-vault
1818

1919
Verify:
2020
```bash
21-
mimir --version
22-
# Expected: mimir 1.0.1
21+
perseus-vault --version
22+
# Expected: perseus-vault 2.14.0
2323
```
2424

2525
### 2. Create a data directory
@@ -40,15 +40,15 @@ Create `.mcp.json` in your project root:
4040
```json
4141
{
4242
"mcpServers": {
43-
"mimir": {
44-
"command": "mimir",
45-
"args": ["--db", "/home/YOUR_USER/.mimir/data/mimir.db"]
43+
"perseus-vault": {
44+
"command": "perseus-vault",
45+
"args": ["--db", "/home/YOUR_USER/.mimir/data/perseus-vault.db"]
4646
}
4747
}
4848
}
4949
```
5050

51-
Replace `/home/YOUR_USER/.mimir/data/mimir.db` with the absolute path to your
51+
Replace `/home/YOUR_USER/.mimir/data/perseus-vault.db` with the absolute path to your
5252
database. Do NOT use `~` — tilde expansion may not work in the MCP spawn context.
5353

5454
**Global** (applies to all projects):
@@ -103,12 +103,12 @@ Claude Code will call `mimir_journal` to append a structured event.
103103
### Perseus Vault tools don't appear
104104

105105
1. **Absolute paths:** Ensure the `--db` argument uses a full absolute path.
106-
`/home/user/.mimir/data/mimir.db` not `~/.mimir/data/mimir.db`.
106+
`/home/user/.mimir/data/perseus-vault.db` not `~/.mimir/data/perseus-vault.db`.
107107

108-
2. **Binary on PATH:** Run `which mimir`. If not found, install it or use
109-
the full path in the `command` field: `/usr/local/bin/mimir`.
108+
2. **Binary on PATH:** Run `which perseus-vault`. If not found, install it or use
109+
the full path in the `command` field: `/usr/local/bin/perseus-vault`.
110110

111-
3. **Database writable:** The directory containing `mimir.db` must be writable
111+
3. **Database writable:** The directory containing `perseus-vault.db` must be writable
112112
by the user running Claude Code.
113113

114114
4. **Restart Claude Code:** MCP servers are discovered at startup. After
@@ -118,20 +118,20 @@ Claude Code will call `mimir_journal` to append a structured event.
118118

119119
```bash
120120
chmod 755 ~/.mimir/data
121-
chmod 644 ~/.mimir/data/mimir.db
121+
chmod 644 ~/.mimir/data/perseus-vault.db
122122
```
123123

124124
### Perseus Vault exits immediately
125125

126126
Run Perseus Vault manually to check for startup errors:
127127

128128
```bash
129-
mimir --db ~/.mimir/data/mimir.db
129+
perseus-vault --db ~/.mimir/data/perseus-vault.db
130130
# Should hang waiting for stdin (this is correct — MCP stdio server)
131131

132132
# If it exits with an error, check:
133-
# - SQLite is available (ldd $(which mimir) | grep sqlite)
134-
# - Database file is not corrupted (mimir --db /tmp/test.db to try a fresh DB)
133+
# - SQLite is available (ldd $(which perseus-vault) | grep sqlite)
134+
# - Database file is not corrupted (perseus-vault --db /tmp/test.db to try a fresh DB)
135135
```
136136

137137
### Multiple Claude Code instances
@@ -140,7 +140,7 @@ SQLite WAL mode supports concurrent readers. If you see "database is locked",
140140
another process has an exclusive lock. Kill orphaned Perseus Vault processes:
141141

142142
```bash
143-
ps aux | grep '[m]imir'
143+
ps aux | grep '[p]erseus-vault'
144144
kill <PID>
145145
```
146146

@@ -151,9 +151,9 @@ kill <PID>
151151
```json
152152
{
153153
"mcpServers": {
154-
"mimir": {
155-
"command": "mimir",
156-
"args": ["--db", "/home/YOU/projects/my-project/.mimir/mimir.db"]
154+
"perseus-vault": {
155+
"command": "perseus-vault",
156+
"args": ["--db", "/home/YOU/projects/my-project/.mimir/perseus-vault.db"]
157157
}
158158
}
159159
}
@@ -166,7 +166,7 @@ This keeps project memories isolated.
166166
Perseus Vault includes an optional web dashboard for browsing entities:
167167

168168
```bash
169-
mimir --db ~/.mimir/data/mimir.db --web --port 8767
169+
perseus-vault --db ~/.mimir/data/perseus-vault.db --web --port 8767
170170
```
171171

172172
Open `http://localhost:8767` in a browser. The dashboard shows entity lists,
@@ -177,18 +177,18 @@ search, graph visualization, and journal events.
177177
Generate a key and use it:
178178

179179
```bash
180-
mimir keygen --key-file ~/.mimir/secret.key
180+
perseus-vault keygen --key-file ~/.mimir/secret.key
181181
```
182182

183183
Then in `.mcp.json`:
184184

185185
```json
186186
{
187187
"mcpServers": {
188-
"mimir": {
189-
"command": "mimir",
188+
"perseus-vault": {
189+
"command": "perseus-vault",
190190
"args": [
191-
"--db", "/home/YOU/.mimir/data/mimir.db",
191+
"--db", "/home/YOU/.mimir/data/perseus-vault.db",
192192
"--encryption-key", "/home/YOU/.mimir/secret.key"
193193
]
194194
}

0 commit comments

Comments
 (0)