hippo-memory 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -2
- package/dist/cli.d.ts +5 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +581 -211
- package/dist/cli.js.map +1 -1
- package/dist/consolidate.d.ts.map +1 -1
- package/dist/consolidate.js +12 -5
- package/dist/consolidate.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +149 -100
- package/dist/db.js.map +1 -1
- package/dist/handoff.d.ts +29 -0
- package/dist/handoff.d.ts.map +1 -0
- package/dist/handoff.js +30 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/search.d.ts +19 -0
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +35 -1
- package/dist/search.js.map +1 -1
- package/dist/store.d.ts +18 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +209 -99
- package/dist/store.js.map +1 -1
- package/dist/working-memory.d.ts +59 -0
- package/dist/working-memory.d.ts.map +1 -0
- package/dist/working-memory.js +149 -0
- package/dist/working-memory.js.map +1 -0
- package/extensions/openclaw-plugin/index.ts +569 -495
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,6 +43,18 @@ hippo recall "data pipeline issues" --budget 2000
|
|
|
43
43
|
|
|
44
44
|
That's it. You have a memory system.
|
|
45
45
|
|
|
46
|
+
### What's new in v0.9.0
|
|
47
|
+
|
|
48
|
+
- **Working memory layer** (`hippo wm push/read/clear/flush`). Bounded buffer (max 20 per scope) with importance-based eviction. Current-state notes live separately from long-term memory.
|
|
49
|
+
- **Session handoffs** (`hippo handoff create/latest/show`). Persist session summaries, next actions, and artifacts so successor sessions can resume without transcript archaeology.
|
|
50
|
+
- **Session lifecycle** with explicit start/end events, fallback session IDs, and `hippo session resume` for continuity.
|
|
51
|
+
- **Explainable recall** (`hippo recall --why`). See which terms matched, whether BM25 or embedding contributed, and the source bucket (layer, confidence, local/global).
|
|
52
|
+
- **`hippo current show`** for compact current-state display (active task + recent session events), ready for agent injection.
|
|
53
|
+
- **SQLite lock hardening**: `busy_timeout=5000`, `synchronous=NORMAL`, `wal_autocheckpoint=100`. Concurrent plugin calls no longer hit `SQLITE_BUSY`.
|
|
54
|
+
- **Consolidation batching**: all writes/deletes happen in a single transaction instead of N open/close cycles.
|
|
55
|
+
- **`--limit` flag** on `hippo recall` and `hippo context` to cap result count independently of token budget.
|
|
56
|
+
- **Plugin injection dedup guard** prevents double context injection on reconnect.
|
|
57
|
+
|
|
46
58
|
### What's new in v0.8.0
|
|
47
59
|
|
|
48
60
|
- **Hybrid search** blends BM25 keywords with cosine embedding similarity. Install `@xenova/transformers`, run `hippo embed`, recall quality jumps. Falls back to BM25 otherwise.
|
|
@@ -150,6 +162,50 @@ hippo context --auto --budget 1500
|
|
|
150
162
|
|
|
151
163
|
Hippo mirrors the latest trail to `.hippo/buffer/recent-session.md` so you can inspect the short-term thread without opening SQLite.
|
|
152
164
|
|
|
165
|
+
### Session handoffs
|
|
166
|
+
|
|
167
|
+
When you're done for the day (or switching to another agent), create a handoff so the next session knows exactly where to pick up:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
hippo handoff create \
|
|
171
|
+
--summary "Finished schema migration, tests green" \
|
|
172
|
+
--next "Wire handoff injection into context output" \
|
|
173
|
+
--session sess_20260403 \
|
|
174
|
+
--artifact src/db.ts
|
|
175
|
+
|
|
176
|
+
hippo handoff latest # show the most recent handoff
|
|
177
|
+
hippo handoff show 3 # show a specific handoff by ID
|
|
178
|
+
hippo session resume # re-inject latest handoff as context
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Working memory
|
|
182
|
+
|
|
183
|
+
Working memory is a bounded scratchpad for current-state notes. It's separate from long-term memory and gets cleared between sessions.
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
hippo wm push --scope repo \
|
|
187
|
+
--content "Investigating flaky test in store.test.ts, line 42" \
|
|
188
|
+
--importance 0.9
|
|
189
|
+
|
|
190
|
+
hippo wm read --scope repo # show current working notes
|
|
191
|
+
hippo wm clear --scope repo # wipe the scratchpad
|
|
192
|
+
hippo wm flush --scope repo # flush on session end
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
The buffer holds a maximum of 20 entries per scope. When full, the lowest-importance entry is evicted.
|
|
196
|
+
|
|
197
|
+
### Explainable recall
|
|
198
|
+
|
|
199
|
+
See why a memory was returned:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
hippo recall "data pipeline" --why --limit 5
|
|
203
|
+
|
|
204
|
+
# --- mem_a1b2c3 [episodic] [observed] [local] score=0.847
|
|
205
|
+
# BM25: matched [data, pipeline]; cosine: 0.82
|
|
206
|
+
# ...memory content...
|
|
207
|
+
```
|
|
208
|
+
|
|
153
209
|
---
|
|
154
210
|
|
|
155
211
|
## How It Works
|
|
@@ -401,9 +457,12 @@ hippo watch "npm run build"
|
|
|
401
457
|
| `hippo remember "<text>" --global` | Store in global `~/.hippo/` store |
|
|
402
458
|
| `hippo recall "<query>"` | Retrieve relevant memories (local + global) |
|
|
403
459
|
| `hippo recall "<query>" --budget <n>` | Recall within token limit (default: 4000) |
|
|
460
|
+
| `hippo recall "<query>" --limit <n>` | Cap result count |
|
|
461
|
+
| `hippo recall "<query>" --why` | Show match reasons and source buckets |
|
|
404
462
|
| `hippo recall "<query>" --json` | Output as JSON |
|
|
405
463
|
| `hippo context --auto` | Smart context injection (auto-detects task from git) |
|
|
406
464
|
| `hippo context "<query>" --budget <n>` | Context injection with explicit query (default: 1500) |
|
|
465
|
+
| `hippo context --limit <n>` | Cap memory count in context |
|
|
407
466
|
| `hippo context --budget 0` | Skip entirely (zero token cost) |
|
|
408
467
|
| `hippo context --framing <mode>` | Framing: observe (default), suggest, assert |
|
|
409
468
|
| `hippo context --format <fmt>` | Output format: markdown (default) or json |
|
|
@@ -446,6 +505,16 @@ hippo watch "npm run build"
|
|
|
446
505
|
| `hippo hook list` | Show available framework hooks |
|
|
447
506
|
| `hippo hook install <target>` | Install hook (claude-code, codex, cursor, openclaw) |
|
|
448
507
|
| `hippo hook uninstall <target>` | Remove hook |
|
|
508
|
+
| `hippo handoff create --summary "..."` | Create a session handoff |
|
|
509
|
+
| `hippo handoff latest` | Show the most recent handoff |
|
|
510
|
+
| `hippo handoff show <id>` | Show a specific handoff by ID |
|
|
511
|
+
| `hippo session latest` | Show latest task snapshot + events |
|
|
512
|
+
| `hippo session resume` | Re-inject latest handoff as context |
|
|
513
|
+
| `hippo current show` | Compact current state (task + session events) |
|
|
514
|
+
| `hippo wm push --scope <s> --content "..."` | Push to working memory |
|
|
515
|
+
| `hippo wm read --scope <s>` | Read working memory entries |
|
|
516
|
+
| `hippo wm clear --scope <s>` | Clear working memory |
|
|
517
|
+
| `hippo wm flush --scope <s>` | Flush working memory (session end) |
|
|
449
518
|
| `hippo dashboard` | Open web dashboard at localhost:3333 |
|
|
450
519
|
| `hippo dashboard --port <n>` | Use custom port |
|
|
451
520
|
| `hippo mcp` | Start MCP server (stdio transport) |
|
|
@@ -521,7 +590,7 @@ Add to your MCP config (e.g. `.cursor/mcp.json` or `claude_desktop_config.json`)
|
|
|
521
590
|
}
|
|
522
591
|
```
|
|
523
592
|
|
|
524
|
-
Exposes
|
|
593
|
+
Exposes tools: `hippo_recall`, `hippo_remember`, `hippo_outcome`, `hippo_context`, `hippo_status`, `hippo_learn`, `hippo_wm_push`.
|
|
525
594
|
|
|
526
595
|
### OpenClaw Plugin
|
|
527
596
|
|
|
@@ -586,7 +655,7 @@ For how these mechanisms connect to LLM training, continual learning, and open r
|
|
|
586
655
|
| Git-friendly | Yes | No | Yes | No |
|
|
587
656
|
| Framework agnostic | Yes | Partial | Yes | No |
|
|
588
657
|
|
|
589
|
-
Mem0, Basic Memory, and Claude-Mem all implement "save everything, search later." Hippo implements
|
|
658
|
+
Mem0, Basic Memory, and Claude-Mem all implement "save everything, search later." Hippo implements all 7 hippocampal mechanisms: two-speed storage, decay, retrieval strengthening, schema acceleration, conflict detection, multi-agent transfer, and explicit working memory. It's the only tool that models what memories are worth keeping.
|
|
590
659
|
|
|
591
660
|
---
|
|
592
661
|
|
package/dist/cli.d.ts
CHANGED
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
* Commands:
|
|
6
6
|
* hippo init [--global]
|
|
7
7
|
* hippo remember <text> [--tag <t>] [--error] [--pin] [--global]
|
|
8
|
-
* hippo recall <query> [--budget <n>] [--json]
|
|
8
|
+
* hippo recall <query> [--budget <n>] [--json] [--why]
|
|
9
9
|
* hippo sleep [--dry-run]
|
|
10
10
|
* hippo status
|
|
11
11
|
* hippo outcome --good | --bad [--id <id>]
|
|
12
12
|
* hippo conflicts [--status <status>] [--json]
|
|
13
13
|
* hippo snapshot <save|show|clear>
|
|
14
|
-
* hippo session <log|show>
|
|
14
|
+
* hippo session <log|show|latest|resume>
|
|
15
|
+
* hippo handoff <create|latest|show>
|
|
16
|
+
* hippo current <show>
|
|
15
17
|
* hippo forget <id>
|
|
16
18
|
* hippo inspect <id>
|
|
17
19
|
* hippo embed [--status]
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
* hippo learn --git [--days <n>] [--repos <paths>]
|
|
20
22
|
* hippo promote <id>
|
|
21
23
|
* hippo sync
|
|
24
|
+
* hippo wm <push|read|clear|flush>
|
|
22
25
|
*/
|
|
23
26
|
export {};
|
|
24
27
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
|