kimi-code-memory-mcp-server 0.1.0 → 0.1.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.
Files changed (129) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/README.en.md +342 -0
  3. package/README.md +267 -125
  4. package/assets/contextFlow.svg +144 -0
  5. package/assets/user-agents.md +111 -0
  6. package/dist/config.d.ts +13 -0
  7. package/dist/config.js +13 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/context/wire-context.d.ts +3 -0
  10. package/dist/context/wire-context.js +20 -50
  11. package/dist/context/wire-context.js.map +1 -1
  12. package/dist/dao/constants.d.ts +33 -0
  13. package/dist/dao/constants.js +17 -0
  14. package/dist/dao/constants.js.map +1 -0
  15. package/dist/dao/index-catalog.d.ts +19 -0
  16. package/dist/dao/index-catalog.js +94 -0
  17. package/dist/dao/index-catalog.js.map +1 -0
  18. package/dist/dao/index-reconciler.d.ts +13 -0
  19. package/dist/dao/index-reconciler.js +162 -0
  20. package/dist/dao/index-reconciler.js.map +1 -0
  21. package/dist/dao/index-store.d.ts +31 -0
  22. package/dist/dao/index-store.js +128 -0
  23. package/dist/dao/index-store.js.map +1 -0
  24. package/dist/dao/index.d.ts +12 -31
  25. package/dist/dao/index.js +50 -404
  26. package/dist/dao/index.js.map +1 -1
  27. package/dist/dao/memory-store.js +2 -10
  28. package/dist/dao/memory-store.js.map +1 -1
  29. package/dist/dao/memory-tree-renderer.d.ts +22 -0
  30. package/dist/dao/memory-tree-renderer.js +75 -0
  31. package/dist/dao/memory-tree-renderer.js.map +1 -0
  32. package/dist/prompts/index.d.ts +26 -0
  33. package/dist/prompts/index.js +103 -0
  34. package/dist/prompts/index.js.map +1 -0
  35. package/dist/refine/adapter.d.ts +6 -0
  36. package/dist/refine/adapter.js +28 -0
  37. package/dist/refine/adapter.js.map +1 -0
  38. package/dist/refine/constants.d.ts +35 -0
  39. package/dist/refine/constants.js +107 -0
  40. package/dist/refine/constants.js.map +1 -0
  41. package/dist/refine/extractor.d.ts +12 -0
  42. package/dist/refine/extractor.js +122 -0
  43. package/dist/refine/extractor.js.map +1 -0
  44. package/dist/refine/store.d.ts +19 -0
  45. package/dist/refine/store.js +139 -0
  46. package/dist/refine/store.js.map +1 -0
  47. package/dist/refine/types.d.ts +56 -0
  48. package/dist/refine/types.js +5 -0
  49. package/dist/refine/types.js.map +1 -0
  50. package/dist/refined-manager.d.ts +10 -56
  51. package/dist/refined-manager.js +22 -341
  52. package/dist/refined-manager.js.map +1 -1
  53. package/dist/resources/index.d.ts +15 -0
  54. package/dist/resources/index.js +134 -0
  55. package/dist/resources/index.js.map +1 -0
  56. package/dist/server.js +46 -2
  57. package/dist/server.js.map +1 -1
  58. package/dist/setup-cli.d.ts +11 -0
  59. package/dist/setup-cli.js +84 -0
  60. package/dist/setup-cli.js.map +1 -0
  61. package/dist/setup.d.ts +33 -0
  62. package/dist/setup.js +206 -0
  63. package/dist/setup.js.map +1 -0
  64. package/dist/tools/context-tools.d.ts +16 -51
  65. package/dist/tools/context-tools.js +247 -55
  66. package/dist/tools/context-tools.js.map +1 -1
  67. package/dist/tools/index.d.ts +5 -827
  68. package/dist/tools/index.js +23 -354
  69. package/dist/tools/index.js.map +1 -1
  70. package/dist/tools/memory-tools.d.ts +4 -60
  71. package/dist/tools/memory-tools.js +129 -79
  72. package/dist/tools/memory-tools.js.map +1 -1
  73. package/dist/tools/system-tools.d.ts +3 -34
  74. package/dist/tools/system-tools.js +86 -32
  75. package/dist/tools/system-tools.js.map +1 -1
  76. package/dist/tools/theme-tools.d.ts +3 -31
  77. package/dist/tools/theme-tools.js +78 -22
  78. package/dist/tools/theme-tools.js.map +1 -1
  79. package/dist/tools/types.d.ts +21 -0
  80. package/dist/tools/types.js +13 -0
  81. package/dist/tools/types.js.map +1 -0
  82. package/dist/types.d.ts +4 -2
  83. package/dist/utils/action-entities.d.ts +16 -0
  84. package/dist/utils/action-entities.js +35 -0
  85. package/dist/utils/action-entities.js.map +1 -0
  86. package/dist/utils/date.d.ts +11 -0
  87. package/dist/utils/date.js +13 -0
  88. package/dist/utils/date.js.map +1 -0
  89. package/dist/utils/file-helpers.d.ts +10 -0
  90. package/dist/utils/file-helpers.js +28 -0
  91. package/dist/utils/file-helpers.js.map +1 -0
  92. package/dist/utils/headings.d.ts +5 -0
  93. package/dist/utils/headings.js +21 -0
  94. package/dist/utils/headings.js.map +1 -0
  95. package/dist/utils/search.d.ts +17 -0
  96. package/dist/utils/search.js +60 -0
  97. package/dist/utils/search.js.map +1 -0
  98. package/dist/utils/tools.d.ts +5 -0
  99. package/dist/utils/tools.js +10 -0
  100. package/dist/utils/tools.js.map +1 -0
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.js +1 -1
  103. package/dist/vis/api.d.ts +82 -0
  104. package/dist/vis/api.js +212 -0
  105. package/dist/vis/api.js.map +1 -0
  106. package/dist/vis/auto-start.d.ts +12 -0
  107. package/dist/vis/auto-start.js +87 -0
  108. package/dist/vis/auto-start.js.map +1 -0
  109. package/dist/vis/server.d.ts +14 -0
  110. package/dist/vis/server.js +103 -0
  111. package/dist/vis/server.js.map +1 -0
  112. package/dist/vis/static/app.js +395 -0
  113. package/dist/vis/static/index.html +95 -0
  114. package/dist/vis/static/style.css +707 -0
  115. package/dist/vis-cli.d.ts +7 -0
  116. package/dist/vis-cli.js +140 -0
  117. package/dist/vis-cli.js.map +1 -0
  118. package/docs/0.agent-memory-market-research.md +354 -0
  119. package/docs/1.memory-system-proposal-for-kimi-code.md +688 -0
  120. package/docs/2.memory-architecture-overview.md +417 -0
  121. package/docs/3.memory-skill-prompt-design.md +430 -0
  122. package/docs/4.kimi-code-native-evolution-roadmap.md +559 -0
  123. package/docs/5.decision-guard-design-notes.md +500 -0
  124. package/docs/ARCHITECTURE.md +2 -2
  125. package/docs/design-story.md +350 -0
  126. package/docs/three-layer-memory-model.md +153 -0
  127. package/docs/three-layer-memory-model.zh-CN.md +153 -0
  128. package/package.json +14 -6
  129. package/README.zh-CN.md +0 -227
@@ -0,0 +1,111 @@
1
+ # ⚠️ 强制:每次会话启动必须先执行 `mcp__kimi-memory__bootstrap_workspace()`
2
+
3
+ **在回答用户任何问题或执行任何操作之前,必须先调用 `mcp__kimi-memory__bootstrap_workspace()`。**
4
+
5
+ 未完成 `bootstrap_workspace()` 前,**严禁**:
6
+
7
+ - Read / Write / Edit 等文件操作
8
+ - Bash 命令执行
9
+ - 项目代码相关的 MCP 工具调用
10
+ - 任何可能改变项目状态的操作
11
+
12
+ 调用后必须阅读并内化返回内容:
13
+
14
+ 1. `workspace` —— 工作区基本信息
15
+ 2. `recentContext` —— 最近对话上下文
16
+ 3. `essence` —— `essence/essence.md` 的内容
17
+ 4. `memoryIndexTree` —— 记忆目录结构,关注 `[new]` 标记
18
+ 5. `notesRefs` —— 是否有待处理的速记
19
+
20
+ 然后向用户汇报当前上下文(任务、状态、下一步、阻塞项)。
21
+
22
+ ---
23
+
24
+ # Kimi 全局记忆协议
25
+
26
+
27
+ ## 记忆分类约定
28
+
29
+ | 类型 | folder | tags | 用途 |
30
+ |------|--------|------|------|
31
+ | 决策 | `memory/decisions/` | `decision` | 架构、接口、流程决策 |
32
+ | 规则 | `memory/rules/` | `rule` | 编码规范、协作红线 |
33
+ | 知识 | `memory/knowledge/` | `knowledge` | 技术栈、业务背景 |
34
+ | 参考 | `memory/reference/` | `reference` | 外部链接、文档引用 |
35
+ | 速记 | `notes/` | `scratch` | 临时便签,不进入长期精要 |
36
+
37
+ ## 什么时候必须 `remember`?
38
+
39
+ 出现以下信号时立即写入 `memory/`:
40
+
41
+ - 用户说"我们决定…"、"拍板了" → `memory/decisions/`,tag `decision`
42
+ - 用户说"这里必须…"、"红线是…" → `memory/rules/`,tag `rule`
43
+ - 技术选型、接口约定首次出现 → `memory/knowledge/`,tag `knowledge`
44
+ - 定位到 bug 根因和修复方案 → `memory/decisions/` 或 `memory/knowledge/`,tag `fix`
45
+ - 编码风格、目录结构、命名规范 → `memory/rules/`,tag `convention`
46
+
47
+ ## 什么时候不要 `remember`?
48
+
49
+ - ❌ 临时调试命令或探索性代码
50
+ - ❌ 用户未确认的推测
51
+ - ❌ 一次性报错(没有形成通用结论)
52
+ - ❌ 当前会话的临时上下文(由 `wire.jsonl` 自动捕获)
53
+ - ❌ 已经在 `memory/` 中存在的知识
54
+
55
+ 判断口诀:如果这条信息三天后回头看仍然有价值,才写入 `memory/`。
56
+
57
+ ## 决策守卫
58
+
59
+ 准备执行任何可能改变项目状态的操作之前(写文件、改结构、做选择、引入依赖):
60
+
61
+ 1. 提取关键词(技术实体 + 动作)
62
+ 2. 并行查询:
63
+ - `search(query, folder="memory")` —— 查决策/规则/知识
64
+ - `search_context(query)` —— 查历史对话
65
+ 3. 命中且一致 → 引用来源后继续
66
+ 4. 命中但矛盾 → 向用户报告冲突,请求澄清
67
+ 5. 未命中但重要 → 询问用户"这是一个新决策,是否记录?"
68
+
69
+ ## 引用来源的纪律
70
+
71
+ 所有从 `memory/` 召回的关键结论,回复中必须标注来源:
72
+
73
+ - ✅ "根据 `memory/decisions/xxx`,我们决定…"
74
+ - ❌ "我们之前决定…"(无来源)
75
+
76
+ ## 主题追溯
77
+
78
+ 当用户要求追溯某个主题时:
79
+
80
+ 1. 确认主题范围
81
+ 2. 用 `search_context` 打捞相关 turns(调用时会自动按 90 秒时间簇扩展并提炼命中的 turns)
82
+ 3. 用 `list_search_views` 查看最近的搜索视图,作为 theme 挂载的候选集
83
+ 4. 对搜索命中的 turns 做语义分析,用 `tag_theme` 把 genuinely belongs to the theme 的 turns 逐个挂载到 `themes/<theme>.json`
84
+ 5. 如果候选不足,用新的 query 再次 `search_context` 打捞,生成新的 search view
85
+ 6. 用 `trace_theme` 输出主题时间线
86
+
87
+ `search_context` 已内置提炼能力,不需要单独调用 `refine_session_turns`。
88
+
89
+ ## 记忆卫生检查清单
90
+
91
+ 每次调用 `remember` 前:
92
+
93
+ - [ ] 这条信息三天后还有价值吗?
94
+ - [ ] 是否已有重复记忆?(先 `search`)
95
+ - [ ] `folder` 选对了吗?项目相关不进 `notes/`
96
+ - [ ] `tags` 是否包含最贴切的分类标签?
97
+ - [ ] 正文是否包含决策原因/影响范围/相关文件?
98
+
99
+ 每次做决策前:
100
+
101
+ - [ ] 是否已 `search` 相关历史决策?
102
+ - [ ] 是否已检查 `essence.md` 中的核心约束?
103
+ - [ ] 如果与历史记忆冲突,是否已向用户澄清?
104
+
105
+ ## 禁止行为
106
+
107
+ - 禁止用 `folder="notes"` 保存项目相关记忆
108
+ - 禁止写入空 tags
109
+ - 禁止只口头答应而不调用工具
110
+ - 禁止手动修改 `~/.kimi-code/sessions/` 下的 `wire.jsonl`
111
+ - **当用户输入以 `?` / `?` 结尾时,禁止执行任何写入/修改/构建/运行等改变项目状态的操作**:只能回答问题和进行讨论,必须等待用户明确说出「确定」「可以」「开始吧」等指令后才能行动
package/dist/config.d.ts CHANGED
@@ -34,3 +34,16 @@ export declare const ESSENCE_SIZE_LIMIT: number;
34
34
  * 一段流畅讨论的完整性。每次搜索可以通过 cluster_gap_seconds 参数覆盖。
35
35
  */
36
36
  export declare const DEFAULT_CLUSTER_GAP_SECONDS = 90;
37
+ /**
38
+ * search_context 默认输出预算(字符数)。
39
+ *
40
+ * 默认的 normal 模式会尽量把输出控制在这个范围内,避免一次搜索就占满
41
+ * 上下文窗口。可通过 max_output_chars 参数覆盖,detail: 'full' 时禁用。
42
+ */
43
+ export declare const DEFAULT_SEARCH_OUTPUT_BUDGET = 6000;
44
+ /** search_context 匹配项摘要最大长度。 */
45
+ export declare const SEARCH_SNIPPET_MAX_LEN = 240;
46
+ /** search_context normal 模式匹配项 user 文本最大长度。 */
47
+ export declare const SEARCH_USER_MAX_LEN = 200;
48
+ /** search_context normal 模式匹配项 agent 文本最大长度。 */
49
+ export declare const SEARCH_AGENT_MAX_LEN = 400;
package/dist/config.js CHANGED
@@ -60,4 +60,17 @@ export const ESSENCE_SIZE_LIMIT = 15 * 1024; // 15 KB
60
60
  * 一段流畅讨论的完整性。每次搜索可以通过 cluster_gap_seconds 参数覆盖。
61
61
  */
62
62
  export const DEFAULT_CLUSTER_GAP_SECONDS = 90;
63
+ /**
64
+ * search_context 默认输出预算(字符数)。
65
+ *
66
+ * 默认的 normal 模式会尽量把输出控制在这个范围内,避免一次搜索就占满
67
+ * 上下文窗口。可通过 max_output_chars 参数覆盖,detail: 'full' 时禁用。
68
+ */
69
+ export const DEFAULT_SEARCH_OUTPUT_BUDGET = 6000;
70
+ /** search_context 匹配项摘要最大长度。 */
71
+ export const SEARCH_SNIPPET_MAX_LEN = 240;
72
+ /** search_context normal 模式匹配项 user 文本最大长度。 */
73
+ export const SEARCH_USER_MAX_LEN = 200;
74
+ /** search_context normal 模式匹配项 agent 文本最大长度。 */
75
+ export const SEARCH_AGENT_MAX_LEN = 400;
63
76
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAEpC,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;IACvB,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAEpC,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,cAAc,EAAE,CAAC;IACjB,oBAAoB,EAAE,CAAC;IACvB,iBAAiB,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD,gCAAgC;AAChC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,gDAAgD;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC"}
@@ -47,6 +47,9 @@ export interface SearchOptions {
47
47
  dateFrom?: string;
48
48
  dateTo?: string;
49
49
  refinedManager?: RefinedManager;
50
+ userMaxLen?: number;
51
+ agentMaxLen?: number;
52
+ snippetMaxLen?: number;
50
53
  }
51
54
  export interface SearchMatch {
52
55
  sessionId: string;
@@ -7,8 +7,9 @@
7
7
  import fs from 'fs';
8
8
  import path from 'path';
9
9
  import readline from 'readline';
10
- import { getStoreRoot, getSessionsRoot, DEFAULT_CONTEXT_WINDOW, DEFAULT_RECENT_CHANGE_LIMIT, } from '../config.js';
10
+ import { getStoreRoot, getSessionsRoot, DEFAULT_CONTEXT_WINDOW, DEFAULT_RECENT_CHANGE_LIMIT, SEARCH_SNIPPET_MAX_LEN, SEARCH_USER_MAX_LEN, SEARCH_AGENT_MAX_LEN, } from '../config.js';
11
11
  import { computeWorkspaceHash } from '../utils/paths.js';
12
+ import { scoreText, extractSnippet } from '../utils/search.js';
12
13
  function getMcpConfigPath() {
13
14
  return path.join(getStoreRoot(), 'mcp-config.json');
14
15
  }
@@ -155,18 +156,20 @@ function truncate(text, maxLen) {
155
156
  const s = String(text);
156
157
  return s.length > maxLen ? s.slice(0, maxLen) + '...' : s;
157
158
  }
158
- function buildMatchFromRefined(refined, terms) {
159
+ function buildMatchFromRefined(refined, terms, options = {}) {
159
160
  // Refined summaries already condense user intent, tool usage, and agent lead.
160
161
  // Use them as the primary content when the original wire is unavailable.
161
162
  const snippetSource = [refined.summary, ...refined.facts, ...refined.notes].join('\n');
163
+ const agentMaxLen = options.agentMaxLen ?? SEARCH_AGENT_MAX_LEN;
164
+ const snippetMaxLen = options.snippetMaxLen ?? SEARCH_SNIPPET_MAX_LEN;
162
165
  return {
163
166
  sessionId: refined.sessionId,
164
167
  turnId: refined.turnId,
165
168
  timestamp: refined.timestamp ?? null,
166
169
  score: refined.score,
167
170
  user: '',
168
- agent: truncate(refined.summary, 2000),
169
- snippet: extractSnippet(snippetSource, terms, 240),
171
+ agent: truncate(refined.summary, agentMaxLen),
172
+ snippet: extractSnippet(snippetSource, terms, snippetMaxLen),
170
173
  actions: [],
171
174
  };
172
175
  }
@@ -365,43 +368,6 @@ export function loadMoreRounds(turns, beforeTurnId, limit) {
365
368
  const selected = older.slice(-chunkSize);
366
369
  return selected.map(toSummaryRound);
367
370
  }
368
- function scoreRound(turn, terms) {
369
- const haystack = `${turn.user}\n${turn.agentText}\n${turn.actions
370
- .map((a) => a.name)
371
- .join(' ')}`.toLowerCase();
372
- let score = 0;
373
- for (const term of terms) {
374
- const re = new RegExp(term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gi');
375
- const matches = haystack.match(re);
376
- if (matches)
377
- score += matches.length;
378
- }
379
- return score;
380
- }
381
- function extractSnippet(text, terms, maxLen = 200) {
382
- if (!terms.length)
383
- return truncate(text, maxLen);
384
- const lower = text.toLowerCase();
385
- let bestPos = -1;
386
- let bestTermLen = 0;
387
- for (const term of terms) {
388
- const idx = lower.indexOf(term);
389
- if (idx !== -1 && term.length > bestTermLen) {
390
- bestPos = idx;
391
- bestTermLen = term.length;
392
- }
393
- }
394
- if (bestPos === -1)
395
- return truncate(text, maxLen);
396
- const start = Math.max(0, bestPos - 60);
397
- const end = Math.min(text.length, bestPos + bestTermLen + 60);
398
- let snippet = text.slice(start, end);
399
- if (start > 0)
400
- snippet = '...' + snippet;
401
- if (end < text.length)
402
- snippet = snippet + '...';
403
- return snippet;
404
- }
405
371
  /**
406
372
  * Search across all workspace session wires for rounds matching the query.
407
373
  *
@@ -415,6 +381,9 @@ export async function searchWireContext(query, options = {}) {
415
381
  const dateFrom = options.dateFrom || null;
416
382
  const dateTo = options.dateTo || null;
417
383
  const refinedManager = options.refinedManager;
384
+ const userMaxLen = options.userMaxLen ?? SEARCH_USER_MAX_LEN;
385
+ const agentMaxLen = options.agentMaxLen ?? SEARCH_AGENT_MAX_LEN;
386
+ const snippetMaxLen = options.snippetMaxLen ?? SEARCH_SNIPPET_MAX_LEN;
418
387
  const terms = query
419
388
  .toLowerCase()
420
389
  .split(/\s+/)
@@ -450,13 +419,13 @@ export async function searchWireContext(query, options = {}) {
450
419
  if (!turns) {
451
420
  // The original wire has been removed, but the refined summary still
452
421
  // contains the key facts. Return it instead of skipping.
453
- matches.push(buildMatchFromRefined(refined, terms));
422
+ matches.push(buildMatchFromRefined(refined, terms, options));
454
423
  continue;
455
424
  }
456
425
  const turn = turns.find((t) => parseInt(t.turnId, 10) === refined.turnId);
457
426
  if (!turn) {
458
427
  // The turn is gone from the wire; fall back to the refined record.
459
- matches.push(buildMatchFromRefined(refined, terms));
428
+ matches.push(buildMatchFromRefined(refined, terms, options));
460
429
  continue;
461
430
  }
462
431
  const roundDate = turn.timestamp ? turn.timestamp.slice(0, 10) : null;
@@ -470,9 +439,9 @@ export async function searchWireContext(query, options = {}) {
470
439
  turnId: refined.turnId,
471
440
  timestamp: turn.timestamp || null,
472
441
  score: refined.score,
473
- user: truncate(turn.user, 1000),
474
- agent: truncate(turn.agentText, 2000),
475
- snippet: extractSnippet(fullText, terms, 240),
442
+ user: truncate(turn.user, userMaxLen),
443
+ agent: truncate(turn.agentText, agentMaxLen),
444
+ snippet: extractSnippet(fullText, terms, snippetMaxLen),
476
445
  actions: turn.actions.map((a) => a.name).filter(Boolean),
477
446
  });
478
447
  hits.push({ sessionId: refined.sessionId, turn });
@@ -499,7 +468,8 @@ export async function searchWireContext(query, options = {}) {
499
468
  continue;
500
469
  if (dateTo && roundDate && roundDate > dateTo)
501
470
  continue;
502
- const score = scoreRound(turn, terms);
471
+ const haystack = `${turn.user}\n${turn.agentText}\n${turn.actions.map((a) => a.name).join(' ')}`;
472
+ const score = scoreText(haystack, terms);
503
473
  if (score === 0)
504
474
  continue;
505
475
  const fullText = `${turn.user}\n${turn.agentText}`;
@@ -508,9 +478,9 @@ export async function searchWireContext(query, options = {}) {
508
478
  turnId: parseInt(turn.turnId, 10),
509
479
  timestamp: turn.timestamp || null,
510
480
  score,
511
- user: truncate(turn.user, 1000),
512
- agent: truncate(turn.agentText, 2000),
513
- snippet: extractSnippet(fullText, terms, 240),
481
+ user: truncate(turn.user, userMaxLen),
482
+ agent: truncate(turn.agentText, agentMaxLen),
483
+ snippet: extractSnippet(fullText, terms, snippetMaxLen),
514
484
  actions: turn.actions.map((a) => a.name).filter(Boolean),
515
485
  });
516
486
  hits.push({ sessionId: session.sessionId, turn });
@@ -1 +1 @@
1
- {"version":3,"file":"wire-context.js","sourceRoot":"","sources":["../../src/context/wire-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire-context.js","sourceRoot":"","sources":["../../src/context/wire-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared types and constants for the index DAO layer.
3
+ */
4
+ export interface IndexEntry {
5
+ title?: string;
6
+ tags?: string[];
7
+ comment?: string;
8
+ }
9
+ export interface IndexData {
10
+ version: string;
11
+ meta: {
12
+ lastSyncAt: string | null;
13
+ structureHash: string | null;
14
+ };
15
+ index: Record<string, IndexEntry>;
16
+ }
17
+ export interface ReconcileOptions {
18
+ folderComments?: Record<string, string>;
19
+ }
20
+ export interface ReconcileReport {
21
+ scannedFiles: number;
22
+ addedEntries: number;
23
+ removedEntries: number;
24
+ updatedEntries: number;
25
+ addedFolders: number;
26
+ }
27
+ export interface ReconcileResult {
28
+ synced: boolean;
29
+ skipped: boolean;
30
+ structureHash: string;
31
+ report: ReconcileReport;
32
+ }
33
+ export declare const FALLBACK_FOLDER_COMMENTS: Record<string, string>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared types and constants for the index DAO layer.
3
+ */
4
+ export const FALLBACK_FOLDER_COMMENTS = {
5
+ memory: '完整记忆索引(按领域分组)',
6
+ decisions: '关键产品/架构决策',
7
+ rules: '协作规则与编码红线',
8
+ knowledge: '项目知识',
9
+ architecture: '架构与数据模型',
10
+ frontend: '前端与渲染',
11
+ product: '产品与版型',
12
+ engineering: '工程实践',
13
+ reference: '参考文档',
14
+ notes: '日常速记',
15
+ essence: '整理后的工作区精要',
16
+ };
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/dao/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoCH,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,MAAM,EAAE,eAAe;IACvB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,WAAW;CACrB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Read-only index catalog: lookups, refs, and tree data construction.
3
+ */
4
+ import type { IndexEntry } from './constants.js';
5
+ import type { IndexStore } from './index-store.js';
6
+ import type { TreeNode } from './memory-tree-renderer.js';
7
+ export declare class IndexCatalog {
8
+ storeRoot: string;
9
+ private store;
10
+ constructor(storeRoot: string, store: IndexStore);
11
+ listRefs(folder?: string): {
12
+ key: string;
13
+ folder: string;
14
+ title: string;
15
+ tags: string[];
16
+ }[];
17
+ lookupByPath(relativePath: string): IndexEntry | undefined;
18
+ buildMemoryTreeData(): TreeNode;
19
+ }
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Read-only index catalog: lookups, refs, and tree data construction.
3
+ */
4
+ import path from 'path';
5
+ import { safeParseFile } from '../utils/file-helpers.js';
6
+ import { toTitle } from '../utils/validation.js';
7
+ export class IndexCatalog {
8
+ storeRoot;
9
+ store;
10
+ constructor(storeRoot, store) {
11
+ this.storeRoot = storeRoot;
12
+ this.store = store;
13
+ }
14
+ listRefs(folder) {
15
+ const index = this.store.getIndex().index;
16
+ const prefix = folder ? (folder.endsWith('/') ? folder : `${folder}/`) : '';
17
+ const keys = Object.keys(index).filter((k) => {
18
+ if (!k.endsWith('.md'))
19
+ return false;
20
+ return !prefix || k.startsWith(prefix);
21
+ });
22
+ return keys
23
+ .map((k) => {
24
+ const value = index[k];
25
+ return {
26
+ key: path.basename(k, '.md'),
27
+ folder: path.dirname(k),
28
+ title: value.title || toTitle(path.basename(k, '.md')),
29
+ tags: Array.isArray(value.tags) ? value.tags : [],
30
+ };
31
+ })
32
+ .sort((a, b) => a.folder.localeCompare(b.folder) || a.key.localeCompare(b.key));
33
+ }
34
+ lookupByPath(relativePath) {
35
+ return this.store.getIndex().index[relativePath];
36
+ }
37
+ buildMemoryTreeData() {
38
+ const index = this.store.getIndex().index;
39
+ const root = {
40
+ name: 'memory',
41
+ children: new Map(),
42
+ files: [],
43
+ comment: index['memory/']?.comment || '',
44
+ };
45
+ for (const key of Object.keys(index)) {
46
+ if (!key.startsWith('memory/'))
47
+ continue;
48
+ if (key.endsWith('/')) {
49
+ if (key === 'memory/')
50
+ continue;
51
+ const relativeFolder = key.slice(7, -1);
52
+ const parts = relativeFolder ? relativeFolder.split('/') : [];
53
+ let current = root;
54
+ for (const part of parts) {
55
+ let child = current.children.get(part);
56
+ if (!child) {
57
+ child = { name: part, children: new Map(), files: [], comment: '' };
58
+ current.children.set(part, child);
59
+ }
60
+ current = child;
61
+ }
62
+ current.comment = index[key].comment || '';
63
+ }
64
+ else if (key.endsWith('.md')) {
65
+ const relativePath = key.slice(7);
66
+ const dirPart = path.dirname(relativePath);
67
+ const parts = dirPart === '.' ? [] : dirPart.split('/');
68
+ const fileName = path.basename(key, '.md');
69
+ const value = index[key];
70
+ let current = root;
71
+ for (const part of parts) {
72
+ let child = current.children.get(part);
73
+ if (!child) {
74
+ child = { name: part, children: new Map(), files: [], comment: '' };
75
+ current.children.set(part, child);
76
+ }
77
+ current = child;
78
+ }
79
+ const filePath = path.join(this.storeRoot, key);
80
+ const parsed = safeParseFile(filePath);
81
+ const file = {
82
+ key: fileName,
83
+ title: value.title || toTitle(fileName),
84
+ tags: Array.isArray(value.tags) ? value.tags : [],
85
+ updatedAt: String(parsed?.frontmatter?.updatedAt || ''),
86
+ createdAt: String(parsed?.frontmatter?.createdAt || ''),
87
+ };
88
+ current.files.push(file);
89
+ }
90
+ }
91
+ return root;
92
+ }
93
+ }
94
+ //# sourceMappingURL=index-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-catalog.js","sourceRoot":"","sources":["../../src/dao/index-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Index reconciler: directory scanning, structure hashing, and full rebuild.
3
+ */
4
+ import type { IndexEntry, ReconcileOptions, ReconcileResult } from './constants.js';
5
+ import type { IndexStore } from './index-store.js';
6
+ export declare class IndexReconciler {
7
+ storeRoot: string;
8
+ private store;
9
+ constructor(storeRoot: string, store: IndexStore);
10
+ computeStructureHash(): string;
11
+ buildEntryValueFromFile(filePath: string): IndexEntry;
12
+ reconcileIndex(options?: ReconcileOptions): ReconcileResult;
13
+ }