kimi-code-memory-mcp-server 0.1.1 → 0.2.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/CHANGELOG.md +28 -1
- package/README.en.md +349 -0
- package/README.md +223 -137
- package/assets/contextFlow.svg +144 -0
- package/dist/config.d.ts +13 -0
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/context/wire-context.d.ts +3 -0
- package/dist/context/wire-context.js +20 -50
- package/dist/context/wire-context.js.map +1 -1
- package/dist/dao/constants.d.ts +33 -0
- package/dist/dao/constants.js +17 -0
- package/dist/dao/constants.js.map +1 -0
- package/dist/dao/index-catalog.d.ts +19 -0
- package/dist/dao/index-catalog.js +94 -0
- package/dist/dao/index-catalog.js.map +1 -0
- package/dist/dao/index-reconciler.d.ts +13 -0
- package/dist/dao/index-reconciler.js +162 -0
- package/dist/dao/index-reconciler.js.map +1 -0
- package/dist/dao/index-store.d.ts +31 -0
- package/dist/dao/index-store.js +128 -0
- package/dist/dao/index-store.js.map +1 -0
- package/dist/dao/index.d.ts +12 -31
- package/dist/dao/index.js +50 -404
- package/dist/dao/index.js.map +1 -1
- package/dist/dao/memory-store.js +2 -10
- package/dist/dao/memory-store.js.map +1 -1
- package/dist/dao/memory-tree-renderer.d.ts +22 -0
- package/dist/dao/memory-tree-renderer.js +75 -0
- package/dist/dao/memory-tree-renderer.js.map +1 -0
- package/dist/prompts/index.d.ts +26 -0
- package/dist/prompts/index.js +103 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/refine/adapter.d.ts +6 -0
- package/dist/refine/adapter.js +28 -0
- package/dist/refine/adapter.js.map +1 -0
- package/dist/refine/constants.d.ts +35 -0
- package/dist/refine/constants.js +107 -0
- package/dist/refine/constants.js.map +1 -0
- package/dist/refine/extractor.d.ts +12 -0
- package/dist/refine/extractor.js +122 -0
- package/dist/refine/extractor.js.map +1 -0
- package/dist/refine/store.d.ts +23 -0
- package/dist/refine/store.js +153 -0
- package/dist/refine/store.js.map +1 -0
- package/dist/refine/types.d.ts +56 -0
- package/dist/refine/types.js +5 -0
- package/dist/refine/types.js.map +1 -0
- package/dist/refined-manager.d.ts +14 -56
- package/dist/refined-manager.js +27 -341
- package/dist/refined-manager.js.map +1 -1
- package/dist/resources/index.d.ts +15 -0
- package/dist/resources/index.js +134 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.js +46 -2
- package/dist/server.js.map +1 -1
- package/dist/theme-manager.d.ts +1 -0
- package/dist/theme-manager.js +7 -0
- package/dist/theme-manager.js.map +1 -1
- package/dist/tools/context-tools.d.ts +16 -51
- package/dist/tools/context-tools.js +303 -55
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/index.d.ts +5 -827
- package/dist/tools/index.js +23 -354
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +4 -60
- package/dist/tools/memory-tools.js +129 -79
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/system-tools.d.ts +3 -34
- package/dist/tools/system-tools.js +110 -33
- package/dist/tools/system-tools.js.map +1 -1
- package/dist/tools/theme-tools.d.ts +3 -31
- package/dist/tools/theme-tools.js +101 -22
- package/dist/tools/theme-tools.js.map +1 -1
- package/dist/tools/types.d.ts +21 -0
- package/dist/tools/types.js +13 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types.d.ts +11 -2
- package/dist/utils/action-entities.d.ts +16 -0
- package/dist/utils/action-entities.js +35 -0
- package/dist/utils/action-entities.js.map +1 -0
- package/dist/utils/date.d.ts +11 -0
- package/dist/utils/date.js +13 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/file-helpers.d.ts +10 -0
- package/dist/utils/file-helpers.js +28 -0
- package/dist/utils/file-helpers.js.map +1 -0
- package/dist/utils/headings.d.ts +5 -0
- package/dist/utils/headings.js +21 -0
- package/dist/utils/headings.js.map +1 -0
- package/dist/utils/search.d.ts +17 -0
- package/dist/utils/search.js +60 -0
- package/dist/utils/search.js.map +1 -0
- package/dist/utils/tools.d.ts +5 -0
- package/dist/utils/tools.js +10 -0
- package/dist/utils/tools.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/vis/api.d.ts +117 -0
- package/dist/vis/api.js +426 -0
- package/dist/vis/api.js.map +1 -0
- package/dist/vis/auto-start.d.ts +12 -0
- package/dist/vis/auto-start.js +87 -0
- package/dist/vis/auto-start.js.map +1 -0
- package/dist/vis/server.d.ts +14 -0
- package/dist/vis/server.js +337 -0
- package/dist/vis/server.js.map +1 -0
- package/dist/vis/static/api.js +57 -0
- package/dist/vis/static/app.js +1468 -0
- package/dist/vis/static/index.html +25 -0
- package/dist/vis/static/state.js +26 -0
- package/dist/vis/static/style.css +1553 -0
- package/dist/vis/static/utils/helpers.js +94 -0
- package/dist/vis/static/utils/markdown.js +81 -0
- package/dist/vis-cli.d.ts +7 -0
- package/dist/vis-cli.js +140 -0
- package/dist/vis-cli.js.map +1 -0
- package/docs/0.agent-memory-market-research.md +354 -0
- package/docs/1.memory-system-proposal-for-kimi-code.md +688 -0
- package/docs/2.memory-architecture-overview.md +417 -0
- package/docs/3.memory-skill-prompt-design.md +430 -0
- package/docs/4.kimi-code-native-evolution-roadmap.md +559 -0
- package/docs/5.decision-guard-design-notes.md +500 -0
- package/docs/ARCHITECTURE.md +2 -2
- package/docs/design-story.md +350 -0
- package/docs/three-layer-memory-model.md +153 -0
- package/docs/three-layer-memory-model.zh-CN.md +153 -0
- package/package.json +12 -6
- package/README.zh-CN.md +0 -292
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kimi-code-memory-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Local stdio MCP server providing cross-session memory for Kimi Code CLI",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"types": "dist/server.d.ts",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"bin": {
|
|
9
9
|
"kimi-code-memory-mcp-server": "dist/server.js",
|
|
10
|
-
"kimi-memory-setup": "dist/setup-cli.js"
|
|
10
|
+
"kimi-memory-setup": "dist/setup-cli.js",
|
|
11
|
+
"kimi-memory-vis": "dist/vis-cli.js"
|
|
11
12
|
},
|
|
12
13
|
"files": [
|
|
13
14
|
"dist/",
|
|
@@ -17,16 +18,18 @@
|
|
|
17
18
|
"assets/",
|
|
18
19
|
"AGENTS.md",
|
|
19
20
|
"README.md",
|
|
20
|
-
"README.
|
|
21
|
+
"README.en.md",
|
|
21
22
|
"LICENSE",
|
|
22
23
|
"CHANGELOG.md"
|
|
23
24
|
],
|
|
24
25
|
"scripts": {
|
|
25
26
|
"sync-version": "node scripts/sync-version.mjs",
|
|
26
|
-
"
|
|
27
|
+
"copy-vis-static": "node scripts/copy-vis-static.mjs",
|
|
28
|
+
"build": "npm run sync-version && tsc && npm run copy-vis-static",
|
|
27
29
|
"dev": "tsx src/server.ts",
|
|
28
30
|
"start": "node dist/server.js",
|
|
29
|
-
"test": "tsx tests/test.ts",
|
|
31
|
+
"test": "tsx tests/test.ts && tsx tests/vis.test.ts",
|
|
32
|
+
"test:unit": "tsx tests/unit/run-all.ts",
|
|
30
33
|
"lint": "eslint src tests",
|
|
31
34
|
"lint:fix": "eslint src tests --fix",
|
|
32
35
|
"format": "prettier --write src tests",
|
|
@@ -53,9 +56,12 @@
|
|
|
53
56
|
},
|
|
54
57
|
"homepage": "https://github.com/Zehee/kimi-code-memory-mcp-server#readme",
|
|
55
58
|
"dependencies": {
|
|
59
|
+
"@hono/node-server": "^2.0.6",
|
|
56
60
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
57
61
|
"@types/better-sqlite3": "^7.6.13",
|
|
58
|
-
"better-sqlite3": "^12.11.1"
|
|
62
|
+
"better-sqlite3": "^12.11.1",
|
|
63
|
+
"hono": "^4.12.27",
|
|
64
|
+
"open": "^11.0.0"
|
|
59
65
|
},
|
|
60
66
|
"devDependencies": {
|
|
61
67
|
"@types/node": "^26.0.0",
|
package/README.zh-CN.md
DELETED
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
# Kimi Code Memory MCP Server
|
|
2
|
-
|
|
3
|
-
[English](./README.md)
|
|
4
|
-
|
|
5
|
-
[](https://github.com/Zehee/kimi-code-memory-mcp-server/actions/workflows/ci.yml)
|
|
6
|
-
[](./LICENSE)
|
|
7
|
-
|
|
8
|
-
一个为 [Kimi Code CLI](https://github.com/MoonshotAI/kimi-code) 提供跨会话记忆的本地 stdio MCP 服务器。
|
|
9
|
-
|
|
10
|
-
> **注意:** 本包已发布到 npm,包名为 `kimi-code-memory-mcp-server`。你可以直接安装,也可以从源码运行。
|
|
11
|
-
|
|
12
|
-
面向用户的记忆以普通 Markdown 文件存储在磁盘上。精炼轮次摘要使用本地 SQLite 缓存,但无需向量数据库、图数据库或外部云服务。
|
|
13
|
-
|
|
14
|
-
## 特性
|
|
15
|
-
|
|
16
|
-
- **Markdown 优先的记忆** —— 人类可读、适合 git、兼容 LLM。
|
|
17
|
-
- **结构化长期记忆** —— `memory/decisions/`、`memory/knowledge/`、`memory/rules/`、`memory/reference/`。
|
|
18
|
-
- **工作区精要** —— 从 `memory/` 提炼生成的浓缩摘要(≤15 KB)。
|
|
19
|
-
- **跨会话上下文恢复** —— 直接解析 Kimi Code CLI 的 `wire.jsonl`。
|
|
20
|
-
- **主题追溯** —— 将对话轮次和记忆关联到主题,并追踪其演化。
|
|
21
|
-
- **精炼轮次摘要** —— 可在多个主题间共享的轮次级原子摘要。
|
|
22
|
-
- **可重建索引** —— `index.json` 只是缓存,`.md` 文件才是真相来源。
|
|
23
|
-
|
|
24
|
-
## 为什么用 Markdown?
|
|
25
|
-
|
|
26
|
-
大多数 Agent 记忆系统默认使用向量数据库。这在模糊检索场景有效,但也让记忆变得不透明、难以审计、难以版本控制。
|
|
27
|
-
|
|
28
|
-
本项目从相反的假设出发:
|
|
29
|
-
|
|
30
|
-
> 记忆在存储之前应该经过**判断、结构化,并由用户拥有**。
|
|
31
|
-
|
|
32
|
-
Markdown + YAML frontmatter 带来:
|
|
33
|
-
|
|
34
|
-
- 完全可读、可编辑
|
|
35
|
-
- 原生支持 git diff
|
|
36
|
-
- 无需外部数据库或云服务
|
|
37
|
-
- 兼容任何能读取文本的 LLM
|
|
38
|
-
|
|
39
|
-
设计 rationale 见 [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md)。
|
|
40
|
-
|
|
41
|
-
## 安装
|
|
42
|
-
|
|
43
|
-
需要 Node.js ≥ 18。
|
|
44
|
-
|
|
45
|
-
### 从 npm 安装(推荐)
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
npm install -g kimi-code-memory-mcp-server
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 从源码安装
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
git clone https://github.com/Zehee/kimi-code-memory-mcp-server.git
|
|
55
|
-
cd kimi-code-memory-mcp-server
|
|
56
|
-
npm install
|
|
57
|
-
npm run build
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## 快速配置(推荐)
|
|
61
|
-
|
|
62
|
-
从 npm 安装后,运行 setup 命令自动配置 Kimi Code CLI:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npx kimi-memory-setup
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
它会完成:
|
|
69
|
-
|
|
70
|
-
1. 检测 `~/.kimi-code` 目录。
|
|
71
|
-
2. 在 `~/.kimi-code/AGENTS.md` 顶部注入记忆协议规则。
|
|
72
|
-
3. 将 `memory-manage` Skill 安装到 `~/.kimi-code/skills/memory-manage`。
|
|
73
|
-
4. 在 `~/.kimi-code/mcp.json` 中添加 `kimi-memory` MCP 服务器配置。
|
|
74
|
-
|
|
75
|
-
预览变更而不写入文件:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
npx kimi-memory-setup --dry-run
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
后续如需移除注入的配置:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
npx kimi-memory-setup --undo
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 配置 Kimi Code CLI(手动)
|
|
88
|
-
|
|
89
|
-
如果你希望手动配置,编辑 `~/.kimi-code/mcp.json` 并添加服务器。
|
|
90
|
-
|
|
91
|
-
如果你用 `npm install -g` 安装,使用全局 `node_modules` 中 `dist/server.js` 的绝对路径:
|
|
92
|
-
|
|
93
|
-
```json
|
|
94
|
-
{
|
|
95
|
-
"mcpServers": {
|
|
96
|
-
"kimi-memory": {
|
|
97
|
-
"command": "node",
|
|
98
|
-
"args": ["/absolute/path/to/global/node_modules/kimi-code-memory-mcp-server/dist/server.js"],
|
|
99
|
-
"enabled": true
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
或者直接通过 `npx` 运行(无需安装):
|
|
106
|
-
|
|
107
|
-
```json
|
|
108
|
-
{
|
|
109
|
-
"mcpServers": {
|
|
110
|
-
"kimi-memory": {
|
|
111
|
-
"command": "npx",
|
|
112
|
-
"args": ["-y", "kimi-code-memory-mcp-server"],
|
|
113
|
-
"enabled": true
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
如果你从源码构建,指向本地 `dist/server.js`:
|
|
120
|
-
|
|
121
|
-
```json
|
|
122
|
-
{
|
|
123
|
-
"mcpServers": {
|
|
124
|
-
"kimi-memory": {
|
|
125
|
-
"command": "node",
|
|
126
|
-
"args": ["/absolute/path/to/kimi-code-memory-mcp-server/dist/server.js"],
|
|
127
|
-
"enabled": true
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
服务器名称 **`kimi-memory`** 很重要,因为本仓库自带的 `AGENTS.md` 规则以 `mcp__kimi-memory__*` 形式调用工具(例如 `mcp__kimi-memory__bootstrap_workspace`)。
|
|
134
|
-
|
|
135
|
-
重启 Kimi Code CLI 以加载该服务器。
|
|
136
|
-
|
|
137
|
-
## 可选:安装用户级 AGENTS.md 启动钩子
|
|
138
|
-
|
|
139
|
-
如需每次会话启动时自动恢复记忆并应用行为规范,将本仓库自带的 `AGENTS.md` 复制到 Kimi Code 用户目录:
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
cp AGENTS.md ~/.kimi-code/AGENTS.md
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
这会安装一个启动钩子,让 Kimi Code CLI 在每次会话开始时调用 `bootstrap_workspace`,并遵循记忆分类和决策守卫规则。由于 `AGENTS.md` 会注入到**每个**会话中,它是放置记忆相关行为协议的正确位置。
|
|
146
|
-
|
|
147
|
-
> **注意:** `AGENTS.md` 规则会注入到每个会话中,请只保留与记忆相关的约定,不要包含属于其他 MCP server 的工具偏好。
|
|
148
|
-
>
|
|
149
|
-
> **前提条件:** 必须在 `~/.kimi-code/mcp.json` 中将 MCP 服务器注册为 `kimi-memory`,否则 `AGENTS.md` 中的 `mcp__kimi-memory__*` 调用会失败。
|
|
150
|
-
|
|
151
|
-
## 可选:安装记忆 Skill
|
|
152
|
-
|
|
153
|
-
本仓库还包含一个轻量 Skill(`skills/memory-manage/SKILL.md`),用于在用户表达记忆相关意图时提醒 Kimi Code CLI 调用记忆工具。
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
cp -r skills/memory-manage ~/.kimi-code/skills/memory-manage
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
该 Skill 本身**不强制**行为,它只是一个调度器。真正的协议(何时 remember、决策守卫等)应配置在 `AGENTS.md` 中。
|
|
160
|
-
|
|
161
|
-
## 快速开始
|
|
162
|
-
|
|
163
|
-
服务器加载后,Agent 可以自然地调用记忆工具(工具名带有你在 MCP 配置中注册的 server 名称前缀,例如 `mcp__kimi-memory__*`):
|
|
164
|
-
|
|
165
|
-
```text
|
|
166
|
-
用户:我们用 SQLite 作为缓存层。
|
|
167
|
-
Agent:[调用 mcp__kimi-memory__remember] key=use-sqlite-cache, folder=memory/decisions
|
|
168
|
-
|
|
169
|
-
用户:为什么选 SQLite?
|
|
170
|
-
Agent:[调用 mcp__kimi-memory__search] query=SQLite cache decision
|
|
171
|
-
[调用 mcp__kimi-memory__recall] key=use-sqlite-cache, folder=memory/decisions
|
|
172
|
-
→ "我们选择 SQLite 而不是 Redis,因为……"
|
|
173
|
-
|
|
174
|
-
用户:缓存设计是怎么演化的?
|
|
175
|
-
Agent:[调用 mcp__kimi-memory__tag_theme] theme=cache-design
|
|
176
|
-
[调用 mcp__kimi-memory__trace_theme] theme=cache-design
|
|
177
|
-
→ 展示跨会话的相关轮次和决策
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## 存储布局
|
|
181
|
-
|
|
182
|
-
服务器将数据存储在 `~/.kimi-code-memory/<workspace-id>/` 下:
|
|
183
|
-
|
|
184
|
-
```text
|
|
185
|
-
~/.kimi-code-memory/workspace-a1b2c3d4/
|
|
186
|
-
├── index.json # v3-kv 元数据缓存(可重建)
|
|
187
|
-
├── memory/
|
|
188
|
-
│ ├── decisions/ # 架构与产品决策
|
|
189
|
-
│ ├── knowledge/ # 项目相关知识
|
|
190
|
-
│ ├── rules/ # 约定与红线
|
|
191
|
-
│ └── reference/ # 外部参考
|
|
192
|
-
├── essence/
|
|
193
|
-
│ └── essence.md # 工作区精要(≤15 KB)
|
|
194
|
-
├── notes/ # 临时速记
|
|
195
|
-
├── themes/
|
|
196
|
-
│ └── my-theme.json # theme -> turn/memory 引用
|
|
197
|
-
└── refined/
|
|
198
|
-
└── refined.sqlite # 轮次级摘要
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
可通过 `MEMORY_STORE_ROOT` 环境变量覆盖存储根目录。
|
|
202
|
-
|
|
203
|
-
### 环境变量
|
|
204
|
-
|
|
205
|
-
| 变量 | 用途 |
|
|
206
|
-
|------|------|
|
|
207
|
-
| `MEMORY_STORE_ROOT` | 覆盖默认存储根目录 `~/.kimi-code-memory`。 |
|
|
208
|
-
| `MEMORY_SESSIONS_ROOT` | 覆盖默认的 `~/.kimi-code/sessions` 路径,用于发现 `wire.jsonl` 文件。 |
|
|
209
|
-
| `KIMI_CODE_HOME` | `MEMORY_SESSIONS_ROOT` 的替代方案;会话从 `<KIMI_CODE_HOME>/sessions` 读取。 |
|
|
210
|
-
|
|
211
|
-
## 工具列表
|
|
212
|
-
|
|
213
|
-
| 工具 | 用途 |
|
|
214
|
-
|------|------|
|
|
215
|
-
| `remember` | 写入一条 Markdown 记忆 |
|
|
216
|
-
| `recall` | 按 key 读取记忆 |
|
|
217
|
-
| `recall_recent` | 列出最近更新的记忆 |
|
|
218
|
-
| `search` | 在记忆中关键词搜索 |
|
|
219
|
-
| `list` | 列出记忆 |
|
|
220
|
-
| `list_tags` | 列出所有标签 |
|
|
221
|
-
| `delete` | 删除记忆 |
|
|
222
|
-
| `move` | 移动或重命名记忆 |
|
|
223
|
-
| `organize_memories` | 将 `memory/` 提炼为 `essence/essence.md` |
|
|
224
|
-
| `sync_workspace_index` | 从磁盘重建 `index.json` |
|
|
225
|
-
| `bootstrap_workspace` | 加载上下文、精要和记忆树 |
|
|
226
|
-
| `load_workspace_context` | 加载最近对话上下文 |
|
|
227
|
-
| `load_more_context` | 加载更早的对话轮次 |
|
|
228
|
-
| `search_context` | 跨所有会话 wire 搜索 |
|
|
229
|
-
| `load_turn_context` | 加载指定轮次详情 |
|
|
230
|
-
| `tag_theme` | 将轮次或记忆关联到主题 |
|
|
231
|
-
| `trace_theme` | 追溯主题演化 |
|
|
232
|
-
| `list_themes` | 列出主题 |
|
|
233
|
-
| `refine_session_turns` | 生成精炼轮次摘要 |
|
|
234
|
-
|
|
235
|
-
## 开发
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
git clone https://github.com/Zehee/kimi-code-memory-mcp-server.git
|
|
239
|
-
cd kimi-code-memory-mcp-server
|
|
240
|
-
npm install
|
|
241
|
-
npm run build
|
|
242
|
-
npm test
|
|
243
|
-
npm run lint
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
贡献指南见 [`docs/CONTRIBUTING.md`](./docs/CONTRIBUTING.zh-CN.md)。
|
|
247
|
-
|
|
248
|
-
## 项目结构
|
|
249
|
-
|
|
250
|
-
```text
|
|
251
|
-
src/
|
|
252
|
-
├── server.ts # MCP 服务器入口
|
|
253
|
-
├── config.ts # 默认值与路径
|
|
254
|
-
├── theme-manager.ts # 主题存储
|
|
255
|
-
├── refined-manager.ts # 精炼轮次存储
|
|
256
|
-
├── dao/
|
|
257
|
-
│ ├── index.ts # index.json DAO(v3-kv)
|
|
258
|
-
│ └── memory-store.ts # Markdown 文件操作
|
|
259
|
-
├── context/
|
|
260
|
-
│ └── wire-context.ts # wire.jsonl 解析
|
|
261
|
-
├── tools/
|
|
262
|
-
│ ├── index.ts # 工具 schema 与分发
|
|
263
|
-
│ ├── memory-tools.ts # 记忆增删改查
|
|
264
|
-
│ ├── context-tools.ts # 上下文恢复
|
|
265
|
-
│ ├── theme-tools.ts # 主题追溯
|
|
266
|
-
│ └── system-tools.ts # 整理/同步/引导
|
|
267
|
-
└── utils/
|
|
268
|
-
├── frontmatter.ts
|
|
269
|
-
├── paths.ts
|
|
270
|
-
└── validation.ts
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
## 路线图
|
|
274
|
-
|
|
275
|
-
- [x] 模块化源码结构
|
|
276
|
-
- [x] ESLint + Prettier
|
|
277
|
-
- [x] 基础集成测试
|
|
278
|
-
- [x] 上下文/主题工具核心测试覆盖
|
|
279
|
-
- [ ] 可选本地 embedding 搜索
|
|
280
|
-
- [ ] 可选 LLM 精炼轮次
|
|
281
|
-
- [ ] 可插拔 wire 格式适配器
|
|
282
|
-
- [ ] 内存使用 benchmark
|
|
283
|
-
|
|
284
|
-
## 相关文档
|
|
285
|
-
|
|
286
|
-
- [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) —— 系统设计与数据流
|
|
287
|
-
- [`docs/search-logic.zh-CN.md`](./docs/search-logic.zh-CN.md) —— `search` 与 `search_context` 的实现逻辑
|
|
288
|
-
- [`docs/CONTRIBUTING.zh-CN.md`](./docs/CONTRIBUTING.zh-CN.md) —— 如何贡献
|
|
289
|
-
|
|
290
|
-
## 许可证
|
|
291
|
-
|
|
292
|
-
MIT
|