@zooique/memora 2.0.0 → 2.0.3

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 (212) hide show
  1. package/README.en.md +272 -0
  2. package/README.md +150 -38
  3. package/dist/agent/agent.d.ts +233 -58
  4. package/dist/agent/agent.d.ts.map +1 -1
  5. package/dist/agent/agent.js +651 -359
  6. package/dist/agent/agent.js.map +1 -1
  7. package/dist/agent/assembler.d.ts +29 -13
  8. package/dist/agent/assembler.d.ts.map +1 -1
  9. package/dist/agent/assembler.js +79 -44
  10. package/dist/agent/assembler.js.map +1 -1
  11. package/dist/agent/builtinToolHandlers.d.ts +26 -1
  12. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  13. package/dist/agent/builtinToolHandlers.js +73 -1
  14. package/dist/agent/builtinToolHandlers.js.map +1 -1
  15. package/dist/agent/constants.d.ts +4 -0
  16. package/dist/agent/constants.d.ts.map +1 -1
  17. package/dist/agent/constants.js +4 -0
  18. package/dist/agent/constants.js.map +1 -1
  19. package/dist/agent/contextManager.d.ts +8 -0
  20. package/dist/agent/contextManager.d.ts.map +1 -1
  21. package/dist/agent/contextManager.js +7 -2
  22. package/dist/agent/contextManager.js.map +1 -1
  23. package/dist/agent/guardrail.d.ts +4 -2
  24. package/dist/agent/guardrail.d.ts.map +1 -1
  25. package/dist/agent/guardrail.js +13 -5
  26. package/dist/agent/guardrail.js.map +1 -1
  27. package/dist/agent/loop.d.ts +58 -14
  28. package/dist/agent/loop.d.ts.map +1 -1
  29. package/dist/agent/loop.js +184 -131
  30. package/dist/agent/loop.js.map +1 -1
  31. package/dist/agent/managers/archiveCoordinator.d.ts +126 -22
  32. package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
  33. package/dist/agent/managers/archiveCoordinator.js +239 -44
  34. package/dist/agent/managers/archiveCoordinator.js.map +1 -1
  35. package/dist/agent/managers/autoConfigRefiner.d.ts.map +1 -1
  36. package/dist/agent/managers/autoConfigRefiner.js +4 -8
  37. package/dist/agent/managers/autoConfigRefiner.js.map +1 -1
  38. package/dist/agent/managers/configManager.d.ts +87 -3
  39. package/dist/agent/managers/configManager.d.ts.map +1 -1
  40. package/dist/agent/managers/configManager.js +139 -2
  41. package/dist/agent/managers/configManager.js.map +1 -1
  42. package/dist/agent/managers/dedupManager.d.ts +169 -0
  43. package/dist/agent/managers/dedupManager.d.ts.map +1 -0
  44. package/dist/agent/managers/dedupManager.js +336 -0
  45. package/dist/agent/managers/dedupManager.js.map +1 -0
  46. package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
  47. package/dist/agent/managers/insightExtractor.js +11 -11
  48. package/dist/agent/managers/insightExtractor.js.map +1 -1
  49. package/dist/agent/managers/llmJudgeHelper.d.ts +38 -0
  50. package/dist/agent/managers/llmJudgeHelper.d.ts.map +1 -0
  51. package/dist/agent/managers/llmJudgeHelper.js +49 -0
  52. package/dist/agent/managers/llmJudgeHelper.js.map +1 -0
  53. package/dist/agent/managers/memoryAdvisor.d.ts +3 -3
  54. package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
  55. package/dist/agent/managers/memoryAdvisor.js +53 -67
  56. package/dist/agent/managers/memoryAdvisor.js.map +1 -1
  57. package/dist/agent/managers/memoryDecayScheduler.d.ts +46 -5
  58. package/dist/agent/managers/memoryDecayScheduler.d.ts.map +1 -1
  59. package/dist/agent/managers/memoryDecayScheduler.js +127 -63
  60. package/dist/agent/managers/memoryDecayScheduler.js.map +1 -1
  61. package/dist/agent/managers/memoryGovernance.d.ts +56 -0
  62. package/dist/agent/managers/memoryGovernance.d.ts.map +1 -0
  63. package/dist/agent/managers/memoryGovernance.js +63 -0
  64. package/dist/agent/managers/memoryGovernance.js.map +1 -0
  65. package/dist/agent/managers/memoryInspector.d.ts +32 -157
  66. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  67. package/dist/agent/managers/memoryInspector.js +70 -363
  68. package/dist/agent/managers/memoryInspector.js.map +1 -1
  69. package/dist/agent/managers/relationBuilder.js +2 -2
  70. package/dist/agent/managers/relationBuilder.js.map +1 -1
  71. package/dist/agent/managers/sessionArchiver.d.ts +6 -1
  72. package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
  73. package/dist/agent/managers/sessionArchiver.js +19 -22
  74. package/dist/agent/managers/sessionArchiver.js.map +1 -1
  75. package/dist/agent/managers/streamAccumulator.d.ts +45 -0
  76. package/dist/agent/managers/streamAccumulator.d.ts.map +1 -0
  77. package/dist/agent/managers/streamAccumulator.js +40 -0
  78. package/dist/agent/managers/streamAccumulator.js.map +1 -0
  79. package/dist/agent/managers/textPolishManager.d.ts.map +1 -1
  80. package/dist/agent/managers/textPolishManager.js +4 -7
  81. package/dist/agent/managers/textPolishManager.js.map +1 -1
  82. package/dist/agent/managers/workProjection.d.ts +16 -1
  83. package/dist/agent/managers/workProjection.d.ts.map +1 -1
  84. package/dist/agent/managers/workProjection.js +48 -24
  85. package/dist/agent/managers/workProjection.js.map +1 -1
  86. package/dist/agent/toolExecutor.d.ts +22 -2
  87. package/dist/agent/toolExecutor.d.ts.map +1 -1
  88. package/dist/agent/toolExecutor.js +28 -3
  89. package/dist/agent/toolExecutor.js.map +1 -1
  90. package/dist/agent/types.d.ts +10 -1
  91. package/dist/agent/types.d.ts.map +1 -1
  92. package/dist/agent/userFactExtractor.d.ts.map +1 -1
  93. package/dist/agent/userFactExtractor.js +7 -0
  94. package/dist/agent/userFactExtractor.js.map +1 -1
  95. package/dist/config/loader.d.ts +124 -236
  96. package/dist/config/loader.d.ts.map +1 -1
  97. package/dist/config/loader.js +273 -117
  98. package/dist/config/loader.js.map +1 -1
  99. package/dist/index.d.ts +7 -2
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +9 -0
  102. package/dist/index.js.map +1 -1
  103. package/dist/llm/embedding.d.ts +13 -1
  104. package/dist/llm/embedding.d.ts.map +1 -1
  105. package/dist/llm/embedding.js.map +1 -1
  106. package/dist/llm/factory.d.ts +19 -5
  107. package/dist/llm/factory.d.ts.map +1 -1
  108. package/dist/llm/factory.js +19 -37
  109. package/dist/llm/factory.js.map +1 -1
  110. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  111. package/dist/llm/openaiCompatible.js +2 -9
  112. package/dist/llm/openaiCompatible.js.map +1 -1
  113. package/dist/logging/logger.d.ts +3 -1
  114. package/dist/logging/logger.d.ts.map +1 -1
  115. package/dist/logging/logger.js +47 -50
  116. package/dist/logging/logger.js.map +1 -1
  117. package/dist/memory/governance.d.ts +50 -0
  118. package/dist/memory/governance.d.ts.map +1 -0
  119. package/dist/memory/governance.js +70 -0
  120. package/dist/memory/governance.js.map +1 -0
  121. package/dist/memory/hybridMerge.d.ts +0 -4
  122. package/dist/memory/hybridMerge.d.ts.map +1 -1
  123. package/dist/memory/hybridMerge.js +19 -4
  124. package/dist/memory/hybridMerge.js.map +1 -1
  125. package/dist/memory/inMemoryRelationStore.d.ts +7 -0
  126. package/dist/memory/inMemoryRelationStore.d.ts.map +1 -1
  127. package/dist/memory/inMemoryRelationStore.js +15 -0
  128. package/dist/memory/inMemoryRelationStore.js.map +1 -1
  129. package/dist/memory/inMemoryStorage.d.ts +36 -1
  130. package/dist/memory/inMemoryStorage.d.ts.map +1 -1
  131. package/dist/memory/inMemoryStorage.js +66 -16
  132. package/dist/memory/inMemoryStorage.js.map +1 -1
  133. package/dist/memory/loader.d.ts +2 -0
  134. package/dist/memory/loader.d.ts.map +1 -1
  135. package/dist/memory/loader.js +8 -1
  136. package/dist/memory/loader.js.map +1 -1
  137. package/dist/memory/lockManager.d.ts +7 -2
  138. package/dist/memory/lockManager.d.ts.map +1 -1
  139. package/dist/memory/lockManager.js +31 -5
  140. package/dist/memory/lockManager.js.map +1 -1
  141. package/dist/memory/projectManager.d.ts +2 -1
  142. package/dist/memory/projectManager.d.ts.map +1 -1
  143. package/dist/memory/projectManager.js +21 -3
  144. package/dist/memory/projectManager.js.map +1 -1
  145. package/dist/memory/projectRegistry.d.ts +34 -1
  146. package/dist/memory/projectRegistry.d.ts.map +1 -1
  147. package/dist/memory/projectRegistry.js +99 -22
  148. package/dist/memory/projectRegistry.js.map +1 -1
  149. package/dist/memory/recall.d.ts +16 -0
  150. package/dist/memory/recall.d.ts.map +1 -1
  151. package/dist/memory/recall.js +33 -18
  152. package/dist/memory/recall.js.map +1 -1
  153. package/dist/memory/relationStore.d.ts +20 -3
  154. package/dist/memory/relationStore.d.ts.map +1 -1
  155. package/dist/memory/sourceValidation.d.ts +11 -0
  156. package/dist/memory/sourceValidation.d.ts.map +1 -1
  157. package/dist/memory/sourceValidation.js +24 -2
  158. package/dist/memory/sourceValidation.js.map +1 -1
  159. package/dist/memory/storageInterface.d.ts +26 -1
  160. package/dist/memory/storageInterface.d.ts.map +1 -1
  161. package/dist/memory/store.d.ts +22 -1
  162. package/dist/memory/store.d.ts.map +1 -1
  163. package/dist/memory/store.js +58 -20
  164. package/dist/memory/store.js.map +1 -1
  165. package/dist/memory/types.d.ts +44 -31
  166. package/dist/memory/types.d.ts.map +1 -1
  167. package/dist/memory/types.js +63 -24
  168. package/dist/memory/types.js.map +1 -1
  169. package/dist/memory/userProfile.d.ts +32 -8
  170. package/dist/memory/userProfile.d.ts.map +1 -1
  171. package/dist/memory/userProfile.js +105 -44
  172. package/dist/memory/userProfile.js.map +1 -1
  173. package/dist/memory/vectorStore.d.ts +16 -22
  174. package/dist/memory/vectorStore.d.ts.map +1 -1
  175. package/dist/memory/vectorStore.js +49 -22
  176. package/dist/memory/vectorStore.js.map +1 -1
  177. package/dist/persona/personaManager.d.ts +36 -87
  178. package/dist/persona/personaManager.d.ts.map +1 -1
  179. package/dist/persona/personaManager.js +131 -230
  180. package/dist/persona/personaManager.js.map +1 -1
  181. package/dist/skill/skillManager.d.ts +11 -57
  182. package/dist/skill/skillManager.d.ts.map +1 -1
  183. package/dist/skill/skillManager.js +46 -142
  184. package/dist/skill/skillManager.js.map +1 -1
  185. package/dist/skill/types.d.ts +2 -3
  186. package/dist/skill/types.d.ts.map +1 -1
  187. package/dist/utils/configResourceManager.d.ts +111 -0
  188. package/dist/utils/configResourceManager.d.ts.map +1 -0
  189. package/dist/utils/configResourceManager.js +148 -0
  190. package/dist/utils/configResourceManager.js.map +1 -0
  191. package/dist/utils/errors.d.ts +17 -0
  192. package/dist/utils/errors.d.ts.map +1 -1
  193. package/dist/utils/errors.js +19 -0
  194. package/dist/utils/errors.js.map +1 -1
  195. package/dist/utils/eventEmitter.d.ts +83 -6
  196. package/dist/utils/eventEmitter.d.ts.map +1 -1
  197. package/dist/utils/eventEmitter.js +23 -0
  198. package/dist/utils/eventEmitter.js.map +1 -1
  199. package/dist/utils/frontmatter.d.ts.map +1 -1
  200. package/dist/utils/frontmatter.js +4 -2
  201. package/dist/utils/frontmatter.js.map +1 -1
  202. package/dist/utils/math.d.ts +11 -0
  203. package/dist/utils/math.d.ts.map +1 -1
  204. package/dist/utils/math.js +17 -0
  205. package/dist/utils/math.js.map +1 -1
  206. package/dist/utils/segmenter.d.ts +0 -10
  207. package/dist/utils/segmenter.d.ts.map +1 -1
  208. package/dist/utils/segmenter.js +10 -1
  209. package/dist/utils/segmenter.js.map +1 -1
  210. package/docs/memora-api-reference.md +1235 -0
  211. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +808 -0
  212. package/package.json +39 -22
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ import { InsightExtractor } from '../agent/managers/insightExtractor.js';
22
22
  import { SessionArchiver } from '../agent/managers/sessionArchiver.js';
23
23
  import { ConfigManager } from '../agent/managers/configManager.js';
24
24
  import { MemoryInspector } from '../agent/managers/memoryInspector.js';
25
+ import { DedupManager } from '../agent/managers/dedupManager.js';
26
+ import { MemoryAdvisor } from '../agent/managers/memoryAdvisor.js';
25
27
  import { AutoConfigRefiner } from '../agent/managers/autoConfigRefiner.js';
26
28
  import { TextPolishManager } from '../agent/managers/textPolishManager.js';
27
29
  import type { LlmProvider } from '../llm/provider.js';
@@ -50,6 +52,19 @@ export interface AssembleInput {
50
52
  * 注入此字段可覆盖默认 locale,实现国际化时间格式。
51
53
  */
52
54
  locale?: string;
55
+ /** 作品投影生成/更新回调(宿主可据此发射事件通知用户) */
56
+ onWorkProjectionGenerated?: (sourcePath: string, summary: string) => void;
57
+ /** 上下文截断回调 */
58
+ onContextTruncated?: (skippedCount: number, keptCount: number) => void;
59
+ /** 语义去重完成回调 */
60
+ onDedupCompleted?: (report: {
61
+ scannedCount: number;
62
+ pairCount: number;
63
+ deduplicatedCount: number;
64
+ demotedIds: string[];
65
+ }) => void;
66
+ /** 护栏规则正则编译失败回调(宿主可据此发射 guardrailError 事件通知用户) */
67
+ onGuardrailError?: (rule: string, message: string) => void;
53
68
  }
54
69
  /** 组装器输出(所有创建的组件引用) */
55
70
  export interface AssembleOutput {
@@ -63,24 +78,25 @@ export interface AssembleOutput {
63
78
  insightExtractor: InsightExtractor;
64
79
  configManager: ConfigManager;
65
80
  memoryInspector: MemoryInspector;
81
+ /**
82
+ * 语义去重管理器(L1 LLM 记忆治理)
83
+ *
84
+ * SPLIT-3 闭环(2026-07-21):从 MemoryInspector 拆分出 deduplicateMemories 职责,
85
+ * 让 MemoryInspector 回归纯存储读写。Agent.deduplicateMemories() 委托本对象。
86
+ */
87
+ dedupManager: DedupManager;
88
+ /**
89
+ * 记忆顾问(L3 冲突检测 / sourceHealth / suggest)
90
+ *
91
+ * v2 REPEAT-PROXY-1 闭环:Agent.detectConflicts 收缩为直接调用 advisor,
92
+ * 不再经 MemoryInspector 转发。assembler 显式返回 advisor 供 Agent 持有。
93
+ */
94
+ memoryAdvisor: MemoryAdvisor;
66
95
  autoConfigRefiner: AutoConfigRefiner;
67
96
  /** 会话内容归档器(content 类记忆) */
68
97
  sessionArchiver: SessionArchiver;
69
98
  /** 文本润色管理器(LLM 语法修正 + 表达优化) */
70
99
  textPolisher: TextPolishManager;
71
100
  }
72
- /**
73
- * 组装所有运行时组件
74
- *
75
- * 组件创建顺序(解决循环依赖):
76
- * 1. 无依赖组件:history, workProjection, toolExec
77
- * 2. 依赖 Provider 的组件:personaManager, userProfile, skillManager
78
- * 3. AgentLoop(依赖 toolExec + systemPromptPrefix)
79
- * 4. 依赖 Loop 的组件:insightExtractor, configManager, memoryInspector
80
- *
81
- * @param pctx 项目上下文
82
- * @param input 组装参数
83
- * @returns 所有组件引用
84
- */
85
101
  export declare function assembleComponents(pctx: ProjectContext, input: AssembleInput): Promise<AssembleOutput>;
86
102
  //# sourceMappingURL=assembler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,cAAc;AACd,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,kBAAkB,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,wCAAwC;IACxC,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,oBAAoB,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uBAAuB;AACvB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,qBAAqB,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,2BAA2B;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,+BAA+B;IAC/B,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,cAAc,CAAC,CAkJzB"}
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ import { RelationBuilder } from '../agent/managers/relationBuilder.js';
22
22
  import { SessionArchiver } from '../agent/managers/sessionArchiver.js';
23
23
  import { ConfigManager } from '../agent/managers/configManager.js';
24
24
  import { MemoryInspector } from '../agent/managers/memoryInspector.js';
25
+ // DedupManager 在组合根装配,承担 L1 语义去重(SPLIT-3 拆分自 MemoryInspector)
26
+ import { DedupManager } from '../agent/managers/dedupManager.js';
25
27
  // MemoryAdvisor 在组合根装配,注入 MemoryInspector(组合根一致性)
26
28
  import { MemoryAdvisor } from '../agent/managers/memoryAdvisor.js';
27
29
  import { AutoConfigRefiner } from '../agent/managers/autoConfigRefiner.js';
@@ -29,6 +31,9 @@ import { TextPolishManager } from '../agent/managers/textPolishManager.js';
29
31
  import { SOURCE_LABELS } from '../memory/types.js';
30
32
  import { AGENT_CONSTANTS } from '../agent/constants.js';
31
33
  import { configError } from '../utils/errors.js';
34
+ // FileStore 用于 configDir 存在时创建 config 级文件存储,
35
+ // 供 ConfigManager.confirmConfigSuggestion 写入配置文件(真理源)
36
+ import { FileStore } from '../memory/store.js';
32
37
  /**
33
38
  * 组装所有运行时组件
34
39
  *
@@ -42,55 +47,29 @@ import { configError } from '../utils/errors.js';
42
47
  * @param input 组装参数
43
48
  * @returns 所有组件引用
44
49
  */
45
- export async function assembleComponents(pctx, input) {
46
- const { provider, backgroundProvider, projectPath, configDir, personaName, maxContextTokens, sessionStore, relationStore, tracer, messages, enableContextSummary, existingSkillManager, locale, } = input;
47
- // ── Phase 1: 无依赖组件 ──
48
- // Agent 层总是注入 createSecurityGuard,此处显式校验并收窄类型
49
- if (!pctx.security) {
50
- throw configError('security guard 未注入', undefined, ['检查 AgentOptions.permission 或 createSecurityGuard 配置']);
51
- }
52
- const history = new MessageHistory(sessionStore);
53
- const workProjection = new WorkProjectionManager(pctx.index, backgroundProvider ?? provider);
54
- const toolExec = new ToolExecutor(projectPath, pctx.security, pctx.index, workProjection);
55
- // ── Phase 2: 依赖 Provider 的组件 ──
56
- const personaManager = new PersonaManager(configDir, pctx.index);
57
- const personaPrompt = await personaManager.load(personaName);
58
- const userProfile = new UserProfile(pctx.index);
59
- await userProfile.load();
60
- const skillManager = existingSkillManager ?? new SkillManager(configDir, pctx.index);
61
- await skillManager.load();
62
- // ── Phase 3: AgentLoop ──
50
+ // ── 子工厂函数 ─────────────────────────────────────────────
51
+ /**
52
+ * Phase 3:创建 AgentLoop 及其直接依赖
53
+ */
54
+ async function createAgentLoopAndDeps(params) {
55
+ const { provider, backgroundProvider, pctx, personaPrompt, userProfile, toolExec, maxContextTokens, tracer, messages, enableContextSummary, relationStore, sessionStore, locale, onContextTruncated, onGuardrailError, } = params;
56
+ // 系统前缀:角色 + 用户画像 + 当前时间
63
57
  const systemPrefixParts = [personaPrompt];
64
58
  const profilePrompt = userProfile.buildSystemPrompt();
65
59
  if (profilePrompt)
66
60
  systemPrefixParts.push(profilePrompt);
67
- // 注入当前时间(让 Agent 知道实时时间,避免 LLM 知识截止日期滞后)
68
- // locale 可通过 AssembleInput.locale 注入(默认 'zh-CN'),实现国际化时间格式
69
61
  const now = new Date();
70
62
  const timeStr = now.toLocaleString(locale ?? AGENT_CONSTANTS.DEFAULT_LOCALE, {
71
- year: 'numeric',
72
- month: '2-digit',
73
- day: '2-digit',
74
- hour: '2-digit',
75
- minute: '2-digit',
76
- second: '2-digit',
77
- timeZoneName: 'short',
63
+ year: 'numeric', month: '2-digit', day: '2-digit',
64
+ hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short',
78
65
  });
79
66
  const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
80
67
  systemPrefixParts.push(`当前时间:${timeStr}(${tz})`);
81
68
  const systemPromptPrefix = systemPrefixParts.filter(Boolean).join('\n\n') +
82
69
  (systemPrefixParts.length > 0 ? '\n\n---\n\n' : '');
83
- // InsightExtractor 的 writeExtensions 在运行时由 Agent.chat() 设置
84
- // getRecentHistory 在 AgentLoop 创建后通过 bindGetRecentHistory 注入(消除 loopRef 闭包)
85
- // RelationBuilder 封装 ADR-014 关系构建逻辑,InsightExtractor 通过委托调用
86
- // relationStore 可选注入 RelationBuilder,未注入时跳过关系构建(降级优先)
87
70
  const relationBuilder = new RelationBuilder(pctx.index, relationStore ?? null);
88
71
  const insightExtractor = new InsightExtractor(provider, pctx.index, relationBuilder);
89
- // SessionArchiver(会话内容归档器,content 类记忆)
90
- // 与 InsightExtractor 同模式:构造时注入 provider + storage + sessionStore
91
72
  const sessionArchiver = new SessionArchiver(provider, pctx.index, sessionStore);
92
- // TextPolishManager(文本润色管理器,LLM 语法修正 + 表达优化)
93
- // 优先后台 Provider(不阻塞前台对话),降级前台(参照 WorkProjectionManager)
94
73
  const textPolisher = new TextPolishManager(backgroundProvider ?? provider);
95
74
  const loop = new AgentLoop({
96
75
  provider,
@@ -103,20 +82,74 @@ export async function assembleComponents(pctx, input) {
103
82
  messages,
104
83
  enableContextSummary,
105
84
  guardrailRules: pctx.index.getBySource(SOURCE_LABELS.GUARDRAIL),
85
+ onContextTruncated,
86
+ onGuardrailError,
106
87
  });
107
88
  insightExtractor.bindGetRecentHistory((rounds) => loop.getRecentHistory(rounds));
108
- // ── Phase 4: 依赖 Loop 的组件 ──
109
- const fileStore = pctx.fileStore;
110
- const configManager = new ConfigManager(pctx.index, skillManager, (msg) => loop.injectSystemMessage(msg), configDir ? (memory) => fileStore.write(memory) : undefined);
111
- // MemoryAdvisor 在组合根装配,显式注入 MemoryInspector(组合根一致性)
112
- // advisor(必填)移到 relationStore(可选)之前,参数顺序符合"必填在前"惯例
113
- // L3 冲突检测:注入 backgroundProvider 到 MemoryAdvisor(可选,未注入时 detectConflicts 静默跳过)
89
+ toolExec.setOnToolsChanged(() => loop.refreshToolDefinitions(toolExec.list));
90
+ return { loop, insightExtractor, sessionArchiver, textPolisher, relationBuilder };
91
+ }
92
+ /**
93
+ * Phase 4:创建依赖 Loop 的组件
94
+ */
95
+ function createLoopDependentComponents(params) {
96
+ const { pctx, loop, history, skillManager, configDir, backgroundProvider, relationStore, onDedupCompleted } = params;
97
+ const configFileStore = configDir ? new FileStore(configDir) : null;
98
+ const configManager = new ConfigManager(pctx.index, skillManager, (msg) => loop.injectSystemMessage(msg), configFileStore ? (memory) => configFileStore.write(memory) : undefined, () => loop.refreshBootstrapMemories(configManager.getBootstrapMemories()));
114
99
  const memoryAdvisor = new MemoryAdvisor(pctx.index, backgroundProvider ?? null);
115
- // L1 语义去重:注入 backgroundProvider 到 MemoryInspector(可选,未注入时 deduplicateMemories 静默跳过)
116
- const memoryInspector = new MemoryInspector(pctx.index, loop, history, memoryAdvisor, relationStore ?? null, backgroundProvider ?? null);
117
- // AutoConfigRefiner(模式 3:Agent 智能总结)
100
+ const memoryInspector = new MemoryInspector(pctx.index, loop, history, relationStore ?? null);
101
+ const dedupManager = new DedupManager(pctx.index, backgroundProvider ?? null, onDedupCompleted);
118
102
  const autoConfigRefiner = new AutoConfigRefiner((suggestion) => configManager.suggestionCallback?.(suggestion));
119
103
  autoConfigRefiner.setBackgroundProvider(backgroundProvider);
104
+ return { configManager, memoryAdvisor, memoryInspector, dedupManager, autoConfigRefiner };
105
+ }
106
+ // ── 主组装函数 ─────────────────────────────────────────────
107
+ export async function assembleComponents(pctx, input) {
108
+ const { provider, backgroundProvider, projectPath, configDir, personaName, maxContextTokens, sessionStore, relationStore, tracer, messages, enableContextSummary, existingSkillManager, locale, } = input;
109
+ // ── Phase 1: 无依赖组件 ──
110
+ // Agent 层总是注入 createSecurityGuard,此处显式校验并收窄类型
111
+ if (!pctx.security) {
112
+ throw configError('security guard 未注入', undefined, ['检查 AgentOptions.permission 或 createSecurityGuard 配置']);
113
+ }
114
+ const history = new MessageHistory(sessionStore);
115
+ const workProjection = new WorkProjectionManager(pctx.index, backgroundProvider ?? provider, input.onWorkProjectionGenerated);
116
+ const toolExec = new ToolExecutor(projectPath, pctx.security, pctx.index, workProjection, configDir);
117
+ // ── Phase 2: 依赖 Provider 的组件 ──
118
+ const personaManager = new PersonaManager(configDir);
119
+ const personaPrompt = await personaManager.load(personaName);
120
+ const userProfile = new UserProfile(pctx.index);
121
+ await userProfile.load();
122
+ const skillManager = existingSkillManager ?? new SkillManager(configDir);
123
+ await skillManager.load();
124
+ // ── Phase 3: AgentLoop + 其直接依赖 ──
125
+ const { loop, insightExtractor, sessionArchiver, textPolisher } = await createAgentLoopAndDeps({
126
+ provider,
127
+ backgroundProvider,
128
+ pctx,
129
+ personaPrompt,
130
+ userProfile,
131
+ toolExec,
132
+ maxContextTokens,
133
+ tracer,
134
+ messages,
135
+ enableContextSummary,
136
+ relationStore,
137
+ sessionStore,
138
+ locale,
139
+ onContextTruncated: input.onContextTruncated,
140
+ onGuardrailError: input.onGuardrailError,
141
+ });
142
+ // ── Phase 4: 依赖 Loop 的组件 ──
143
+ const { configManager, memoryAdvisor, memoryInspector, dedupManager, autoConfigRefiner } = createLoopDependentComponents({
144
+ pctx,
145
+ loop,
146
+ history,
147
+ skillManager,
148
+ configDir,
149
+ backgroundProvider,
150
+ relationStore,
151
+ onDedupCompleted: input.onDedupCompleted,
152
+ });
120
153
  return {
121
154
  history,
122
155
  loop,
@@ -128,6 +161,8 @@ export async function assembleComponents(pctx, input) {
128
161
  insightExtractor,
129
162
  configManager,
130
163
  memoryInspector,
164
+ dedupManager,
165
+ memoryAdvisor,
131
166
  autoConfigRefiner,
132
167
  sessionArchiver,
133
168
  textPolisher,
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/agent/assembler.ts"],"names":[],"mappings":"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"}
@@ -15,15 +15,40 @@ export declare class BuiltinToolHandlers {
15
15
  private readonly security;
16
16
  private readonly memoryIndex;
17
17
  private readonly workProjection?;
18
+ private readonly configDir?;
18
19
  /** list_dir 默认忽略的目录/文件名 */
19
20
  static readonly IGNORED_DIR_NAMES: readonly string[];
21
+ /**
22
+ * 配置文件目录名集合——这些目录的内容应通过专用工具创建
23
+ *
24
+ * personas/skills/rules 是 SOURCE_LABELS 的映射目录(store.ts SOURCE_TO_DIR),
25
+ * 通过 create_persona/create_skill/create_rule 工具创建会正确写入 configDir 并触发热重载。
26
+ * write_file 写入 projectPath/personas/ 只会创建"孤儿文件"——不在配置目录中,不会被加载。
27
+ */
28
+ /** 配置目录名(路径拦截用,第一级目录匹配) */
29
+ static readonly CONFIG_DIRS: ReadonlySet<string>;
30
+ /**
31
+ * 配置文件 source 标签(内容特征检测用,frontmatter 中 source 字段值)
32
+ *
33
+ * 路径拦截易被绕过(去掉 personas/ 前缀即可),但配置文件 frontmatter 中必然包含
34
+ * source: persona/skill/rule —— 这是 FileStore.write 写入的结构特征,LLM 无法绕过。
35
+ */
36
+ static readonly CONFIG_SOURCES: ReadonlySet<string>;
20
37
  /**
21
38
  * @param projectPath 项目根路径(用于相对路径解析)
22
39
  * @param security 安全守卫(路径白名单 + 写入确认)
23
40
  * @param memoryIndex 记忆索引(用于 search_memories 工具)
24
41
  * @param workProjection 作品投影管理器(可选,读取文件时自动生成投影)
42
+ * @param configDir 配置目录路径(可选,拦截提示中告知 LLM 正确的写入位置)
43
+ */
44
+ constructor(projectPath: string, security: SecurityGuard, memoryIndex: IMemoryStorage, workProjection?: WorkProjectionManager | undefined, configDir?: string | undefined);
45
+ /**
46
+ * 生成配置目录路径提示
47
+ *
48
+ * 当 configDir 已知时,告知 LLM 正确写入位置(如 <configDir>/personas/);
49
+ * 未知时回退到通用描述。用于拦截错误消息中,引导 LLM 使用专用工具而非 write_file。
25
50
  */
26
- constructor(projectPath: string, security: SecurityGuard, memoryIndex: IMemoryStorage, workProjection?: WorkProjectionManager | undefined);
51
+ private configPathHint;
27
52
  /**
28
53
  * 解析相对路径为绝对路径
29
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,2BAA2B;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB;;;;;GAKG;AACH,qBAAa,mBAAmB;IAkB5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IApBlC,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAOlD;IAEF;;;;;OAKG;gBAEgB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,cAAc,EAC3B,cAAc,CAAC,EAAE,qBAAqB,YAAA;IAKzD;;;;;;OAMG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAI7C;;;OAGG;IACH,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GAClD,IAAI;IAoBP;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmDzD;;;;;;;;;;;;;OAaG;IACG,SAAS,CACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,eAAe,EAC5B,IAAI,GAAE,MAAoB,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC;IA0JtB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;;;;;OAOG;IACG,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC;IAgEtB;;OAEG;YACW,OAAO;IA8CrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;CA4CvB"}
1
+ {"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,2BAA2B;AAC3B,KAAK,UAAU,GAAG,MAAM,CAAC;AAqBzB;;;;;GAKG;AACH,qBAAa,mBAAmB;IAqC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAxC7B,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAOlD;IAEF;;;;;;OAMG;IACH,2BAA2B;IAC3B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAA4C;IAE5F;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAyC;IAE5F;;;;;;OAMG;gBAEgB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,cAAc,EAC3B,cAAc,CAAC,EAAE,qBAAqB,YAAA,EACtC,SAAS,CAAC,EAAE,MAAM,YAAA;IAGrC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;;OAMG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAI7C;;;OAGG;IACH,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GAClD,IAAI;IAoBP;;OAEG;IACG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmDzD;;;;;;;;;;;;;OAaG;IACG,SAAS,CACb,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,eAAe,EAC5B,IAAI,GAAE,MAAoB,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC;IAgLtB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;;;;;;OAOG;IACG,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC;IAgEtB;;OAEG;YACW,OAAO;IA8CrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC;CA4CvB"}
@@ -20,6 +20,25 @@ import { toolError, MemoraError, ToolErrorCode, toError } from '../utils/errors.
20
20
  import { logger } from '../logging/logger.js';
21
21
  import { segmentLower } from '../utils/segmenter.js';
22
22
  import { truncate } from '../utils/strings.js';
23
+ import { parseFrontmatter } from '../utils/frontmatter.js';
24
+ /**
25
+ * 检测写入内容是否为配置文件(persona/skill/rule)
26
+ *
27
+ * 解析 frontmatter 中的 source 字段,若匹配 persona/skill/rule 则返回对应的工具名后缀。
28
+ * 这是内容特征检测——路径拦截易被绕过,但 frontmatter 中的 source 字段
29
+ * 是 FileStore.write 写入的结构特征,LLM 无法绕过。
30
+ *
31
+ * @param content 写入内容(可能含 frontmatter)
32
+ * @returns 匹配的 source 标签('persona' | 'skill' | 'rule'),未匹配返回 null
33
+ */
34
+ function checkForConfigSource(content) {
35
+ const { frontmatter } = parseFrontmatter(content);
36
+ const source = frontmatter.source;
37
+ if (source && BuiltinToolHandlers.CONFIG_SOURCES.has(source)) {
38
+ return source;
39
+ }
40
+ return null;
41
+ }
23
42
  /**
24
43
  * 内置工具处理器
25
44
  *
@@ -31,6 +50,7 @@ export class BuiltinToolHandlers {
31
50
  security;
32
51
  memoryIndex;
33
52
  workProjection;
53
+ configDir;
34
54
  /** list_dir 默认忽略的目录/文件名 */
35
55
  static IGNORED_DIR_NAMES = [
36
56
  '.git',
@@ -40,17 +60,49 @@ export class BuiltinToolHandlers {
40
60
  'coverage',
41
61
  '.next',
42
62
  ];
63
+ /**
64
+ * 配置文件目录名集合——这些目录的内容应通过专用工具创建
65
+ *
66
+ * personas/skills/rules 是 SOURCE_LABELS 的映射目录(store.ts SOURCE_TO_DIR),
67
+ * 通过 create_persona/create_skill/create_rule 工具创建会正确写入 configDir 并触发热重载。
68
+ * write_file 写入 projectPath/personas/ 只会创建"孤儿文件"——不在配置目录中,不会被加载。
69
+ */
70
+ /** 配置目录名(路径拦截用,第一级目录匹配) */
71
+ static CONFIG_DIRS = new Set(['personas', 'skills', 'rules']);
72
+ /**
73
+ * 配置文件 source 标签(内容特征检测用,frontmatter 中 source 字段值)
74
+ *
75
+ * 路径拦截易被绕过(去掉 personas/ 前缀即可),但配置文件 frontmatter 中必然包含
76
+ * source: persona/skill/rule —— 这是 FileStore.write 写入的结构特征,LLM 无法绕过。
77
+ */
78
+ static CONFIG_SOURCES = new Set(['persona', 'skill', 'rule']);
43
79
  /**
44
80
  * @param projectPath 项目根路径(用于相对路径解析)
45
81
  * @param security 安全守卫(路径白名单 + 写入确认)
46
82
  * @param memoryIndex 记忆索引(用于 search_memories 工具)
47
83
  * @param workProjection 作品投影管理器(可选,读取文件时自动生成投影)
84
+ * @param configDir 配置目录路径(可选,拦截提示中告知 LLM 正确的写入位置)
48
85
  */
49
- constructor(projectPath, security, memoryIndex, workProjection) {
86
+ constructor(projectPath, security, memoryIndex, workProjection, configDir) {
50
87
  this.projectPath = projectPath;
51
88
  this.security = security;
52
89
  this.memoryIndex = memoryIndex;
53
90
  this.workProjection = workProjection;
91
+ this.configDir = configDir;
92
+ }
93
+ /**
94
+ * 生成配置目录路径提示
95
+ *
96
+ * 当 configDir 已知时,告知 LLM 正确写入位置(如 <configDir>/personas/);
97
+ * 未知时回退到通用描述。用于拦截错误消息中,引导 LLM 使用专用工具而非 write_file。
98
+ */
99
+ configPathHint(toolSuffix) {
100
+ if (this.configDir) {
101
+ // 计算目标子目录:persona → personas, skill → skills, rule → rules
102
+ const subDir = `${toolSuffix}s`;
103
+ return `${this.configDir}/${subDir}/`;
104
+ }
105
+ return '配置目录';
54
106
  }
55
107
  // ─── 路径安全(内置 + 自定义工具共享) ──────────────────────────
56
108
  /**
@@ -143,6 +195,26 @@ export class BuiltinToolHandlers {
143
195
  if (mode === 'insert' && !insertLine) {
144
196
  throw toolError('write_file 参数错误', 'insert 模式必须提供 insert_line 参数', ['insert_line 指定插入位置的行号(从 1 开始)'], undefined, ToolErrorCode.ARGUMENT_ERROR);
145
197
  }
198
+ // 配置目录拦截:personas/skills/rules 目录的内容应通过专用工具创建
199
+ // 防止 LLM 误用 write_file 创建"孤儿文件"——写入 projectPath/personas/ 而非 configDir/personas/
200
+ // 检查相对路径的第一级目录(去除前导 ./ / \),不区分大小写
201
+ const firstSegment = relativePath
202
+ .replace(/^[/\\]+/, '')
203
+ .replace(/^\.\//, '')
204
+ .split(/[/\\]/)[0]
205
+ ?.toLowerCase();
206
+ if (firstSegment && BuiltinToolHandlers.CONFIG_DIRS.has(firstSegment)) {
207
+ // personas → persona, skills → skill, rules → rule(去尾 s 得到工具名后缀)
208
+ const toolSuffix = firstSegment.replace(/s$/, '');
209
+ return `错误:${firstSegment}/ 目录下的文件请使用 create_${toolSuffix} 工具创建,不要使用 write_file。create_${toolSuffix} 会正确写入 ${this.configPathHint(toolSuffix)} 并触发热重载。`;
210
+ }
211
+ // 内容特征检测:检查写入内容是否包含配置文件 frontmatter(source: persona/skill/rule)
212
+ // 路径拦截易被绕过(去掉 personas/ 前缀即可),但配置文件 frontmatter 中 source 字段
213
+ // 是 FileStore.write 写入的结构特征,LLM 无法绕过。
214
+ const configSource = checkForConfigSource(content);
215
+ if (configSource) {
216
+ return `错误:写入内容包含 ${configSource} 配置文件的 frontmatter 标记(source: ${configSource}),请使用 create_${configSource} 工具创建,不要使用 write_file。create_${configSource} 会正确写入 ${this.configPathHint(configSource)} 并触发热重载。`;
217
+ }
146
218
  const absolutePath = this.resolveSafePath(relativePath);
147
219
  this.guardPathOrThrow(absolutePath, 'write_file');
148
220
  // 读取文件旧内容(如果存在)