@jarkkojs/goosedump 0.12.11 → 0.12.13
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 +53 -58
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# goosedump
|
|
2
2
|
|
|
3
3
|
`goosedump` browses, searches, converts, and compacts saved coding-agent
|
|
4
|
-
conversations. It supports Claude Code,
|
|
5
|
-
OpenCode, and Pi.
|
|
4
|
+
conversations, and keeps project-scoped durable memory. It supports Claude Code,
|
|
5
|
+
Codex, Crush, Gemini CLI, Goose, OpenCode, and Pi.
|
|
6
6
|
|
|
7
7
|
It builds on ideas from [`lllyasviel/VCC`](https://github.com/lllyasviel/VCC).
|
|
8
8
|
|
|
@@ -63,72 +63,66 @@ model pull [all|embedding|text]
|
|
|
63
63
|
`session copy`, `session remove`, and `memory forget` print their plan by default.
|
|
64
64
|
Pass `--yes` to carry out the change.
|
|
65
65
|
|
|
66
|
-
##
|
|
67
|
-
|
|
68
|
-
`session compact`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
66
|
+
## Compaction
|
|
67
|
+
|
|
68
|
+
`session compact` creates a summary; it never changes durable memory. Summaries are
|
|
69
|
+
bounded to an estimated 4,096 tokens by default. Use `--summary-max-tokens` to
|
|
70
|
+
change the budget or `0` to disable it. The bound is best-effort when preserved
|
|
71
|
+
goals, blockers, decisions, and preferences already exceed it.
|
|
72
|
+
|
|
73
|
+
## Durable memory
|
|
74
|
+
|
|
75
|
+
Memory is explicit and separate from compaction:
|
|
76
|
+
|
|
77
|
+
1. **Remember:** [`gpt-oss-20b`](docs/models/gpt-oss-20b.md) extracts typed,
|
|
78
|
+
atomic statements with source provenance. [`bge-small-en-v1.5`](docs/models/bge-small-en-v1.5.md)
|
|
79
|
+
embeds each statement. SQLite stores statements and provenance, while the
|
|
80
|
+
bundled [`sqlite-vec`](https://github.com/asg017/sqlite-vec) extension indexes
|
|
81
|
+
vectors in the same database.
|
|
82
|
+
2. **Recall:** lexical and entity matches come first. SQLite KNN queries over
|
|
83
|
+
cosine-similar BGE vectors fill the remaining slots.
|
|
84
|
+
|
|
85
|
+
Memories are classified as decisions, facts, preferences, procedures, or lessons.
|
|
86
|
+
|
|
87
|
+
`memory remember` processes only new session entries, so remembering an unchanged
|
|
88
|
+
session is idempotent. A new version of a memory can supersede an older active
|
|
89
|
+
statement of the same type.
|
|
90
|
+
|
|
91
|
+
Recall searches active memories from the current project by default. Use
|
|
92
|
+
`--history` for superseded statements or `--all-projects` to search everywhere.
|
|
93
|
+
`memory show` displays provenance, and `memory forget` leaves a tombstone so
|
|
94
|
+
forgotten content is not learned again accidentally.
|
|
95
|
+
|
|
96
|
+
Session-index caches are rebuilt when their format changes. Durable-memory schema
|
|
97
|
+
16 intentionally breaks compatibility with earlier databases. Back up and remove
|
|
98
|
+
`memory.sqlite3` when upgrading from schema 15 or older.
|
|
99
|
+
|
|
100
|
+
## Local inference
|
|
101
|
+
|
|
102
|
+
Both models run locally. Download them with `goosedump model pull`, or use
|
|
103
|
+
`model pull text` or `model pull embedding`. Recall still uses lexical and entity
|
|
104
|
+
matching when the embedding model is not cached.
|
|
105
|
+
|
|
106
|
+
Text inference uses every logical CPU by default. Override it with
|
|
107
|
+
`GOOSEDUMP_INFERENCE_THREADS`:
|
|
102
108
|
|
|
103
109
|
```sh
|
|
104
|
-
GOOSEDUMP_INFERENCE_THREADS=6
|
|
105
|
-
goosedump session compact pi:context-id
|
|
110
|
+
GOOSEDUMP_INFERENCE_THREADS=6 goosedump session compact pi:context-id
|
|
106
111
|
```
|
|
107
112
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
`Q8_0` encoder. Download both ahead of time with `goosedump model pull`, or select one
|
|
111
|
-
with `goosedump model pull text` or `goosedump model pull embedding`. Recall falls back
|
|
112
|
-
to lexical and entity matching when the embedding model is not cached.
|
|
113
|
-
|
|
114
|
-
The `bench` feature builds a standalone harness that shells out to
|
|
115
|
-
`goosedump session compact` with `GOOSEDUMP_PROFILE_COMPACT=1` and reports
|
|
116
|
-
end-to-end and per-stage timings:
|
|
113
|
+
The optional `bench` feature measures `session compact`. Keep the machine,
|
|
114
|
+
session range, and model cache unchanged when comparing runs:
|
|
117
115
|
|
|
118
116
|
```sh
|
|
119
|
-
#
|
|
117
|
+
# Point benches/bench.txt at a real session first.
|
|
120
118
|
cargo bench --features bench
|
|
121
119
|
```
|
|
122
120
|
|
|
123
|
-
Each case emits JSON with per-run timing (including model loading), median and
|
|
124
|
-
p95 latency, and per-stage medians and p95s. Keep the machine, context range,
|
|
125
|
-
and model cache unchanged when comparing configurations.
|
|
126
|
-
|
|
127
121
|
## Pi extension
|
|
128
122
|
|
|
129
123
|
The bundled [pi-goosedump extension](packages/pi-goosedump/README.md) adds
|
|
130
|
-
session
|
|
131
|
-
|
|
124
|
+
session search, durable memory, session management, and goosedump compaction to
|
|
125
|
+
Pi:
|
|
132
126
|
|
|
133
127
|
```sh
|
|
134
128
|
pi install npm:pi-goosedump
|
|
@@ -152,5 +146,6 @@ The published Linux x64 and arm64 binaries are static glibc PIEs.
|
|
|
152
146
|
### Third Party Attribution
|
|
153
147
|
|
|
154
148
|
1. GPT-OSS-20B: Apache 2.0
|
|
155
|
-
|
|
156
|
-
|
|
149
|
+
2. bge-small-en-v1.5: MIT
|
|
150
|
+
|
|
151
|
+
The models are downloaded at run time and are not distributed with goosedump.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jarkkojs/goosedump",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.13",
|
|
4
4
|
"description": "Coding agent context data browser",
|
|
5
5
|
"license": "Apache-2.0 AND LGPL-2.1-or-later",
|
|
6
6
|
"homepage": "https://github.com/jarkkojs/goosedump#readme",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"LICENSE-LGPL-2.1"
|
|
22
22
|
],
|
|
23
23
|
"optionalDependencies": {
|
|
24
|
-
"@jarkkojs/goosedump-darwin-arm64": "0.12.
|
|
25
|
-
"@jarkkojs/goosedump-linux-arm64": "0.12.
|
|
26
|
-
"@jarkkojs/goosedump-linux-x64": "0.12.
|
|
27
|
-
"@jarkkojs/goosedump-win32-x64": "0.12.
|
|
24
|
+
"@jarkkojs/goosedump-darwin-arm64": "0.12.13",
|
|
25
|
+
"@jarkkojs/goosedump-linux-arm64": "0.12.13",
|
|
26
|
+
"@jarkkojs/goosedump-linux-x64": "0.12.13",
|
|
27
|
+
"@jarkkojs/goosedump-win32-x64": "0.12.13"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|