agent-knowledge 1.0.0 → 1.0.2
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/CHANGELOG.md +77 -77
- package/LICENSE +21 -21
- package/README.md +191 -191
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge/git.js +77 -77
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js.map +1 -1
- package/dist/ui/app.js +945 -1029
- package/dist/ui/index.html +21 -65
- package/dist/ui/styles.css +1510 -1508
- package/dist/vectorstore/store.d.ts.map +1 -1
- package/dist/vectorstore/store.js +32 -32
- package/dist/vectorstore/store.js.map +1 -1
- package/docs/ARCHITECTURE.md +244 -244
- package/docs/DASHBOARD.md +133 -133
- package/docs/SETUP.md +178 -178
- package/package.json +1 -1
- package/scripts/copy-ui.js +6 -6
- package/dist/ui/ui/app.js +0 -811
- package/dist/ui/ui/index.html +0 -300
- package/dist/ui/ui/styles.css +0 -1154
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/vectorstore/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAQD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM;IAI3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IAiDZ,gDAAgD;IAChD,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/vectorstore/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAQD;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAuB;IAEhD;;;OAGG;gBACS,MAAM,CAAC,EAAE,MAAM;IAI3B;;;OAGG;IACH,OAAO,CAAC,IAAI;IAiDZ,gDAAgD;IAChD,OAAO,CAAC,gBAAgB;IAgBxB,+EAA+E;IAC/E,OAAO,CAAC,cAAc;IA0BtB,uCAAuC;IACvC,OAAO,CAAC,YAAY;IAYpB,qCAAqC;IACrC,OAAO,CAAC,YAAY;IASpB,2FAA2F;IAC3F,OAAO,CAAC,UAAU;IAQlB,+DAA+D;IAC/D,OAAO,CAAC,mBAAmB;IAsB3B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI;IA+DpC;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,GAAE,MAAW,GAAG,kBAAkB,EAAE;IAI5E;;;;;;;OAOG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,UAAU,GAAE,MAAW,GACtB,kBAAkB,EAAE;IAIvB,kEAAkE;IAClE,OAAO,CAAC,cAAc;IA6EtB;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IA+BtC;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAmBxC;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IASnC;;;;;;;;OAQG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAoB9D;;;OAGG;IACH,IAAI,IAAI,IAAI;IAoBZ;;;;OAIG;IACH,KAAK,IAAI,gBAAgB;IAuDzB,2DAA2D;IAC3D,KAAK,IAAI,IAAI;CAWd"}
|
|
@@ -46,27 +46,27 @@ export class VectorStore {
|
|
|
46
46
|
this.db.pragma('foreign_keys = ON');
|
|
47
47
|
}
|
|
48
48
|
this.loadVecExtension();
|
|
49
|
-
this.db.exec(`
|
|
50
|
-
CREATE TABLE IF NOT EXISTS embeddings (
|
|
51
|
-
id TEXT PRIMARY KEY,
|
|
52
|
-
source TEXT NOT NULL CHECK(source IN ('knowledge','session')),
|
|
53
|
-
source_id TEXT NOT NULL,
|
|
54
|
-
chunk_index INTEGER NOT NULL,
|
|
55
|
-
chunk_text TEXT NOT NULL,
|
|
56
|
-
provider TEXT NOT NULL,
|
|
57
|
-
dimensions INTEGER NOT NULL,
|
|
58
|
-
embedding BLOB NOT NULL,
|
|
59
|
-
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
60
|
-
metadata TEXT
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
CREATE INDEX IF NOT EXISTS idx_emb_source ON embeddings(source, source_id);
|
|
64
|
-
CREATE INDEX IF NOT EXISTS idx_emb_provider ON embeddings(provider);
|
|
65
|
-
|
|
66
|
-
CREATE TABLE IF NOT EXISTS meta (
|
|
67
|
-
key TEXT PRIMARY KEY,
|
|
68
|
-
value TEXT NOT NULL
|
|
69
|
-
);
|
|
49
|
+
this.db.exec(`
|
|
50
|
+
CREATE TABLE IF NOT EXISTS embeddings (
|
|
51
|
+
id TEXT PRIMARY KEY,
|
|
52
|
+
source TEXT NOT NULL CHECK(source IN ('knowledge','session')),
|
|
53
|
+
source_id TEXT NOT NULL,
|
|
54
|
+
chunk_index INTEGER NOT NULL,
|
|
55
|
+
chunk_text TEXT NOT NULL,
|
|
56
|
+
provider TEXT NOT NULL,
|
|
57
|
+
dimensions INTEGER NOT NULL,
|
|
58
|
+
embedding BLOB NOT NULL,
|
|
59
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
60
|
+
metadata TEXT
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_emb_source ON embeddings(source, source_id);
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_emb_provider ON embeddings(provider);
|
|
65
|
+
|
|
66
|
+
CREATE TABLE IF NOT EXISTS meta (
|
|
67
|
+
key TEXT PRIMARY KEY,
|
|
68
|
+
value TEXT NOT NULL
|
|
69
|
+
);
|
|
70
70
|
`);
|
|
71
71
|
if (this.vecAvailable) {
|
|
72
72
|
this.ensureVecTable(dimensions);
|
|
@@ -184,11 +184,11 @@ export class VectorStore {
|
|
|
184
184
|
this.ensureInit(dims);
|
|
185
185
|
if (!this.db)
|
|
186
186
|
return;
|
|
187
|
-
const insertEmbed = this.db.prepare(`
|
|
188
|
-
INSERT OR REPLACE INTO embeddings
|
|
189
|
-
(id, source, source_id, chunk_index, chunk_text, provider, dimensions, embedding, metadata)
|
|
190
|
-
VALUES
|
|
191
|
-
(?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
187
|
+
const insertEmbed = this.db.prepare(`
|
|
188
|
+
INSERT OR REPLACE INTO embeddings
|
|
189
|
+
(id, source, source_id, chunk_index, chunk_text, provider, dimensions, embedding, metadata)
|
|
190
|
+
VALUES
|
|
191
|
+
(?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
192
192
|
`);
|
|
193
193
|
const deleteVec = this.vecAvailable
|
|
194
194
|
? this.db.prepare('DELETE FROM vec_idx WHERE id = ?')
|
|
@@ -261,18 +261,18 @@ export class VectorStore {
|
|
|
261
261
|
const queryBuf = toFloat32Buffer(queryVector);
|
|
262
262
|
const fetchLimit = source ? maxResults * 3 : maxResults;
|
|
263
263
|
const rows = this.db
|
|
264
|
-
.prepare(`SELECT v.id, v.distance
|
|
265
|
-
FROM vec_idx v
|
|
266
|
-
WHERE v.embedding MATCH ?
|
|
267
|
-
ORDER BY v.distance
|
|
264
|
+
.prepare(`SELECT v.id, v.distance
|
|
265
|
+
FROM vec_idx v
|
|
266
|
+
WHERE v.embedding MATCH ?
|
|
267
|
+
ORDER BY v.distance
|
|
268
268
|
LIMIT ?`)
|
|
269
269
|
.all(queryBuf, fetchLimit);
|
|
270
270
|
if (rows.length === 0)
|
|
271
271
|
return [];
|
|
272
272
|
const idPlaceholders = rows.map(() => '?').join(',');
|
|
273
273
|
const embeddingRows = this.db
|
|
274
|
-
.prepare(`SELECT id, source, source_id, chunk_text, metadata
|
|
275
|
-
FROM embeddings
|
|
274
|
+
.prepare(`SELECT id, source, source_id, chunk_text, metadata
|
|
275
|
+
FROM embeddings
|
|
276
276
|
WHERE id IN (${idPlaceholders})`)
|
|
277
277
|
.all(...rows.map((r) => r.id));
|
|
278
278
|
const embMap = new Map(embeddingRows.map((r) => [r.id, r]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/vectorstore/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/vectorstore/store.ts"],"names":[],"mappings":"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"}
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,244 +1,244 @@
|
|
|
1
|
-
# Architecture
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
```mermaid
|
|
6
|
-
graph TB
|
|
7
|
-
Claude[Claude Code] -->|MCP stdio| Server[server.ts]
|
|
8
|
-
Server --> Knowledge[Knowledge Module]
|
|
9
|
-
Server --> Session[Session Module]
|
|
10
|
-
|
|
11
|
-
Knowledge --> Store[store.ts — CRUD]
|
|
12
|
-
Knowledge --> KSearch[search.ts — TF-IDF]
|
|
13
|
-
Knowledge --> Git[git.ts — Sync]
|
|
14
|
-
|
|
15
|
-
Store --> Vault[(~/claude-memory)]
|
|
16
|
-
Git --> Remote[(Git Remote)]
|
|
17
|
-
|
|
18
|
-
Session --> Parser[parser.ts — JSONL + Cache]
|
|
19
|
-
Session --> SSearch[search.ts — TF-IDF Index]
|
|
20
|
-
Session --> Scopes[scopes.ts — 6 Filters]
|
|
21
|
-
Session --> Summary[summary.ts]
|
|
22
|
-
|
|
23
|
-
Parser --> Transcripts[(~/.claude/projects/*.jsonl)]
|
|
24
|
-
|
|
25
|
-
Server --> Dashboard[dashboard.ts — :3423]
|
|
26
|
-
Dashboard --> HTTP[REST API]
|
|
27
|
-
Dashboard --> WS[WebSocket]
|
|
28
|
-
Dashboard --> Watcher[File Watcher]
|
|
29
|
-
HTTP --> Browser[Browser UI]
|
|
30
|
-
WS --> Browser
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## File Structure
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
src/
|
|
37
|
-
index.ts Entry point — MCP stdio + dashboard auto-start
|
|
38
|
-
server.ts 10 tool definitions, request routing, error handling
|
|
39
|
-
dashboard.ts HTTP + WebSocket server, REST API, file watcher
|
|
40
|
-
types.ts KnowledgeConfig interface, getConfig()
|
|
41
|
-
knowledge/
|
|
42
|
-
store.ts CRUD for markdown entries with YAML frontmatter
|
|
43
|
-
search.ts TF-IDF search over knowledge entries
|
|
44
|
-
git.ts git pull/push/sync with execSync + timeouts
|
|
45
|
-
sessions/
|
|
46
|
-
parser.ts JSONL parsing with mtime-based file cache
|
|
47
|
-
search.ts TF-IDF ranked search with 60s global index cache
|
|
48
|
-
scopes.ts 6 search scopes, post-filters cached index results
|
|
49
|
-
summary.ts Topic extraction, tool/file detection
|
|
50
|
-
search/
|
|
51
|
-
tfidf.ts TF-IDF scoring engine (tokenizer, stopwords, index)
|
|
52
|
-
fuzzy.ts Levenshtein distance, sliding window matching
|
|
53
|
-
types.ts SearchResult, SearchOptions interfaces
|
|
54
|
-
ui/
|
|
55
|
-
index.html Dashboard SPA
|
|
56
|
-
styles.css MD3 design tokens (light + dark)
|
|
57
|
-
app.js Client-side JS (WebSocket, tabs, rendering)
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Knowledge Module
|
|
61
|
-
|
|
62
|
-
### store.ts
|
|
63
|
-
|
|
64
|
-
CRUD for markdown files with YAML frontmatter:
|
|
65
|
-
|
|
66
|
-
- **parseFrontmatter()** — splits on `---` delimiters, extracts title/tags/updated
|
|
67
|
-
- **listEntries()** — recursively finds `.md` files, skips dot-directories, filters by category/tag
|
|
68
|
-
- **readEntry()** — reads file with path traversal protection (`path.resolve` must start with base dir)
|
|
69
|
-
- **writeEntry()** — validates category against allowed list, ensures directory exists, auto-adds `.md`
|
|
70
|
-
- **deleteEntry()** — removes file with path traversal protection
|
|
71
|
-
|
|
72
|
-
### git.ts
|
|
73
|
-
|
|
74
|
-
Wraps `execSync` for git operations with timeouts:
|
|
75
|
-
|
|
76
|
-
- `gitPull()` — `git pull --rebase --quiet` (15s timeout)
|
|
77
|
-
- `gitPush()` — `git add -A`, conditional commit (checks `git diff --cached --quiet`), push (5s/5s/15s)
|
|
78
|
-
- `gitSync()` — pull then push, returns both results
|
|
79
|
-
|
|
80
|
-
### search.ts
|
|
81
|
-
|
|
82
|
-
Builds a TF-IDF index from all knowledge entries, searches with ranking, falls back to regex for exact phrases.
|
|
83
|
-
|
|
84
|
-
## Session Module
|
|
85
|
-
|
|
86
|
-
### parser.ts — Mtime Cache
|
|
87
|
-
|
|
88
|
-
Before parsing a JSONL file, checks `fs.statSync` for mtime. If unchanged since last parse, returns cached result. This avoids re-parsing large transcript files on every search.
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
parseSessionFile(path)
|
|
92
|
-
→ statSync(path).mtimeMs
|
|
93
|
-
→ if mtime matches cache → return cached entries
|
|
94
|
-
→ else parse JSONL lines → cache with mtime → return
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### search.ts — Global TF-IDF Index
|
|
98
|
-
|
|
99
|
-
Maintains a single TF-IDF index across all sessions with a 60-second TTL:
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
getOrBuildIndex(projects)
|
|
103
|
-
→ if cache exists AND age < 60s → return cached index
|
|
104
|
-
→ else scan all sessions → parse (using mtime cache) → index all messages → cache → return
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Role filtering happens post-search: the index includes all roles, and results are filtered after scoring.
|
|
108
|
-
|
|
109
|
-
### scopes.ts
|
|
110
|
-
|
|
111
|
-
Uses the cached search index from `search.ts` (via `searchSessions`), then post-filters by scope patterns:
|
|
112
|
-
|
|
113
|
-
| Scope | Filter |
|
|
114
|
-
| ----------- | --------------------------------------------------------------- |
|
|
115
|
-
| `errors` | Regex: Error, Exception, failed, crash, ENOENT, TypeError, etc. |
|
|
116
|
-
| `plans` | Regex: plan, step, phase, strategy, TODO, architecture, etc. |
|
|
117
|
-
| `configs` | Regex: config, .env, .json, tsconfig, docker, etc. |
|
|
118
|
-
| `tools` | Role filter: tool_use, tool_result messages only |
|
|
119
|
-
| `files` | Regex: src/, .ts, .js, created, modified, deleted, etc. |
|
|
120
|
-
| `decisions` | Regex: decided, chose, because, tradeoff, opted for, etc. |
|
|
121
|
-
|
|
122
|
-
### summary.ts
|
|
123
|
-
|
|
124
|
-
Extracts session summaries:
|
|
125
|
-
|
|
126
|
-
- **Topics**: user messages filtered to exclude JSON/tool_result/base64/system-reminders
|
|
127
|
-
- **Tools used**: tool names from tool_use entries
|
|
128
|
-
- **Files modified**: file paths detected via regex in tool_result content
|
|
129
|
-
|
|
130
|
-
## Search Engine
|
|
131
|
-
|
|
132
|
-
### tfidf.ts
|
|
133
|
-
|
|
134
|
-
Self-contained TF-IDF implementation:
|
|
135
|
-
|
|
136
|
-
**Tokenization**: lowercase → split on `[^a-z0-9]+` → remove ~100 English stopwords
|
|
137
|
-
|
|
138
|
-
**Scoring**:
|
|
139
|
-
|
|
140
|
-
```
|
|
141
|
-
TF(t, d) = count(t in d) / total_terms(d)
|
|
142
|
-
IDF(t) = log(1 + N / docs_containing(t))
|
|
143
|
-
Score(q, d) = sum(TF(t, d) * IDF(t)) for each term t in query q
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
The `1 +` in IDF ensures single-document results still get a positive score.
|
|
147
|
-
|
|
148
|
-
### fuzzy.ts
|
|
149
|
-
|
|
150
|
-
Levenshtein edit distance with two-row DP (O(n\*m) time, O(m) space). Fuzzy matching uses a sliding window of varying size to find approximate substring matches.
|
|
151
|
-
|
|
152
|
-
## Dashboard
|
|
153
|
-
|
|
154
|
-
### dashboard.ts
|
|
155
|
-
|
|
156
|
-
Single HTTP server handles both REST API and static files:
|
|
157
|
-
|
|
158
|
-
- **Static serving**: resolves UI directory (checks `src/ui/` then `dist/ui/`), serves with MIME detection and CSP headers
|
|
159
|
-
- **REST API**: routes for knowledge CRUD/search, session list/search/recall/get/summary, health
|
|
160
|
-
- **WebSocket**: `ws` library with `noServer` mode, heartbeat every 30s, initial state snapshot on connect
|
|
161
|
-
- **File watcher**: `fs.watch` on UI directory, debounced 200ms, broadcasts `{type: "reload"}` to all WS clients
|
|
162
|
-
|
|
163
|
-
### UI Architecture
|
|
164
|
-
|
|
165
|
-
Vanilla JS SPA (no framework, no build step):
|
|
166
|
-
|
|
167
|
-
- WebSocket connects on load, handles `state` and `reload` messages
|
|
168
|
-
- 4 tabs with lazy data loading
|
|
169
|
-
- `marked` + `DOMPurify` + `highlight.js` for markdown rendering
|
|
170
|
-
- Theme persisted in `localStorage('agent-knowledge-theme')`
|
|
171
|
-
|
|
172
|
-
## Caching Strategy
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
Search Request
|
|
176
|
-
│
|
|
177
|
-
▼
|
|
178
|
-
┌─────────────────────┐
|
|
179
|
-
│ TF-IDF index < 60s? │──Yes──► Search cached index (~40ms)
|
|
180
|
-
└─────────────────────┘
|
|
181
|
-
│ No
|
|
182
|
-
▼
|
|
183
|
-
┌─────────────────────┐
|
|
184
|
-
│ Scan session files │
|
|
185
|
-
│ Check mtime cache │──► Parse only changed files
|
|
186
|
-
└─────────────────────┘
|
|
187
|
-
│
|
|
188
|
-
▼
|
|
189
|
-
┌─────────────────────┐
|
|
190
|
-
│ Rebuild index │──► Cache with 60s TTL (~5s cold)
|
|
191
|
-
└─────────────────────┘
|
|
192
|
-
│
|
|
193
|
-
▼
|
|
194
|
-
Search new index
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Data Flow
|
|
198
|
-
|
|
199
|
-
### Session Search
|
|
200
|
-
|
|
201
|
-
```mermaid
|
|
202
|
-
sequenceDiagram
|
|
203
|
-
participant C as Claude Code
|
|
204
|
-
participant S as MCP Server
|
|
205
|
-
participant I as TF-IDF Index
|
|
206
|
-
participant P as Parser Cache
|
|
207
|
-
participant F as File System
|
|
208
|
-
|
|
209
|
-
C->>S: knowledge_search({ query })
|
|
210
|
-
S->>I: search(query)
|
|
211
|
-
alt Index expired
|
|
212
|
-
I->>F: List .jsonl files
|
|
213
|
-
loop Each file
|
|
214
|
-
alt Mtime changed
|
|
215
|
-
I->>P: parse(file)
|
|
216
|
-
P->>F: Read JSONL
|
|
217
|
-
P-->>I: Parsed entries
|
|
218
|
-
else Mtime unchanged
|
|
219
|
-
I->>P: getCached(file)
|
|
220
|
-
P-->>I: Cached entries
|
|
221
|
-
end
|
|
222
|
-
end
|
|
223
|
-
I->>I: Rebuild index
|
|
224
|
-
end
|
|
225
|
-
I-->>S: Ranked results
|
|
226
|
-
S-->>C: SearchResult[]
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### Knowledge Write
|
|
230
|
-
|
|
231
|
-
```mermaid
|
|
232
|
-
sequenceDiagram
|
|
233
|
-
participant C as Claude Code
|
|
234
|
-
participant S as MCP Server
|
|
235
|
-
participant G as Git
|
|
236
|
-
participant F as File System
|
|
237
|
-
|
|
238
|
-
C->>S: knowledge_write({ category, filename, content })
|
|
239
|
-
S->>G: git pull --rebase
|
|
240
|
-
S->>F: Write markdown file
|
|
241
|
-
S->>G: git add -A && commit && push
|
|
242
|
-
G-->>S: Push result
|
|
243
|
-
S-->>C: { path, git status }
|
|
244
|
-
```
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
graph TB
|
|
7
|
+
Claude[Claude Code] -->|MCP stdio| Server[server.ts]
|
|
8
|
+
Server --> Knowledge[Knowledge Module]
|
|
9
|
+
Server --> Session[Session Module]
|
|
10
|
+
|
|
11
|
+
Knowledge --> Store[store.ts — CRUD]
|
|
12
|
+
Knowledge --> KSearch[search.ts — TF-IDF]
|
|
13
|
+
Knowledge --> Git[git.ts — Sync]
|
|
14
|
+
|
|
15
|
+
Store --> Vault[(~/claude-memory)]
|
|
16
|
+
Git --> Remote[(Git Remote)]
|
|
17
|
+
|
|
18
|
+
Session --> Parser[parser.ts — JSONL + Cache]
|
|
19
|
+
Session --> SSearch[search.ts — TF-IDF Index]
|
|
20
|
+
Session --> Scopes[scopes.ts — 6 Filters]
|
|
21
|
+
Session --> Summary[summary.ts]
|
|
22
|
+
|
|
23
|
+
Parser --> Transcripts[(~/.claude/projects/*.jsonl)]
|
|
24
|
+
|
|
25
|
+
Server --> Dashboard[dashboard.ts — :3423]
|
|
26
|
+
Dashboard --> HTTP[REST API]
|
|
27
|
+
Dashboard --> WS[WebSocket]
|
|
28
|
+
Dashboard --> Watcher[File Watcher]
|
|
29
|
+
HTTP --> Browser[Browser UI]
|
|
30
|
+
WS --> Browser
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## File Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
src/
|
|
37
|
+
index.ts Entry point — MCP stdio + dashboard auto-start
|
|
38
|
+
server.ts 10 tool definitions, request routing, error handling
|
|
39
|
+
dashboard.ts HTTP + WebSocket server, REST API, file watcher
|
|
40
|
+
types.ts KnowledgeConfig interface, getConfig()
|
|
41
|
+
knowledge/
|
|
42
|
+
store.ts CRUD for markdown entries with YAML frontmatter
|
|
43
|
+
search.ts TF-IDF search over knowledge entries
|
|
44
|
+
git.ts git pull/push/sync with execSync + timeouts
|
|
45
|
+
sessions/
|
|
46
|
+
parser.ts JSONL parsing with mtime-based file cache
|
|
47
|
+
search.ts TF-IDF ranked search with 60s global index cache
|
|
48
|
+
scopes.ts 6 search scopes, post-filters cached index results
|
|
49
|
+
summary.ts Topic extraction, tool/file detection
|
|
50
|
+
search/
|
|
51
|
+
tfidf.ts TF-IDF scoring engine (tokenizer, stopwords, index)
|
|
52
|
+
fuzzy.ts Levenshtein distance, sliding window matching
|
|
53
|
+
types.ts SearchResult, SearchOptions interfaces
|
|
54
|
+
ui/
|
|
55
|
+
index.html Dashboard SPA
|
|
56
|
+
styles.css MD3 design tokens (light + dark)
|
|
57
|
+
app.js Client-side JS (WebSocket, tabs, rendering)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Knowledge Module
|
|
61
|
+
|
|
62
|
+
### store.ts
|
|
63
|
+
|
|
64
|
+
CRUD for markdown files with YAML frontmatter:
|
|
65
|
+
|
|
66
|
+
- **parseFrontmatter()** — splits on `---` delimiters, extracts title/tags/updated
|
|
67
|
+
- **listEntries()** — recursively finds `.md` files, skips dot-directories, filters by category/tag
|
|
68
|
+
- **readEntry()** — reads file with path traversal protection (`path.resolve` must start with base dir)
|
|
69
|
+
- **writeEntry()** — validates category against allowed list, ensures directory exists, auto-adds `.md`
|
|
70
|
+
- **deleteEntry()** — removes file with path traversal protection
|
|
71
|
+
|
|
72
|
+
### git.ts
|
|
73
|
+
|
|
74
|
+
Wraps `execSync` for git operations with timeouts:
|
|
75
|
+
|
|
76
|
+
- `gitPull()` — `git pull --rebase --quiet` (15s timeout)
|
|
77
|
+
- `gitPush()` — `git add -A`, conditional commit (checks `git diff --cached --quiet`), push (5s/5s/15s)
|
|
78
|
+
- `gitSync()` — pull then push, returns both results
|
|
79
|
+
|
|
80
|
+
### search.ts
|
|
81
|
+
|
|
82
|
+
Builds a TF-IDF index from all knowledge entries, searches with ranking, falls back to regex for exact phrases.
|
|
83
|
+
|
|
84
|
+
## Session Module
|
|
85
|
+
|
|
86
|
+
### parser.ts — Mtime Cache
|
|
87
|
+
|
|
88
|
+
Before parsing a JSONL file, checks `fs.statSync` for mtime. If unchanged since last parse, returns cached result. This avoids re-parsing large transcript files on every search.
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
parseSessionFile(path)
|
|
92
|
+
→ statSync(path).mtimeMs
|
|
93
|
+
→ if mtime matches cache → return cached entries
|
|
94
|
+
→ else parse JSONL lines → cache with mtime → return
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### search.ts — Global TF-IDF Index
|
|
98
|
+
|
|
99
|
+
Maintains a single TF-IDF index across all sessions with a 60-second TTL:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
getOrBuildIndex(projects)
|
|
103
|
+
→ if cache exists AND age < 60s → return cached index
|
|
104
|
+
→ else scan all sessions → parse (using mtime cache) → index all messages → cache → return
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Role filtering happens post-search: the index includes all roles, and results are filtered after scoring.
|
|
108
|
+
|
|
109
|
+
### scopes.ts
|
|
110
|
+
|
|
111
|
+
Uses the cached search index from `search.ts` (via `searchSessions`), then post-filters by scope patterns:
|
|
112
|
+
|
|
113
|
+
| Scope | Filter |
|
|
114
|
+
| ----------- | --------------------------------------------------------------- |
|
|
115
|
+
| `errors` | Regex: Error, Exception, failed, crash, ENOENT, TypeError, etc. |
|
|
116
|
+
| `plans` | Regex: plan, step, phase, strategy, TODO, architecture, etc. |
|
|
117
|
+
| `configs` | Regex: config, .env, .json, tsconfig, docker, etc. |
|
|
118
|
+
| `tools` | Role filter: tool_use, tool_result messages only |
|
|
119
|
+
| `files` | Regex: src/, .ts, .js, created, modified, deleted, etc. |
|
|
120
|
+
| `decisions` | Regex: decided, chose, because, tradeoff, opted for, etc. |
|
|
121
|
+
|
|
122
|
+
### summary.ts
|
|
123
|
+
|
|
124
|
+
Extracts session summaries:
|
|
125
|
+
|
|
126
|
+
- **Topics**: user messages filtered to exclude JSON/tool_result/base64/system-reminders
|
|
127
|
+
- **Tools used**: tool names from tool_use entries
|
|
128
|
+
- **Files modified**: file paths detected via regex in tool_result content
|
|
129
|
+
|
|
130
|
+
## Search Engine
|
|
131
|
+
|
|
132
|
+
### tfidf.ts
|
|
133
|
+
|
|
134
|
+
Self-contained TF-IDF implementation:
|
|
135
|
+
|
|
136
|
+
**Tokenization**: lowercase → split on `[^a-z0-9]+` → remove ~100 English stopwords
|
|
137
|
+
|
|
138
|
+
**Scoring**:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
TF(t, d) = count(t in d) / total_terms(d)
|
|
142
|
+
IDF(t) = log(1 + N / docs_containing(t))
|
|
143
|
+
Score(q, d) = sum(TF(t, d) * IDF(t)) for each term t in query q
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
The `1 +` in IDF ensures single-document results still get a positive score.
|
|
147
|
+
|
|
148
|
+
### fuzzy.ts
|
|
149
|
+
|
|
150
|
+
Levenshtein edit distance with two-row DP (O(n\*m) time, O(m) space). Fuzzy matching uses a sliding window of varying size to find approximate substring matches.
|
|
151
|
+
|
|
152
|
+
## Dashboard
|
|
153
|
+
|
|
154
|
+
### dashboard.ts
|
|
155
|
+
|
|
156
|
+
Single HTTP server handles both REST API and static files:
|
|
157
|
+
|
|
158
|
+
- **Static serving**: resolves UI directory (checks `src/ui/` then `dist/ui/`), serves with MIME detection and CSP headers
|
|
159
|
+
- **REST API**: routes for knowledge CRUD/search, session list/search/recall/get/summary, health
|
|
160
|
+
- **WebSocket**: `ws` library with `noServer` mode, heartbeat every 30s, initial state snapshot on connect
|
|
161
|
+
- **File watcher**: `fs.watch` on UI directory, debounced 200ms, broadcasts `{type: "reload"}` to all WS clients
|
|
162
|
+
|
|
163
|
+
### UI Architecture
|
|
164
|
+
|
|
165
|
+
Vanilla JS SPA (no framework, no build step):
|
|
166
|
+
|
|
167
|
+
- WebSocket connects on load, handles `state` and `reload` messages
|
|
168
|
+
- 4 tabs with lazy data loading
|
|
169
|
+
- `marked` + `DOMPurify` + `highlight.js` for markdown rendering
|
|
170
|
+
- Theme persisted in `localStorage('agent-knowledge-theme')`
|
|
171
|
+
|
|
172
|
+
## Caching Strategy
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Search Request
|
|
176
|
+
│
|
|
177
|
+
▼
|
|
178
|
+
┌─────────────────────┐
|
|
179
|
+
│ TF-IDF index < 60s? │──Yes──► Search cached index (~40ms)
|
|
180
|
+
└─────────────────────┘
|
|
181
|
+
│ No
|
|
182
|
+
▼
|
|
183
|
+
┌─────────────────────┐
|
|
184
|
+
│ Scan session files │
|
|
185
|
+
│ Check mtime cache │──► Parse only changed files
|
|
186
|
+
└─────────────────────┘
|
|
187
|
+
│
|
|
188
|
+
▼
|
|
189
|
+
┌─────────────────────┐
|
|
190
|
+
│ Rebuild index │──► Cache with 60s TTL (~5s cold)
|
|
191
|
+
└─────────────────────┘
|
|
192
|
+
│
|
|
193
|
+
▼
|
|
194
|
+
Search new index
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Data Flow
|
|
198
|
+
|
|
199
|
+
### Session Search
|
|
200
|
+
|
|
201
|
+
```mermaid
|
|
202
|
+
sequenceDiagram
|
|
203
|
+
participant C as Claude Code
|
|
204
|
+
participant S as MCP Server
|
|
205
|
+
participant I as TF-IDF Index
|
|
206
|
+
participant P as Parser Cache
|
|
207
|
+
participant F as File System
|
|
208
|
+
|
|
209
|
+
C->>S: knowledge_search({ query })
|
|
210
|
+
S->>I: search(query)
|
|
211
|
+
alt Index expired
|
|
212
|
+
I->>F: List .jsonl files
|
|
213
|
+
loop Each file
|
|
214
|
+
alt Mtime changed
|
|
215
|
+
I->>P: parse(file)
|
|
216
|
+
P->>F: Read JSONL
|
|
217
|
+
P-->>I: Parsed entries
|
|
218
|
+
else Mtime unchanged
|
|
219
|
+
I->>P: getCached(file)
|
|
220
|
+
P-->>I: Cached entries
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
I->>I: Rebuild index
|
|
224
|
+
end
|
|
225
|
+
I-->>S: Ranked results
|
|
226
|
+
S-->>C: SearchResult[]
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Knowledge Write
|
|
230
|
+
|
|
231
|
+
```mermaid
|
|
232
|
+
sequenceDiagram
|
|
233
|
+
participant C as Claude Code
|
|
234
|
+
participant S as MCP Server
|
|
235
|
+
participant G as Git
|
|
236
|
+
participant F as File System
|
|
237
|
+
|
|
238
|
+
C->>S: knowledge_write({ category, filename, content })
|
|
239
|
+
S->>G: git pull --rebase
|
|
240
|
+
S->>F: Write markdown file
|
|
241
|
+
S->>G: git add -A && commit && push
|
|
242
|
+
G-->>S: Push result
|
|
243
|
+
S-->>C: { path, git status }
|
|
244
|
+
```
|