dominds 1.3.1 → 1.4.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 (184) hide show
  1. package/README.md +9 -2
  2. package/README.zh.md +9 -2
  3. package/dist/apps/app-lock-file.js +33 -57
  4. package/dist/apps/configuration-file.js +267 -0
  5. package/dist/apps/enabled-apps.js +217 -252
  6. package/dist/apps/manifest.js +132 -0
  7. package/dist/apps/resolution-file.js +80 -192
  8. package/dist/apps/workspace-app-state.js +8 -0
  9. package/dist/cli/disable.js +18 -22
  10. package/dist/cli/enable.js +20 -58
  11. package/dist/cli/install.js +74 -80
  12. package/dist/cli/uninstall.js +48 -25
  13. package/dist/cli/update.js +36 -80
  14. package/dist/docs/app-constitution.md +12 -7
  15. package/dist/docs/app-constitution.zh.md +13 -8
  16. package/dist/llm/kernel-driver/engine.js +10 -4
  17. package/dist/llm/kernel-driver/flow.js +93 -0
  18. package/dist/llm/kernel-driver/loop.js +4 -1
  19. package/dist/llm/kernel-driver/subdialog.js +5 -1
  20. package/dist/llm/kernel-driver/tellask-special.js +48 -6
  21. package/dist/server/server-core.js +19 -4
  22. package/dist/server/websocket-handler.js +26 -6
  23. package/dist/static/assets/{_basePickBy-CmziIRM9.js → _basePickBy-B2o4z1Hf.js} +3 -3
  24. package/dist/static/assets/{_basePickBy-CmziIRM9.js.map → _basePickBy-B2o4z1Hf.js.map} +1 -1
  25. package/dist/static/assets/{_baseUniq-CgDZxcD0.js → _baseUniq-CLmcxjdl.js} +2 -2
  26. package/dist/static/assets/{_baseUniq-CgDZxcD0.js.map → _baseUniq-CLmcxjdl.js.map} +1 -1
  27. package/dist/static/assets/{arc-Df9rjNNk.js → arc-CymD_KN7.js} +2 -2
  28. package/dist/static/assets/{arc-Df9rjNNk.js.map → arc-CymD_KN7.js.map} +1 -1
  29. package/dist/static/assets/{architectureDiagram-VXUJARFQ-Bif8topC.js → architectureDiagram-VXUJARFQ-DJQfSJUH.js} +7 -7
  30. package/dist/static/assets/{architectureDiagram-VXUJARFQ-Bif8topC.js.map → architectureDiagram-VXUJARFQ-DJQfSJUH.js.map} +1 -1
  31. package/dist/static/assets/{blockDiagram-VD42YOAC-D9Egoflr.js → blockDiagram-VD42YOAC-pHVz60D0.js} +7 -7
  32. package/dist/static/assets/{blockDiagram-VD42YOAC-D9Egoflr.js.map → blockDiagram-VD42YOAC-pHVz60D0.js.map} +1 -1
  33. package/dist/static/assets/{c4Diagram-YG6GDRKO-DBf1NeBf.js → c4Diagram-YG6GDRKO-B0WnCfAT.js} +3 -3
  34. package/dist/static/assets/{c4Diagram-YG6GDRKO-DBf1NeBf.js.map → c4Diagram-YG6GDRKO-B0WnCfAT.js.map} +1 -1
  35. package/dist/static/assets/{channel-Dc34yAJl.js → channel-CX9BlKil.js} +2 -2
  36. package/dist/static/assets/{channel-Dc34yAJl.js.map → channel-CX9BlKil.js.map} +1 -1
  37. package/dist/static/assets/{chunk-4BX2VUAB-B65G1dJI.js → chunk-4BX2VUAB-lXArRj3o.js} +2 -2
  38. package/dist/static/assets/{chunk-4BX2VUAB-B65G1dJI.js.map → chunk-4BX2VUAB-lXArRj3o.js.map} +1 -1
  39. package/dist/static/assets/{chunk-55IACEB6-CSDEOGl2.js → chunk-55IACEB6-CdqwynH9.js} +2 -2
  40. package/dist/static/assets/{chunk-55IACEB6-CSDEOGl2.js.map → chunk-55IACEB6-CdqwynH9.js.map} +1 -1
  41. package/dist/static/assets/{chunk-B4BG7PRW-Cb6W3QWJ.js → chunk-B4BG7PRW-Y-uXcJst.js} +5 -5
  42. package/dist/static/assets/{chunk-B4BG7PRW-Cb6W3QWJ.js.map → chunk-B4BG7PRW-Y-uXcJst.js.map} +1 -1
  43. package/dist/static/assets/{chunk-DI55MBZ5-ZAJWeVWH.js → chunk-DI55MBZ5-C5xSbRST.js} +4 -4
  44. package/dist/static/assets/{chunk-DI55MBZ5-ZAJWeVWH.js.map → chunk-DI55MBZ5-C5xSbRST.js.map} +1 -1
  45. package/dist/static/assets/{chunk-FMBD7UC4-DiwRlImb.js → chunk-FMBD7UC4-5uefwCjI.js} +2 -2
  46. package/dist/static/assets/{chunk-FMBD7UC4-DiwRlImb.js.map → chunk-FMBD7UC4-5uefwCjI.js.map} +1 -1
  47. package/dist/static/assets/{chunk-QN33PNHL-wilj7fb5.js → chunk-QN33PNHL-DzWVcvpI.js} +2 -2
  48. package/dist/static/assets/{chunk-QN33PNHL-wilj7fb5.js.map → chunk-QN33PNHL-DzWVcvpI.js.map} +1 -1
  49. package/dist/static/assets/{chunk-QZHKN3VN-DGmviJfR.js → chunk-QZHKN3VN-BrrvAZdP.js} +2 -2
  50. package/dist/static/assets/{chunk-QZHKN3VN-DGmviJfR.js.map → chunk-QZHKN3VN-BrrvAZdP.js.map} +1 -1
  51. package/dist/static/assets/{chunk-TZMSLE5B-Nm5wTXa_.js → chunk-TZMSLE5B-DyKOlPTY.js} +2 -2
  52. package/dist/static/assets/{chunk-TZMSLE5B-Nm5wTXa_.js.map → chunk-TZMSLE5B-DyKOlPTY.js.map} +1 -1
  53. package/dist/static/assets/{classDiagram-2ON5EDUG-BvUbXD6H.js → classDiagram-2ON5EDUG-FCrnlCWC.js} +6 -6
  54. package/dist/static/assets/{classDiagram-2ON5EDUG-BvUbXD6H.js.map → classDiagram-2ON5EDUG-FCrnlCWC.js.map} +1 -1
  55. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BvUbXD6H.js → classDiagram-v2-WZHVMYZB-FCrnlCWC.js} +6 -6
  56. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BvUbXD6H.js.map → classDiagram-v2-WZHVMYZB-FCrnlCWC.js.map} +1 -1
  57. package/dist/static/assets/{clone-0VLS7GaA.js → clone-BlI81KqZ.js} +2 -2
  58. package/dist/static/assets/{clone-0VLS7GaA.js.map → clone-BlI81KqZ.js.map} +1 -1
  59. package/dist/static/assets/{cose-bilkent-S5V4N54A-anaPs-75.js → cose-bilkent-S5V4N54A-yM7S2atz.js} +2 -2
  60. package/dist/static/assets/{cose-bilkent-S5V4N54A-anaPs-75.js.map → cose-bilkent-S5V4N54A-yM7S2atz.js.map} +1 -1
  61. package/dist/static/assets/{dagre-6UL2VRFP-YwdsZ11r.js → dagre-6UL2VRFP-BcweuZHt.js} +7 -7
  62. package/dist/static/assets/{dagre-6UL2VRFP-YwdsZ11r.js.map → dagre-6UL2VRFP-BcweuZHt.js.map} +1 -1
  63. package/dist/static/assets/{diagram-PSM6KHXK-5KQCf3h2.js → diagram-PSM6KHXK-D4-QwLW1.js} +8 -8
  64. package/dist/static/assets/{diagram-PSM6KHXK-5KQCf3h2.js.map → diagram-PSM6KHXK-D4-QwLW1.js.map} +1 -1
  65. package/dist/static/assets/{diagram-QEK2KX5R-Mf24XxZL.js → diagram-QEK2KX5R-BVbuejJn.js} +7 -7
  66. package/dist/static/assets/{diagram-QEK2KX5R-Mf24XxZL.js.map → diagram-QEK2KX5R-BVbuejJn.js.map} +1 -1
  67. package/dist/static/assets/{diagram-S2PKOQOG-DyQjD4D5.js → diagram-S2PKOQOG-pB6N6Tq_.js} +7 -7
  68. package/dist/static/assets/{diagram-S2PKOQOG-DyQjD4D5.js.map → diagram-S2PKOQOG-pB6N6Tq_.js.map} +1 -1
  69. package/dist/static/assets/{erDiagram-Q2GNP2WA-CEzTKw1u.js → erDiagram-Q2GNP2WA-DLKmthuw.js} +5 -5
  70. package/dist/static/assets/{erDiagram-Q2GNP2WA-CEzTKw1u.js.map → erDiagram-Q2GNP2WA-DLKmthuw.js.map} +1 -1
  71. package/dist/static/assets/{flowDiagram-NV44I4VS-DT821XSz.js → flowDiagram-NV44I4VS-BsBhWukh.js} +6 -6
  72. package/dist/static/assets/{flowDiagram-NV44I4VS-DT821XSz.js.map → flowDiagram-NV44I4VS-BsBhWukh.js.map} +1 -1
  73. package/dist/static/assets/{ganttDiagram-JELNMOA3-DlmeVsGg.js → ganttDiagram-JELNMOA3-Debz-J-C.js} +3 -3
  74. package/dist/static/assets/{ganttDiagram-JELNMOA3-DlmeVsGg.js.map → ganttDiagram-JELNMOA3-Debz-J-C.js.map} +1 -1
  75. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-yAfyBG_d.js → gitGraphDiagram-V2S2FVAM-BnAPFBGR.js} +8 -8
  76. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-yAfyBG_d.js.map → gitGraphDiagram-V2S2FVAM-BnAPFBGR.js.map} +1 -1
  77. package/dist/static/assets/{graph-BYv8vyWe.js → graph-DbzWiBNK.js} +3 -3
  78. package/dist/static/assets/{graph-BYv8vyWe.js.map → graph-DbzWiBNK.js.map} +1 -1
  79. package/dist/static/assets/{index-DMbwqOm6.js → index-B-8J28g7.js} +987 -1049
  80. package/dist/static/assets/index-B-8J28g7.js.map +1 -0
  81. package/dist/static/assets/{index-BiNcBn_U.css → index-CD5wtC_i.css} +1 -1
  82. package/dist/static/assets/{infoDiagram-HS3SLOUP-DaadramQ.js → infoDiagram-HS3SLOUP-CZ5hWoxV.js} +6 -6
  83. package/dist/static/assets/{infoDiagram-HS3SLOUP-DaadramQ.js.map → infoDiagram-HS3SLOUP-CZ5hWoxV.js.map} +1 -1
  84. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-ftN8hxu3.js → journeyDiagram-XKPGCS4Q-CKN3oSxk.js} +5 -5
  85. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-ftN8hxu3.js.map → journeyDiagram-XKPGCS4Q-CKN3oSxk.js.map} +1 -1
  86. package/dist/static/assets/{kanban-definition-3W4ZIXB7-BIXETQ-C.js → kanban-definition-3W4ZIXB7-BQCMklfJ.js} +3 -3
  87. package/dist/static/assets/{kanban-definition-3W4ZIXB7-BIXETQ-C.js.map → kanban-definition-3W4ZIXB7-BQCMklfJ.js.map} +1 -1
  88. package/dist/static/assets/{layout-OTbrj0Ye.js → layout-C5B58szc.js} +5 -5
  89. package/dist/static/assets/{layout-OTbrj0Ye.js.map → layout-C5B58szc.js.map} +1 -1
  90. package/dist/static/assets/{linear-CVfOC669.js → linear-_32fut6G.js} +2 -2
  91. package/dist/static/assets/{linear-CVfOC669.js.map → linear-_32fut6G.js.map} +1 -1
  92. package/dist/static/assets/{mindmap-definition-VGOIOE7T-D2zv5uI9.js → mindmap-definition-VGOIOE7T-C_goMzjx.js} +4 -4
  93. package/dist/static/assets/{mindmap-definition-VGOIOE7T-D2zv5uI9.js.map → mindmap-definition-VGOIOE7T-C_goMzjx.js.map} +1 -1
  94. package/dist/static/assets/{pieDiagram-ADFJNKIX-DaUXTsv7.js → pieDiagram-ADFJNKIX-BQ2n0cOB.js} +8 -8
  95. package/dist/static/assets/{pieDiagram-ADFJNKIX-DaUXTsv7.js.map → pieDiagram-ADFJNKIX-BQ2n0cOB.js.map} +1 -1
  96. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-B7O2wPX9.js → quadrantDiagram-AYHSOK5B-BLg7_neg.js} +3 -3
  97. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-B7O2wPX9.js.map → quadrantDiagram-AYHSOK5B-BLg7_neg.js.map} +1 -1
  98. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DpauVPY1.js → requirementDiagram-UZGBJVZJ-DwkJt0zi.js} +4 -4
  99. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DpauVPY1.js.map → requirementDiagram-UZGBJVZJ-DwkJt0zi.js.map} +1 -1
  100. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B3Hbfvad.js → sankeyDiagram-TZEHDZUN-DmxmatUB.js} +2 -2
  101. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-B3Hbfvad.js.map → sankeyDiagram-TZEHDZUN-DmxmatUB.js.map} +1 -1
  102. package/dist/static/assets/{sequenceDiagram-WL72ISMW-KdbWByWT.js → sequenceDiagram-WL72ISMW-KHU_eApU.js} +4 -4
  103. package/dist/static/assets/{sequenceDiagram-WL72ISMW-KdbWByWT.js.map → sequenceDiagram-WL72ISMW-KHU_eApU.js.map} +1 -1
  104. package/dist/static/assets/{stateDiagram-FKZM4ZOC-yDOCVezC.js → stateDiagram-FKZM4ZOC-B3DBCxAL.js} +9 -9
  105. package/dist/static/assets/{stateDiagram-FKZM4ZOC-yDOCVezC.js.map → stateDiagram-FKZM4ZOC-B3DBCxAL.js.map} +1 -1
  106. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-CpCJhvQO.js → stateDiagram-v2-4FDKWEC3-C-uIk7gh.js} +5 -5
  107. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-CpCJhvQO.js.map → stateDiagram-v2-4FDKWEC3-C-uIk7gh.js.map} +1 -1
  108. package/dist/static/assets/{timeline-definition-IT6M3QCI-CHxuEjhV.js → timeline-definition-IT6M3QCI-SysEcQCC.js} +3 -3
  109. package/dist/static/assets/{timeline-definition-IT6M3QCI-CHxuEjhV.js.map → timeline-definition-IT6M3QCI-SysEcQCC.js.map} +1 -1
  110. package/dist/static/assets/{treemap-GDKQZRPO-Bsqu3wIy.js → treemap-GDKQZRPO-d0AbKEc4.js} +5 -5
  111. package/dist/static/assets/{treemap-GDKQZRPO-Bsqu3wIy.js.map → treemap-GDKQZRPO-d0AbKEc4.js.map} +1 -1
  112. package/dist/static/assets/{xychartDiagram-PRI3JC2R-RZy33lFF.js → xychartDiagram-PRI3JC2R-CmSQMxUh.js} +3 -3
  113. package/dist/static/assets/{xychartDiagram-PRI3JC2R-RZy33lFF.js.map → xychartDiagram-PRI3JC2R-CmSQMxUh.js.map} +1 -1
  114. package/dist/static/index.html +2 -2
  115. package/dist/tools/fs.js +1 -1
  116. package/package.json +9 -7
  117. package/dist/agent-priming.js +0 -2051
  118. package/dist/apps/installed-file.js +0 -207
  119. package/dist/apps/runtime-port.js +0 -91
  120. package/dist/docs/dominds-agent-priming.md +0 -218
  121. package/dist/docs/dominds-agent-priming.zh.md +0 -196
  122. package/dist/docs/drive-logic-context-refactor-plan.zh.md +0 -338
  123. package/dist/docs/keep-going.md +0 -176
  124. package/dist/docs/keep-going.zh.md +0 -162
  125. package/dist/docs/kernel-app-architecture.md +0 -286
  126. package/dist/docs/kernel-app-architecture.zh.md +0 -285
  127. package/dist/docs/showing-by-doing.md +0 -208
  128. package/dist/docs/showing-by-doing.zh.md +0 -177
  129. package/dist/docs/team-mgmt-toolset.md +0 -482
  130. package/dist/docs/team-mgmt-toolset.zh.md +0 -426
  131. package/dist/llm/driver-entry.js +0 -28
  132. package/dist/llm/driver-v2/context-health.js +0 -121
  133. package/dist/llm/driver-v2/context.js +0 -56
  134. package/dist/llm/driver-v2/core.js +0 -1545
  135. package/dist/llm/driver-v2/index.js +0 -26
  136. package/dist/llm/driver-v2/orchestrator.js +0 -158
  137. package/dist/llm/driver-v2/policy.js +0 -129
  138. package/dist/llm/driver-v2/restore-dialog-hierarchy.js +0 -73
  139. package/dist/llm/driver-v2/round.js +0 -366
  140. package/dist/llm/driver-v2/runtime-utils.js +0 -365
  141. package/dist/llm/driver-v2/saying-events.js +0 -20
  142. package/dist/llm/driver-v2/subdialog-txn.js +0 -42
  143. package/dist/llm/driver-v2/supdialog-response.js +0 -400
  144. package/dist/llm/driver-v2/tellask-bridge.js +0 -1148
  145. package/dist/llm/driver-v2/types.js +0 -10
  146. package/dist/llm/driver-v2-ref-only/context-health.js +0 -121
  147. package/dist/llm/driver-v2-ref-only/context.js +0 -17
  148. package/dist/llm/driver-v2-ref-only/core.js +0 -1710
  149. package/dist/llm/driver-v2-ref-only/index.js +0 -26
  150. package/dist/llm/driver-v2-ref-only/orchestrator.js +0 -158
  151. package/dist/llm/driver-v2-ref-only/policy.js +0 -129
  152. package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +0 -73
  153. package/dist/llm/driver-v2-ref-only/round.js +0 -366
  154. package/dist/llm/driver-v2-ref-only/runtime-utils.js +0 -473
  155. package/dist/llm/driver-v2-ref-only/saying-events.js +0 -18
  156. package/dist/llm/driver-v2-ref-only/subdialog-txn.js +0 -42
  157. package/dist/llm/driver-v2-ref-only/supdialog-response.js +0 -453
  158. package/dist/llm/driver-v2-ref-only/tellask-bridge.js +0 -1178
  159. package/dist/llm/driver-v2-ref-only/types.js +0 -10
  160. package/dist/llm/driver.js +0 -4093
  161. package/dist/minds/promptdocs.js +0 -263
  162. package/dist/server/prompts-routes.js +0 -545
  163. package/dist/shared/team-mgmt-manual.js +0 -120
  164. package/dist/shared/types/prompts.js +0 -2
  165. package/dist/shared/types/tellask.js +0 -8
  166. package/dist/showing-by-doing.js +0 -1091
  167. package/dist/snippets/README.en.md +0 -3
  168. package/dist/snippets/README.md +0 -4
  169. package/dist/static/assets/index-DMbwqOm6.js.map +0 -1
  170. package/dist/tellask.js +0 -439
  171. package/dist/tools/context-health.js +0 -177
  172. package/dist/tools/diag.js +0 -583
  173. package/dist/tools/prompts/memory/en/errors.md +0 -155
  174. package/dist/tools/prompts/memory/en/index.md +0 -47
  175. package/dist/tools/prompts/memory/en/principles.md +0 -87
  176. package/dist/tools/prompts/memory/en/scenarios.md +0 -174
  177. package/dist/tools/prompts/memory/en/tools.md +0 -129
  178. package/dist/tools/prompts/memory/zh/errors.md +0 -155
  179. package/dist/tools/prompts/memory/zh/index.md +0 -47
  180. package/dist/tools/prompts/memory/zh/principles.md +0 -89
  181. package/dist/tools/prompts/memory/zh/scenarios.md +0 -174
  182. package/dist/tools/prompts/memory/zh/tools.md +0 -129
  183. package/dist/tools/team-mgmt.js +0 -3487
  184. package/dist/utils/task-doc.js +0 -236
@@ -1,155 +0,0 @@
1
- # memory 错误处理
2
-
3
- ## 模板(错误)
4
-
5
- ### 错误行动链(必填)
6
-
7
- 1. 触发条件
8
- 2. 检测信号
9
- 3. 恢复步骤
10
- 4. 成功判据
11
- 5. 升级路径(可选)
12
-
13
- ## 错误代码
14
-
15
- ### MEMORY_ALREADY_EXISTS
16
-
17
- **描述:** 路径已存在,无法使用 `add_memory` 创建新记忆。
18
-
19
- **原因:**
20
-
21
- - 尝试添加的路径已经被其他记忆占用
22
-
23
- **解决方案:**
24
-
25
- - 使用 `replace_memory` 更新已有记忆
26
- - 或者使用不同的路径创建新记忆
27
-
28
- **示例:**
29
-
30
- ```
31
- 错误:
32
- status: error
33
- error_code: MEMORY_ALREADY_EXISTS
34
- message: 路径 "project/todo" 已存在,请使用 replace_memory 更新
35
- ```
36
-
37
- ### MEMORY_NOT_FOUND
38
-
39
- **描述:** 路径不存在,无法执行操作。
40
-
41
- **原因:**
42
-
43
- - 尝试访问的记忆路径不存在
44
- - 路径被删除或从未创建
45
-
46
- **解决方案:**
47
-
48
- - 如果是更新/删除操作,先使用 `add_memory` 创建
49
- - 检查路径是否正确
50
-
51
- **示例:**
52
-
53
- ```
54
- 错误:
55
- status: error
56
- error_code: MEMORY_NOT_FOUND
57
- message: 路径 "project/todo" 不存在,请先使用 add_memory 创建
58
- ```
59
-
60
- ### MEMORY_PATH_INVALID
61
-
62
- **描述:** 路径格式无效。
63
-
64
- **原因:**
65
-
66
- - 路径包含非法字符
67
- - 路径长度超过限制
68
-
69
- **解决方案:**
70
-
71
- - 确保路径只包含字母、数字、下划线、斜杠
72
- - 路径长度不超过 255 个字符
73
-
74
- **示例:**
75
-
76
- ```
77
- 错误:
78
- status: error
79
- error_code: MEMORY_PATH_INVALID
80
- message: 路径 "project/*invalid*" 包含非法字符
81
- ```
82
-
83
- ### MEMORY_CONTENT_TOO_LARGE
84
-
85
- **描述:** 记忆内容过大。
86
-
87
- **原因:**
88
-
89
- - 单条记忆内容超过 1MB 限制
90
-
91
- **解决方案:**
92
-
93
- - 压缩内容
94
- - 拆分为多条记忆
95
- - 使用外部存储(如文件)
96
-
97
- **示例:**
98
-
99
- ```
100
- 错误:
101
- status: error
102
- error_code: MEMORY_CONTENT_TOO_LARGE
103
- message: 内容大小 1.2MB 超过 1MB 限制
104
- ```
105
-
106
- ### MEMORY_STORAGE_ERROR
107
-
108
- **描述:** 存储错误。
109
-
110
- **原因:**
111
-
112
- - 磁盘空间不足
113
- - 权限问题
114
- - 文件系统错误
115
-
116
- **解决方案:**
117
-
118
- - 检查磁盘空间
119
- - 检查文件权限
120
- - 重试操作
121
-
122
- **示例:**
123
-
124
- ```
125
- 错误:
126
- status: error
127
- error_code: MEMORY_STORAGE_ERROR
128
- message: 无法写入存储,磁盘空间不足
129
- ```
130
-
131
- ## 常见问题
132
-
133
- ### Q: 记忆会自动保存吗?
134
-
135
- A: 是的,所有记忆操作都会立即持久化到磁盘。不需要手动保存。
136
-
137
- ### Q: 记忆有数量限制吗?
138
-
139
- A: 没有严格的数量限制,但建议保持记忆数量在合理范围内(建议少于 100 条)。
140
-
141
- ### Q: 记忆可以被其他成员看到吗?
142
-
143
- A: 不可以,memory 是个人记忆工具,只有当前智能体可以访问。如果需要共享给团队成员,请使用 team_memory。
144
-
145
- ### Q: clear_memory 会删除所有记忆吗?
146
-
147
- A: 是的,`clear_memory` 会删除所有个人记忆,此操作不可恢复。请谨慎使用。
148
-
149
- ### Q: 记忆会过期吗?
150
-
151
- A: 不会,记忆会永久保存,直到被显式删除。
152
-
153
- ### Q: 如何查看当前所有记忆?
154
-
155
- A: 智能体在生成回复时可以访问所有个人记忆。你可以直接询问智能体当前有哪些记忆。
@@ -1,47 +0,0 @@
1
- # memory 个人记忆工具手册
2
-
3
- ## 模板(概述)
4
-
5
- ### 一句话定位
6
-
7
- - <该工具集用途,一句话描述>
8
-
9
- ### 工具清单
10
-
11
- - <列出核心工具,或指向 Tools/Schema 章节>
12
-
13
- ### 30 秒上手
14
-
15
- 1. <调用 ...>
16
- 2. <观察 ...>
17
- 3. <下一步 ...>
18
-
19
- ### 导航
20
-
21
- - principles / tools / scenarios / errors
22
-
23
- ### 与其他工具集的边界
24
-
25
- - <何时用本工具集、何时用相邻工具集>
26
-
27
- memory 是 Dominds 的**个人记忆工具集**,用于管理智能体的私有记忆:
28
-
29
- - **私有性**:记忆仅对当前智能体可见,不会共享给其他成员
30
- - **持久化**:记忆会持久化到磁盘,在对话重启后仍然保留
31
- - **结构化**:支持按路径组织记忆,便于分类和检索
32
-
33
- ## 快速导航
34
-
35
- | 主题 | 描述 |
36
- | ----------------------------- | -------------------------------- |
37
- | [principles](./principles.md) | 核心概念、记忆生命周期、最佳实践 |
38
- | [tools](./tools.md) | 完整工具列表与接口契约 |
39
- | [scenarios](./scenarios.md) | 常见使用场景与示例(复制即用) |
40
- | [errors](./errors.md) | 错误代码与解决方案 |
41
-
42
- ## 状态
43
-
44
- - 状态:已实现
45
- - 主要实现文件:
46
- - 工具实现:`dominds/main/tools/mem.ts`
47
- - toolset 元信息:`dominds/main/tools/builtins.ts`、`dominds/main/tools/registry.ts`
@@ -1,89 +0,0 @@
1
- # memory 原则与核心概念
2
-
3
- ## 模板(原则)
4
-
5
- ### 设计目标
6
-
7
- - <目标 1>
8
- - <目标 2>
9
-
10
- ### 契约原则
11
-
12
- - <输入/输出契约规则>
13
-
14
- ### 安全与边界
15
-
16
- - <访问约束/护栏>
17
-
18
- ### 失败与恢复
19
-
20
- - <调用失败时的行动>
21
-
22
- ### 术语表
23
-
24
- - <该工具集特有术语>
25
-
26
- ## 记忆模型
27
-
28
- memory 工具集采用**路径键值存储**模型:
29
-
30
- - **路径(path)**:记忆的唯一标识符,类似于文件系统路径,例如 `project/todo` 或 `user/preferences/theme`
31
- - **内容(content)**:记忆的实际内容,可以是任意文本
32
-
33
- ## 工具概览
34
-
35
- | 工具 | 功能 |
36
- | -------------- | ---------------------------- |
37
- | add_memory | 创建新记忆(路径不存在时) |
38
- | replace_memory | 更新已有记忆(路径存在时) |
39
- | drop_memory | 删除记忆 |
40
- | clear_memory | 清空所有个人记忆(不可恢复) |
41
-
42
- ## 记忆生命周期
43
-
44
- 1. **创建(add)**:使用 `add_memory` 创建新记忆
45
- 2. **读取(read)**:智能体在生成回复时可读取已有记忆
46
- 3. **更新(replace)**:使用 `replace_memory` 更新记忆内容
47
- 4. **删除(drop)**:使用 `drop_memory` 删除特定记忆
48
-
49
- ## 最佳实践
50
-
51
- ### 1. 路径命名规范
52
-
53
- - 使用描述性路径:`project/architecture`、`user/preferences/language`
54
- - 允许用 `/` 组织层级(这就是推荐用法),但必须遵守护栏:
55
- - 不允许绝对路径(不能以 `/` 开头)
56
- - 不允许路径穿越(`..` 禁止)
57
- - 避免使用 `\\`(跨平台可读性差,统一用 `/`)
58
- - 保持路径扁平:优先少量主题文件,而不是深层目录树(个人记忆的目标是“快速索引”,不是建文件系统)。
59
-
60
- ### 2. 内容格式
61
-
62
- - 把个人记忆当作“长期随身携带的稳定事实备忘”:让你在职责范围内尽量做到 **0 次 ripgrep 就能开工**。
63
- - 内容只写稳定事实:**落点(文件/符号)+ 一句话语义 + 关键契约/优先级(≤3 条)**。
64
- - 记忆文件更少更好:按“未来会一起更新的内容”合并在同一文件里;不要为了“看起来整齐”引入额外的“目录套目录”。
65
- - 不要把任务进度/当天状态写进个人记忆:
66
- - 任务协作公告板用差遣牒(Taskdoc 的 `progress`)
67
- - 短期工作集用提醒项(reminders)
68
-
69
- ### 3. 使用场景
70
-
71
- - **任务持久化**:保存长期任务进度
72
- - **上下文记忆**:保存对话上下文中的重要信息
73
- - **偏好设置**:保存用户偏好和配置信息
74
-
75
- > 注:如果你发现自己在用个人记忆保存“这次对话的当前进展”,大概率应该写到 Taskdoc `progress` 或 reminders。
76
-
77
- ## 与其他工具的关系
78
-
79
- - **team_memory**:团队共享记忆,所有成员可见
80
- - **reminder**:临时提醒,会话级别
81
- - **change_mind**:更新差遣牒(goals/constraints/progress)
82
-
83
- ## 限制与注意事项
84
-
85
- 1. 路径护栏:不允许绝对路径;不允许包含 `..`。
86
- 2. 内容护栏:`content` 不能为空字符串。
87
- 3. `clear_memory` 会删除当前智能体的全部个人记忆,**不可恢复**。
88
-
89
- > 建议:即使当前实现没有硬性 size 限制,也应保持记忆内容精炼,否则会显著增加上下文成本与过期风险。
@@ -1,174 +0,0 @@
1
- # memory 使用场景
2
-
3
- ## 模板(场景)
4
-
5
- ### 场景格式
6
-
7
- - 目标
8
- - 前置条件
9
- - 步骤
10
- - 期望信号
11
- - 失败分支处理
12
- - 完成判据
13
-
14
- ## 场景 1:任务进度跟踪
15
-
16
- ### 场景描述
17
-
18
- 在长时间任务中,需要持久化任务进度,以便重启后继续。
19
-
20
- ### 示例
21
-
22
- **添加任务列表**
23
-
24
- ```typescript
25
- add_memory({
26
- path: 'project/i18n-tasks',
27
- content:
28
- '## 待办任务\n\n- [ ] 创建 ws_mod 手册\n- [ ] 创建 team_mgmt 手册\n- [ ] 创建 memory 手册\n- [ ] 创建 control 手册\n\n## 进行中\n- [ ] 创建 ws_mod 手册 [100%]',
29
- });
30
- ```
31
-
32
- **更新任务进度**
33
-
34
- ```typescript
35
- replace_memory({
36
- path: 'project/i18n-tasks',
37
- content:
38
- '## 待办任务\n\n- [ ] 创建 team_mgmt 手册\n- [ ] 创建 memory 手册\n- [ ] 创建 control 手册\n\n## 已完成\n- [x] 创建 ws_mod 手册\n\n## 进行中\n- [ ] 创建 team_mgmt 手册 [50%]',
39
- });
40
- ```
41
-
42
- ## 场景 2:用户偏好存储
43
-
44
- ### 场景描述
45
-
46
- 保存用户偏好设置,例如编程语言、主题等。
47
-
48
- ### 示例
49
-
50
- **保存用户偏好**
51
-
52
- ```typescript
53
- add_memory({
54
- path: 'user/preferences',
55
- content:
56
- '## 用户偏好\n\n- 编程语言: TypeScript\n- 代码风格: strict\n- 主题: dark\n- 自动保存: true',
57
- });
58
- ```
59
-
60
- **更新偏好**
61
-
62
- ```typescript
63
- replace_memory({
64
- path: 'user/preferences',
65
- content:
66
- '## 用户偏好\n\n- 编程语言: TypeScript\n- 代码风格: strict\n- 主题: light\n- 自动保存: true',
67
- });
68
- ```
69
-
70
- ## 场景 3:上下文信息保存
71
-
72
- ### 场景描述
73
-
74
- 在复杂任务中,保存重要的上下文信息,避免重复查询。
75
-
76
- ### 示例
77
-
78
- **保存 API 信息**
79
-
80
- ```typescript
81
- add_memory({
82
- path: 'context/api-endpoints',
83
- content:
84
- '## API 端点\n\n- 用户登录: POST /api/auth/login\n- 获取用户信息: GET /api/user/info\n- 更新用户设置: PUT /api/user/settings\n\n## 认证\n- 使用 Bearer Token\n- 有效期: 24 小时',
85
- });
86
- ```
87
-
88
- **保存技术栈**
89
-
90
- ```typescript
91
- add_memory({
92
- path: 'context/tech-stack',
93
- content:
94
- '## 技术栈\n\n- 前端: React + TypeScript\n- 后端: Node.js + Express\n- 数据库: PostgreSQL\n- 缓存: Redis',
95
- });
96
- ```
97
-
98
- ## 场景 4:会议记录
99
-
100
- ### 场景描述
101
-
102
- 保存会议要点和决策。
103
-
104
- ### 示例
105
-
106
- ```typescript
107
- add_memory({
108
- path: 'meeting/2024-01-15',
109
- content:
110
- '## 会议纪要: 2024-01-15\n\n### 参与者\n- @fullstack\n- @i18n\n- @ux\n\n### 议题\n1. i18n 手册创建计划\n2. man 函数 UX 改进\n\n### 决策\n- 优先创建 ws_mod 和 team_mgmt 手册\n- man 函数支持模糊匹配\n\n### 待办\n- @i18n: 创建 memory 手册\n- @fullstack: 优化 man 函数',
111
- });
112
- ```
113
-
114
- ## 场景 5:知识库
115
-
116
- ### 场景描述
117
-
118
- 建立个人知识库,保存学习笔记。
119
-
120
- ### 示例
121
-
122
- ```typescript
123
- add_memory({
124
- path: 'knowledge/typescript-tips',
125
- content:
126
- '## TypeScript 技巧\n\n### 1. 类型推断\nconst x = 1; // 类型推断为 number\n\n### 2. 接口 vs 类型\n- 接口: 可扩展,适合对象类型\n- 类型: 支持联合类型、交叉类型\n\n### 3. strict 模式\n启用 strict 模式可以获得更好的类型安全',
127
- });
128
- ```
129
-
130
- ## 场景 6:临时笔记
131
-
132
- ### 场景描述
133
-
134
- 临时保存需要稍后处理的信息。
135
-
136
- ### 示例
137
-
138
- ```typescript
139
- add_memory({
140
- path: 'scratchpad/temp-notes',
141
- content:
142
- '## 临时笔记\n\n- TODO: 检查 team.yaml 配置\n- TODO: 验证 man 函数类型\n- TODO: 更新差遣牒进度',
143
- });
144
- ```
145
-
146
- **处理完后删除**
147
-
148
- ```typescript
149
- drop_memory({
150
- path: 'scratchpad/temp-notes',
151
- });
152
- ```
153
-
154
- ## 场景 7:清理过时记忆
155
-
156
- ### 场景描述
157
-
158
- 定期清理不再需要的记忆。
159
-
160
- ### 示例
161
-
162
- ```typescript
163
- // 查看当前所有记忆(智能体可读取)
164
- // 逐个删除不需要的记忆
165
- drop_memory({
166
- path: 'project/old-feature',
167
- });
168
- ```
169
-
170
- 或者使用 `clear_memory` 清空所有记忆(谨慎使用):
171
-
172
- ```typescript
173
- clear_memory({});
174
- ```
@@ -1,129 +0,0 @@
1
- # memory 工具参考
2
-
3
- ## 模板(工具)
4
-
5
- ### 阅读方式
6
-
7
- - "工具契约(Schema)" 为参数/返回的权威来源。
8
-
9
- ### 单工具字段顺序
10
-
11
- 1. 用途
12
- 2. 调用签名
13
- 3. 参数(参见 schema)
14
- 4. 前置条件
15
- 5. 成功信号
16
- 6. 失败/错误
17
- 7. 可直接执行示例
18
- 8. 常见误用
19
-
20
- ## 工具列表
21
-
22
- ### 1. add_memory
23
-
24
- 创建新记忆(路径不存在时)。
25
-
26
- **参数:**
27
-
28
- - `path`(必需):记忆的唯一标识符
29
- - `content`(必需):记忆内容
30
-
31
- **返回:**
32
-
33
- - 成功:返回简短文本(按工作语言),例如 `已添加`。
34
- - 失败:返回错误文本(通常以 `错误:` 开头),并包含可执行的下一步(例如提示改用 `replace_memory`)。
35
-
36
- **错误:**
37
-
38
- - `MEMORY_ALREADY_EXISTS`:路径已存在,使用 `replace_memory` 更新
39
-
40
- ### 2. replace_memory
41
-
42
- 更新已有记忆(路径存在时)。
43
-
44
- **参数:**
45
-
46
- - `path`(必需):记忆的唯一标识符
47
- - `content`(必需):新的记忆内容
48
-
49
- **返回:**
50
-
51
- - 成功:返回简短文本(按工作语言),例如 `已更新`。
52
- - 失败:返回错误文本(通常以 `错误:` 开头),并包含可执行的下一步(例如提示改用 `add_memory`)。
53
-
54
- **错误:**
55
-
56
- - `MEMORY_NOT_FOUND`:路径不存在,使用 `add_memory` 创建
57
-
58
- ### 3. drop_memory
59
-
60
- 删除指定记忆。
61
-
62
- **参数:**
63
-
64
- - `path`(必需):要删除的记忆路径
65
-
66
- **返回:**
67
-
68
- - 成功:返回简短文本(按工作语言),例如 `已删除`。
69
- - 失败:返回错误文本(通常以 `错误:` 开头)。
70
-
71
- **错误:**
72
-
73
- - `MEMORY_NOT_FOUND`:路径不存在
74
-
75
- ### 4. clear_memory
76
-
77
- 清空所有个人记忆。
78
-
79
- **警告:** 此操作不可恢复!
80
-
81
- **参数:** 无
82
-
83
- **返回:**
84
-
85
- - 成功:返回简短文本(按工作语言),例如 `已清空`;若没有可清空内容,会返回类似 `没有可清空的个人记忆。`。
86
- - 失败:返回错误文本。
87
-
88
- **错误:**
89
-
90
- - 无(即使没有记忆也会返回成功)
91
-
92
- ## 使用示例
93
-
94
- ### 添加新记忆
95
-
96
- ```typescript
97
- add_memory({
98
- path: 'project/todo',
99
- content: '- 完成 i18n 文档\n- 编写测试用例\n- 更新 README',
100
- });
101
- ```
102
-
103
- ### 更新已有记忆
104
-
105
- ```typescript
106
- replace_memory({
107
- path: 'project/todo',
108
- content: '- 完成 i18n 文档 [DONE]\n- 编写测试用例 [IN PROGRESS]\n- 更新 README',
109
- });
110
- ```
111
-
112
- ### 删除记忆
113
-
114
- ```typescript
115
- drop_memory({
116
- path: 'project/todo',
117
- });
118
- ```
119
-
120
- ### 清空所有记忆
121
-
122
- ```typescript
123
- clear_memory({});
124
- ```
125
-
126
- ## 输出与语言
127
-
128
- - 输出是**纯文本**,不是结构化 JSON/YAML。
129
- - 文本语言跟随“工作语言(work language)”。