dominds 1.25.0 → 1.25.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 (230) hide show
  1. package/README.md +4 -3
  2. package/README.zh.md +4 -3
  3. package/dist/dialog-display-state.d.ts +3 -3
  4. package/dist/dialog-display-state.js +12 -8
  5. package/dist/dialog.d.ts +3 -3
  6. package/dist/dialog.js +42 -20
  7. package/dist/docs/design.md +4 -0
  8. package/dist/docs/design.zh.md +4 -0
  9. package/dist/docs/dlg-drive-algo.zh.md +5 -0
  10. package/dist/docs/roadmap.md +2 -0
  11. package/dist/docs/roadmap.zh.md +2 -0
  12. package/dist/llm/gen/mock.d.ts +2 -2
  13. package/dist/llm/gen/mock.js +2 -2
  14. package/dist/llm/kernel-driver/drive.js +41 -14
  15. package/dist/llm/kernel-driver/engine.d.ts +1 -1
  16. package/dist/llm/kernel-driver/idle-reminder-wake.js +1 -1
  17. package/dist/llm/kernel-driver/sideDialog.d.ts +1 -1
  18. package/dist/llm/kernel-driver/sideDialog.js +7 -3
  19. package/dist/llm/kernel-driver/tellask-special.js +1 -6
  20. package/dist/llm/kernel-driver/types.d.ts +1 -1
  21. package/dist/minds/system-prompt-parts.js +4 -4
  22. package/dist/persistence.d.ts +1 -7
  23. package/dist/persistence.js +186 -149
  24. package/dist/priming.js +116 -35
  25. package/dist/runtime/driver-messages.d.ts +1 -1
  26. package/dist/runtime/driver-messages.js +37 -19
  27. package/dist/server/api-routes.js +18 -0
  28. package/dist/server/server-core.d.ts +1 -0
  29. package/dist/server/server-core.js +11 -0
  30. package/dist/server/websocket-handler.js +2 -1
  31. package/dist/shared-reminders.d.ts +11 -3
  32. package/dist/shared-reminders.js +62 -34
  33. package/dist/team.js +4 -1
  34. package/dist/tool.d.ts +1 -1
  35. package/dist/tool.js +1 -1
  36. package/dist/tools/app-reminders.js +8 -2
  37. package/dist/tools/builtins.js +30 -0
  38. package/dist/tools/ctrl.js +34 -109
  39. package/dist/tools/fs.d.ts +2 -0
  40. package/dist/tools/fs.js +281 -2
  41. package/dist/tools/os.d.ts +11 -0
  42. package/dist/tools/os.js +26 -15
  43. package/dist/tools/picture.d.ts +1 -0
  44. package/dist/tools/picture.js +64 -1
  45. package/dist/tools/prompts/codex_inspect_and_patch_tools/en/tools.md +5 -0
  46. package/dist/tools/prompts/codex_inspect_and_patch_tools/zh/tools.md +5 -0
  47. package/dist/tools/prompts/control/en/errors.md +5 -19
  48. package/dist/tools/prompts/control/en/index.md +5 -4
  49. package/dist/tools/prompts/control/en/principles.md +23 -19
  50. package/dist/tools/prompts/control/en/scenarios.md +17 -11
  51. package/dist/tools/prompts/control/en/tools.md +4 -6
  52. package/dist/tools/prompts/control/zh/errors.md +5 -19
  53. package/dist/tools/prompts/control/zh/index.md +5 -4
  54. package/dist/tools/prompts/control/zh/principles.md +22 -19
  55. package/dist/tools/prompts/control/zh/scenarios.md +17 -11
  56. package/dist/tools/prompts/control/zh/tools.md +4 -6
  57. package/dist/tools/prompts/fs_read/en/errors.md +6 -0
  58. package/dist/tools/prompts/fs_read/en/index.md +17 -0
  59. package/dist/tools/prompts/fs_read/en/principles.md +5 -0
  60. package/dist/tools/prompts/fs_read/en/scenarios.md +3 -0
  61. package/dist/tools/prompts/fs_read/en/tools.md +11 -0
  62. package/dist/tools/prompts/fs_read/zh/errors.md +6 -0
  63. package/dist/tools/prompts/fs_read/zh/index.md +17 -0
  64. package/dist/tools/prompts/fs_read/zh/principles.md +5 -0
  65. package/dist/tools/prompts/fs_read/zh/scenarios.md +3 -0
  66. package/dist/tools/prompts/fs_read/zh/tools.md +11 -0
  67. package/dist/tools/prompts/os/en/index.md +1 -1
  68. package/dist/tools/prompts/os/en/principles.md +1 -1
  69. package/dist/tools/prompts/os/en/scenarios.md +21 -0
  70. package/dist/tools/prompts/os/en/tools.md +6 -0
  71. package/dist/tools/prompts/os/zh/index.md +1 -1
  72. package/dist/tools/prompts/os/zh/principles.md +1 -1
  73. package/dist/tools/prompts/os/zh/scenarios.md +21 -0
  74. package/dist/tools/prompts/os/zh/tools.md +6 -0
  75. package/dist/tools/prompts/personal_memory/en/index.md +1 -1
  76. package/dist/tools/prompts/personal_memory/en/principles.md +2 -2
  77. package/dist/tools/prompts/personal_memory/zh/index.md +1 -1
  78. package/dist/tools/prompts/personal_memory/zh/principles.md +2 -2
  79. package/dist/tools/registry.d.ts +6 -0
  80. package/dist/tools/ripgrep.d.ts +5 -0
  81. package/dist/tools/ripgrep.js +482 -1
  82. package/dist/tools/team_mgmt.js +8 -8
  83. package/dist/tools/txt.d.ts +34 -0
  84. package/dist/tools/txt.js +221 -1
  85. package/package.json +3 -3
  86. package/webapp/dist/assets/{_basePickBy-ZLV93S3E.js → _basePickBy-CbWZ8qnS.js} +3 -3
  87. package/webapp/dist/assets/_basePickBy-CbWZ8qnS.js.map +1 -0
  88. package/webapp/dist/assets/{_baseUniq-D0wSOJ06.js → _baseUniq-IY-Vfzx1.js} +2 -2
  89. package/webapp/dist/assets/_baseUniq-IY-Vfzx1.js.map +1 -0
  90. package/webapp/dist/assets/{arc-BHclbMTS.js → arc--U2Vks6y.js} +2 -2
  91. package/webapp/dist/assets/arc--U2Vks6y.js.map +1 -0
  92. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CK99gE_D.js → architectureDiagram-VXUJARFQ-DpryGqjy.js} +8 -26
  93. package/webapp/dist/assets/architectureDiagram-VXUJARFQ-DpryGqjy.js.map +1 -0
  94. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-fE5MBTEU.js → blockDiagram-VD42YOAC-TTufCfiE.js} +170 -187
  95. package/webapp/dist/assets/blockDiagram-VD42YOAC-TTufCfiE.js.map +1 -0
  96. package/webapp/dist/assets/{c4Diagram-IC4MRINW-BSLyPyoU.js → c4Diagram-YG6GDRKO-B4RPsw5H.js} +4 -4
  97. package/webapp/dist/assets/c4Diagram-YG6GDRKO-B4RPsw5H.js.map +1 -0
  98. package/webapp/dist/assets/{channel-DSvMpp-a.js → channel-DAtGYJHZ.js} +2 -2
  99. package/webapp/dist/assets/channel-DAtGYJHZ.js.map +1 -0
  100. package/webapp/dist/assets/{chunk-4BX2VUAB-OXEX170k.js → chunk-4BX2VUAB-JtO__vAF.js} +2 -2
  101. package/webapp/dist/assets/chunk-4BX2VUAB-JtO__vAF.js.map +1 -0
  102. package/webapp/dist/assets/{chunk-55IACEB6-BFQ_spQD.js → chunk-55IACEB6-JMRC8yG1.js} +2 -2
  103. package/webapp/dist/assets/chunk-55IACEB6-JMRC8yG1.js.map +1 -0
  104. package/webapp/dist/assets/{chunk-WL4C6EOR-PtH-blkK.js → chunk-B4BG7PRW-BDIpf8Iz.js} +121 -171
  105. package/webapp/dist/assets/chunk-B4BG7PRW-BDIpf8Iz.js.map +1 -0
  106. package/webapp/dist/assets/{chunk-NQ4KR5QH-B_ZhWMXR.js → chunk-DI55MBZ5-j9B4rifK.js} +7 -9
  107. package/webapp/dist/assets/chunk-DI55MBZ5-j9B4rifK.js.map +1 -0
  108. package/webapp/dist/assets/{chunk-FMBD7UC4-CbQ2BBPs.js → chunk-FMBD7UC4-DFXKLjHC.js} +2 -2
  109. package/webapp/dist/assets/chunk-FMBD7UC4-DFXKLjHC.js.map +1 -0
  110. package/webapp/dist/assets/{chunk-KX2RTZJC-BMd-daMY.js → chunk-QN33PNHL-BKzkeJ-b.js} +2 -2
  111. package/webapp/dist/assets/chunk-QN33PNHL-BKzkeJ-b.js.map +1 -0
  112. package/webapp/dist/assets/{chunk-QZHKN3VN-Cbf92xIw.js → chunk-QZHKN3VN-DiZd3UNl.js} +2 -2
  113. package/webapp/dist/assets/chunk-QZHKN3VN-DiZd3UNl.js.map +1 -0
  114. package/webapp/dist/assets/{chunk-JSJVCQXG-C4P1mjCL.js → chunk-TZMSLE5B-BaE4C244.js} +6 -14
  115. package/webapp/dist/assets/chunk-TZMSLE5B-BaE4C244.js.map +1 -0
  116. package/webapp/dist/assets/{classDiagram-VBA2DB6C-Dc3ncaD0.js → classDiagram-2ON5EDUG-CNF8ZohD.js} +6 -7
  117. package/webapp/dist/assets/classDiagram-2ON5EDUG-CNF8ZohD.js.map +1 -0
  118. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-Dc3ncaD0.js → classDiagram-v2-WZHVMYZB-CNF8ZohD.js} +6 -7
  119. package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-CNF8ZohD.js.map +1 -0
  120. package/webapp/dist/assets/{clone-E9Ad85BC.js → clone-Nq0Ko0Gv.js} +2 -2
  121. package/webapp/dist/assets/clone-Nq0Ko0Gv.js.map +1 -0
  122. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-B-nj0o74.js → cose-bilkent-S5V4N54A-uHPLSeKv.js} +2 -2
  123. package/webapp/dist/assets/cose-bilkent-S5V4N54A-uHPLSeKv.js.map +1 -0
  124. package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
  125. package/webapp/dist/assets/{dagre-KLK3FWXG-CyJYNIbm.js → dagre-6UL2VRFP-C1awWpU3.js} +7 -7
  126. package/webapp/dist/assets/dagre-6UL2VRFP-C1awWpU3.js.map +1 -0
  127. package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
  128. package/webapp/dist/assets/{diagram-E7M64L7V-C8eweQ7b.js → diagram-PSM6KHXK-Bf69p76M.js} +10 -10
  129. package/webapp/dist/assets/diagram-PSM6KHXK-Bf69p76M.js.map +1 -0
  130. package/webapp/dist/assets/{diagram-IFDJBPK2-DMdygRl0.js → diagram-QEK2KX5R-Bvlbx8Jp.js} +8 -9
  131. package/webapp/dist/assets/diagram-QEK2KX5R-Bvlbx8Jp.js.map +1 -0
  132. package/webapp/dist/assets/{diagram-P4PSJMXO-BQDZHb0a.js → diagram-S2PKOQOG-CGjGalBu.js} +8 -8
  133. package/webapp/dist/assets/diagram-S2PKOQOG-CGjGalBu.js.map +1 -0
  134. package/webapp/dist/assets/{erDiagram-INFDFZHY-C1HaXN6E.js → erDiagram-Q2GNP2WA-Ds3qhwkG.js} +75 -96
  135. package/webapp/dist/assets/erDiagram-Q2GNP2WA-Ds3qhwkG.js.map +1 -0
  136. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-24nNqQyo.js → flowDiagram-NV44I4VS-B1wDG_l5.js} +81 -98
  137. package/webapp/dist/assets/flowDiagram-NV44I4VS-B1wDG_l5.js.map +1 -0
  138. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-BWPOFaLV.js → ganttDiagram-JELNMOA3-BwuYt2bO.js} +3 -28
  139. package/webapp/dist/assets/ganttDiagram-JELNMOA3-BwuYt2bO.js.map +1 -0
  140. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-D7_L-p_Y.js → gitGraphDiagram-V2S2FVAM-B2Tw773z.js} +46 -38
  141. package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-B2Tw773z.js.map +1 -0
  142. package/webapp/dist/assets/graph-CS_H7jBi.js +425 -0
  143. package/webapp/dist/assets/graph-CS_H7jBi.js.map +1 -0
  144. package/webapp/dist/assets/{index-CDCDAfqP.js → index-arD81Nnh.js} +1086 -1044
  145. package/webapp/dist/assets/{index-CDCDAfqP.js.map → index-arD81Nnh.js.map} +1 -1
  146. package/webapp/dist/assets/{index-BQoNJEGT.css → index-yycTJNYb.css} +1 -1
  147. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-CvaBM5j6.js → infoDiagram-HS3SLOUP-C9_JKYhm.js} +7 -7
  148. package/webapp/dist/assets/infoDiagram-HS3SLOUP-C9_JKYhm.js.map +1 -0
  149. package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
  150. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-TQR6_teO.js → journeyDiagram-XKPGCS4Q-BhZggYOL.js} +5 -5
  151. package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-BhZggYOL.js.map +1 -0
  152. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-B-BOuC-U.js → kanban-definition-3W4ZIXB7-B-R2Xm4Y.js} +3 -5
  153. package/webapp/dist/assets/kanban-definition-3W4ZIXB7-B-R2Xm4Y.js.map +1 -0
  154. package/webapp/dist/assets/{layout-B8yqIqbx.js → layout-BzMatxDa.js} +5 -5
  155. package/webapp/dist/assets/layout-BzMatxDa.js.map +1 -0
  156. package/webapp/dist/assets/{linear-CoLfiZKK.js → linear-BuuJkw_U.js} +2 -2
  157. package/webapp/dist/assets/linear-BuuJkw_U.js.map +1 -0
  158. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-P70BMIHI.js → mindmap-definition-VGOIOE7T-BR7oDKBR.js} +5 -7
  159. package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BR7oDKBR.js.map +1 -0
  160. package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
  161. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DsS_4dTB.js → pieDiagram-ADFJNKIX--QWeT2vZ.js} +8 -8
  162. package/webapp/dist/assets/pieDiagram-ADFJNKIX--QWeT2vZ.js.map +1 -0
  163. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-DoM9PEq-.js → quadrantDiagram-AYHSOK5B-BpqtmN3r.js} +3 -3
  164. package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-BpqtmN3r.js.map +1 -0
  165. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-Bn3lYMMI.js → requirementDiagram-UZGBJVZJ-CIXjIi4F.js} +6 -16
  166. package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-CIXjIi4F.js.map +1 -0
  167. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-97kCegRT.js → sankeyDiagram-TZEHDZUN-DJIt7SRz.js} +2 -2
  168. package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-DJIt7SRz.js.map +1 -0
  169. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DXqjQjf6.js → sequenceDiagram-WL72ISMW-BpDK1ROT.js} +201 -601
  170. package/webapp/dist/assets/sequenceDiagram-WL72ISMW-BpDK1ROT.js.map +1 -0
  171. package/webapp/dist/assets/{stateDiagram-RAJIS63D-DQcTPKWP.js → stateDiagram-FKZM4ZOC-BoKGfmHf.js} +9 -9
  172. package/webapp/dist/assets/stateDiagram-FKZM4ZOC-BoKGfmHf.js.map +1 -0
  173. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-DHmxRVJn.js → stateDiagram-v2-4FDKWEC3--haXC2JK.js} +5 -5
  174. package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3--haXC2JK.js.map +1 -0
  175. package/webapp/dist/assets/{timeline-definition-YZTLITO2-BlovQQ4B.js → timeline-definition-IT6M3QCI-BmSg3Hjf.js} +3 -3
  176. package/webapp/dist/assets/timeline-definition-IT6M3QCI-BmSg3Hjf.js.map +1 -0
  177. package/webapp/dist/assets/{treemap-KZPCXAKY-CGu93c9S.js → treemap-GDKQZRPO-D9OuyDVA.js} +24 -37
  178. package/webapp/dist/assets/treemap-GDKQZRPO-D9OuyDVA.js.map +1 -0
  179. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BKa1DxVq.js → xychartDiagram-PRI3JC2R-CVqSvO_S.js} +4 -4
  180. package/webapp/dist/assets/xychartDiagram-PRI3JC2R-CVqSvO_S.js.map +1 -0
  181. package/webapp/dist/index.html +2 -2
  182. package/webapp/dist/assets/_basePickBy-ZLV93S3E.js.map +0 -1
  183. package/webapp/dist/assets/_baseUniq-D0wSOJ06.js.map +0 -1
  184. package/webapp/dist/assets/arc-BHclbMTS.js.map +0 -1
  185. package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-CK99gE_D.js.map +0 -1
  186. package/webapp/dist/assets/blockDiagram-WCTKOSBZ-fE5MBTEU.js.map +0 -1
  187. package/webapp/dist/assets/c4Diagram-IC4MRINW-BSLyPyoU.js.map +0 -1
  188. package/webapp/dist/assets/channel-DSvMpp-a.js.map +0 -1
  189. package/webapp/dist/assets/chunk-4BX2VUAB-OXEX170k.js.map +0 -1
  190. package/webapp/dist/assets/chunk-55IACEB6-BFQ_spQD.js.map +0 -1
  191. package/webapp/dist/assets/chunk-FMBD7UC4-CbQ2BBPs.js.map +0 -1
  192. package/webapp/dist/assets/chunk-JSJVCQXG-C4P1mjCL.js.map +0 -1
  193. package/webapp/dist/assets/chunk-KX2RTZJC-BMd-daMY.js.map +0 -1
  194. package/webapp/dist/assets/chunk-NQ4KR5QH-B_ZhWMXR.js.map +0 -1
  195. package/webapp/dist/assets/chunk-QZHKN3VN-Cbf92xIw.js.map +0 -1
  196. package/webapp/dist/assets/chunk-WL4C6EOR-PtH-blkK.js.map +0 -1
  197. package/webapp/dist/assets/classDiagram-VBA2DB6C-Dc3ncaD0.js.map +0 -1
  198. package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-Dc3ncaD0.js.map +0 -1
  199. package/webapp/dist/assets/clone-E9Ad85BC.js.map +0 -1
  200. package/webapp/dist/assets/cose-bilkent-S5V4N54A-B-nj0o74.js.map +0 -1
  201. package/webapp/dist/assets/dagre-KLK3FWXG-CyJYNIbm.js.map +0 -1
  202. package/webapp/dist/assets/diagram-E7M64L7V-C8eweQ7b.js.map +0 -1
  203. package/webapp/dist/assets/diagram-IFDJBPK2-DMdygRl0.js.map +0 -1
  204. package/webapp/dist/assets/diagram-P4PSJMXO-BQDZHb0a.js.map +0 -1
  205. package/webapp/dist/assets/erDiagram-INFDFZHY-C1HaXN6E.js.map +0 -1
  206. package/webapp/dist/assets/flowDiagram-PKNHOUZH-24nNqQyo.js.map +0 -1
  207. package/webapp/dist/assets/ganttDiagram-A5KZAMGK-BWPOFaLV.js.map +0 -1
  208. package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-D7_L-p_Y.js.map +0 -1
  209. package/webapp/dist/assets/graph-OHu4dL2n.js +0 -782
  210. package/webapp/dist/assets/graph-OHu4dL2n.js.map +0 -1
  211. package/webapp/dist/assets/infoDiagram-LFFYTUFH-CvaBM5j6.js.map +0 -1
  212. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-DB1l2Uue.js +0 -966
  213. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-DB1l2Uue.js.map +0 -1
  214. package/webapp/dist/assets/journeyDiagram-4ABVD52K-TQR6_teO.js.map +0 -1
  215. package/webapp/dist/assets/kanban-definition-K7BYSVSG-B-BOuC-U.js.map +0 -1
  216. package/webapp/dist/assets/layout-B8yqIqbx.js.map +0 -1
  217. package/webapp/dist/assets/linear-CoLfiZKK.js.map +0 -1
  218. package/webapp/dist/assets/mindmap-definition-YRQLILUH-P70BMIHI.js.map +0 -1
  219. package/webapp/dist/assets/pieDiagram-SKSYHLDU-DsS_4dTB.js.map +0 -1
  220. package/webapp/dist/assets/quadrantDiagram-337W2JSQ-DoM9PEq-.js.map +0 -1
  221. package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-Bn3lYMMI.js.map +0 -1
  222. package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-97kCegRT.js.map +0 -1
  223. package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DXqjQjf6.js.map +0 -1
  224. package/webapp/dist/assets/stateDiagram-RAJIS63D-DQcTPKWP.js.map +0 -1
  225. package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-DHmxRVJn.js.map +0 -1
  226. package/webapp/dist/assets/timeline-definition-YZTLITO2-BlovQQ4B.js.map +0 -1
  227. package/webapp/dist/assets/treemap-KZPCXAKY-CGu93c9S.js.map +0 -1
  228. package/webapp/dist/assets/vennDiagram-LZ73GAT5-Do1jprrz.js +0 -2487
  229. package/webapp/dist/assets/vennDiagram-LZ73GAT5-Do1jprrz.js.map +0 -1
  230. package/webapp/dist/assets/xychartDiagram-JWTSCODW-BKa1DxVq.js.map +0 -1
@@ -27,39 +27,42 @@
27
27
 
28
28
  ### 1. Reminder
29
29
 
30
- Reminders are temporary working-set notes with two scopes:
30
+ Reminders are temporary current-work notes with three scopes:
31
31
 
32
32
  - `dialog`: current-dialog only
33
- - `personal`: visible in all later dialogs you lead
33
+ - `task`: visible in every dialog you lead for the current Taskdoc
34
+ - `agent`: visible in all dialogs you lead, but only for urgent, short-lived, globally visible cues
34
35
 
35
- Default to `dialog`. Use `personal` only when you should keep seeing that note in all later dialogs you lead while carrying the same responsibility.
36
+ Default to `task`. Use `dialog` only when the note is truly dialog-local; use `agent` only when the note is urgent, short-lived, and globally visible.
36
37
 
37
38
  **Characteristics:**
38
39
 
39
40
  - `dialog` reminders stay in the current dialog only
40
- - `personal` reminders stay visible in all later dialogs you lead
41
+ - `task` reminders stay visible under the current Taskdoc
42
+ - `agent` reminders stay visible in all later dialogs you lead
41
43
  - Can be added, modified, or deleted at any time
42
44
  - Should stay compact, scannable, and directly actionable by default
43
45
  - Before `clear_mind`, the Main Dialog first records undocumented discussion details the next course needs to know into Taskdoc, then creates a structured continuation-package reminder; a Side Dialog directly maintains sufficiently detailed continuation-package reminders. If the current course is already under system remediation, Side Dialog reminder length has no technical limit and rough multi-reminder carry-over is acceptable
44
46
 
45
47
  **Difference from memory:**
46
- | Feature | dialog reminder | personal reminder | personal memory |
47
- |---------|-----------------|-------------------|-----------------|
48
- | Persistence | Current dialog only | Across all later dialogs you lead | Long-term / file-backed |
49
- | Visibility | Current dialog | Current Dialog Responder | Current agent |
50
- | Best for | Current next step, blocker, volatile clue | Responsibility-linked operating cue | Stable facts / reusable knowledge |
48
+ | Feature | dialog reminder | task reminder | agent reminder | personal memory |
49
+ |---------|-----------------|---------------|----------------|-----------------|
50
+ | Persistence | Current dialog only | Current Taskdoc | Across all later dialogs you lead | Long-term / file-backed |
51
+ | Visibility | Current dialog | Current-task dialogs | Current Dialog Responder | Current agent |
52
+ | Best for | Current next step, blocker, volatile clue | Current work under one task | Urgent, short-lived, global cue | Stable facts / reusable knowledge |
51
53
 
52
54
  ### 1.1 Scope Choice Rule
53
55
 
54
- - Use `personal` for responsibility-related reminders:
55
- - a preferred smoke-check command this agent should keep using in similar dialogs
56
- - a recurring safety check this agent should keep applying
57
- - an operating watchpoint that should survive dialog boundaries for you
58
- - Use `dialog` for everything else:
56
+ - Default to `task`:
57
+ - a preferred smoke-check command for this task
58
+ - a recurring safety check for this task
59
+ - an operating watchpoint that should survive dialog boundaries for this Taskdoc
60
+ - Use `dialog` for truly dialog-local notes:
59
61
  - current blockers
60
62
  - temporary paths, ids, commands, sample inputs
61
63
  - bridge notes that matter only for this dialog / current course
62
- - If the content is a durable fact or knowledge asset rather than an active working-set cue, it likely belongs in `personal_memory`, not in either reminder scope.
64
+ - Use `agent` only for urgent, short-lived, globally visible cues that should appear in every dialog you lead.
65
+ - If the content is a durable fact or knowledge asset rather than an active current-work cue, it likely belongs in `personal_memory`, not in any reminder scope.
63
66
 
64
67
  ### 2. Taskdoc
65
68
 
@@ -118,10 +121,11 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
118
121
 
119
122
  ### 1. Reminder Usage Scenarios
120
123
 
121
- - **Current working set**: next step, blockers, key pointers
124
+ - **Current work**: next step, blockers, key pointers
122
125
  - **Easy-to-lose details**: temporary paths, ids, commands, sample inputs
123
126
  - **Course transition**: continuation-package notes before `clear_mind`, including rough multi-reminder carry-over when already degraded
124
- - **Responsibility-linked carry-over**: if you should keep seeing the note in all later dialogs you lead, use `personal`
127
+ - **Task carry-over**: if you should keep seeing the note under the current Taskdoc, use `task`
128
+ - **Global urgent cue**: if you should keep seeing it in all later dialogs you lead, and it is urgent, short-lived, and globally visible, use `agent`
125
129
 
126
130
  ### 2. Taskdoc Update Timing
127
131
 
@@ -157,8 +161,8 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
157
161
 
158
162
  ## Limitations and Notes
159
163
 
160
- 1. `dialog` reminders end with the dialog; `personal` reminders stay visible in all later dialogs you lead
164
+ 1. `dialog` reminders end with the dialog; `task` reminders stay visible under the current Taskdoc; `agent` reminders stay visible in all later dialogs you lead
161
165
  2. Use `do_mind` to create missing Taskdoc sections; use `mind_more` for small Taskdoc additions; use `change_mind` for full-section replacement of existing sections only after merging existing content and calling `recall_taskdoc` for the current `content_hash`; use `never_mind` when a whole section file should be deleted. Do not treat `mind_more` as a chronology tool; when cleanup, stale-entry removal, or same-topic consolidation is needed, use `recall_taskdoc` then `change_mind`
162
166
  3. `do_mind` / `mind_more` / `change_mind` / `never_mind` do not start a new course
163
167
  4. A continuation-package reminder should keep only details still not covered by Taskdoc but easy to lose during resume; in the Main Dialog, undocumented discussion details from current dialog history that the next course needs to know should be written to the appropriate Taskdoc sections first; in a Side Dialog under caution/critical remediation, maintain sufficiently detailed continuation-package reminders only
164
- 5. Do not turn `personal` reminders into a long-term fact dump; move durable knowledge into `personal_memory`
168
+ 5. Do not turn `task` / `agent` reminders into a long-term fact dump; move durable knowledge into `personal_memory`
@@ -11,28 +11,33 @@
11
11
  - Failure Branch
12
12
  - Completion Criteria
13
13
 
14
- ## Scenario 1: Reminder Working Set Tracking
14
+ ## Scenario 1: Reminder Current-Work Tracking
15
15
 
16
16
  ### Scenario Description
17
17
 
18
- Use reminders for the current dialog's working set: next steps, blockers, and volatile details that are not meant to become the team's Taskdoc bulletin board.
18
+ Use reminders for the current task's current work: next steps, blockers, and volatile details that are not meant to become the team's Taskdoc bulletin board.
19
19
 
20
20
  ### Example
21
21
 
22
22
  ```typescript
23
- // Add a dialog-scoped working-set reminder
23
+ // Default to task scope: visible when continuing the same Taskdoc in a new dialog
24
24
  add_reminder({
25
25
  content: 'Next step: verify the control manual wording against Taskdoc progress semantics',
26
26
  });
27
27
 
28
- // Add a personal reminder only because this is a responsibility-linked cue
29
- // that you should keep seeing in all later dialogs you lead
28
+ // Use dialog only when the note is truly local to the current dialog
30
29
  add_reminder({
31
- content: 'Preferred deploy smoke-check command: pnpm -C dominds run lint:types',
32
- scope: 'personal',
30
+ content: 'In this dialog, compare against line 12 of the last tool output',
31
+ scope: 'dialog',
33
32
  });
34
33
 
35
- // Update after the local working-set detail changes
34
+ // Use agent only for urgent, short-lived, globally visible cues
35
+ add_reminder({
36
+ content: 'Urgent: confirm human authorization before deleting any external resource',
37
+ scope: 'agent',
38
+ });
39
+
40
+ // Update after the current-work detail changes
36
41
  update_reminder({
37
42
  reminder_id: 'abc123de',
38
43
  content: 'Blocker cleared: control manual wording now aligned with Taskdoc progress semantics',
@@ -46,10 +51,11 @@ delete_reminder({
46
51
 
47
52
  ### Key Points
48
53
 
49
- - Default to `dialog` for local next steps, temporary blockers, and volatile bridge details
50
- - Use `personal` only when you should still see the note in all later dialogs you lead
54
+ - Default to `task` for next steps, temporary blockers, and volatile bridge details under the same Taskdoc
55
+ - Use `dialog` only for notes that are truly local to the current dialog
56
+ - Use `agent` only for urgent, short-lived, globally visible cues
51
57
  - If the information should synchronize the whole team's current effective state, put it in Taskdoc `progress` instead
52
- - If the note is durable knowledge rather than an active working-set cue, move it to `personal_memory` instead
58
+ - If the note is durable knowledge rather than an active current-work cue, move it to `personal_memory` instead
53
59
 
54
60
  ## Scenario 2: Side Dialog is complete, and the assignment header requires replyTellask
55
61
 
@@ -44,15 +44,15 @@ Add reminder.
44
44
 
45
45
  Use when:
46
46
 
47
- - Adding a new temporary working-set item
47
+ - Adding a new temporary current-work item
48
48
  - Before `clear_mind`, the Main Dialog first records undocumented discussion details the next course needs to know into Taskdoc, then creates continuation-package notes; a Side Dialog directly maintains sufficiently detailed continuation-package reminders. When the current course is already under caution/critical remediation, Side Dialog reminder length has no technical limit and rough bridge notes are acceptable
49
- - Record only manually maintained working-set / continuation details; do not put runtime-maintained environment state such as background process status, in-flight background asks, or session attachment state into manual reminders
49
+ - Record only manually maintained current-work / continuation details; do not put runtime-maintained environment state such as background process status, in-flight background asks, or session attachment state into manual reminders
50
50
 
51
51
  **Parameters:**
52
52
 
53
53
  - `content` (required): Reminder content
54
- - `position` (optional): Insert position (1-based, default append; dialog scope only)
55
- - `scope` (optional): `dialog` or `personal`; default is `dialog`. Use `personal` only when you should keep seeing this reminder in all later dialogs you lead; otherwise keep it `dialog`.
54
+ - `scope` (optional): `dialog` / `task` / `agent`; default is `task`. Use `dialog` only for truly dialog-local notes; use `agent` only for urgent, short-lived, globally visible cues.
55
+ - `render_mode` (optional): `markdown` / `plain`; defaults to `markdown`
56
56
 
57
57
  **Returns:**
58
58
 
@@ -60,7 +60,6 @@ Use when:
60
60
  status: ok|error
61
61
  reminder_id: <reminder id>
62
62
  content: <reminder content>
63
- position: <insert position>
64
63
  created_at: <creation timestamp>
65
64
  ```
66
65
 
@@ -276,7 +275,6 @@ clear_mind({
276
275
  ```typescript
277
276
  add_reminder({
278
277
  content: 'Waiting for @fullstack to confirm API design',
279
- position: 1,
280
278
  });
281
279
  ```
282
280
 
@@ -26,20 +26,6 @@
26
26
  - 使用正确的提醒 id
27
27
  - 先使用 `add_reminder` 创建提醒
28
28
 
29
- ### REMINDER_INVALID_POSITION
30
-
31
- **描述:** 提醒位置无效。
32
-
33
- **原因:**
34
-
35
- - 位置超出有效范围
36
- - 位置格式不正确
37
-
38
- **解决方案:**
39
-
40
- - 确保位置在 1 到当前提醒数量之间
41
- - 默认不指定位置,会追加到末尾
42
-
43
29
  ### TASKDOC_CATEGORY_INVALID
44
30
 
45
31
  **描述:** 差遣牒类别无效。
@@ -85,13 +71,13 @@
85
71
 
86
72
  ## 常见问题
87
73
 
88
- ### Q: `dialog` 提醒、`personal` 提醒和 memory 有什么区别?
74
+ ### Q: `dialog` / `task` / `agent` 提醒和 memory 有什么区别?
89
75
 
90
- A: `dialog` 提醒只用于当前对话的工作集。`personal` 提醒会在所有由你主理的后续对话里继续可见,但仍属于工作集提示,不是长期知识库。`personal_memory` 用于保存持久稳定事实和可复用知识;如果信息需要向全队同步当前有效状态、关键决策、下一步或仍成立阻塞,应写入 Taskdoc `progress`,而不是提醒项。
76
+ A: `dialog` 提醒只用于当前对话的手头工作;`task` 提醒用于同一差遣牒任务内的手头工作,也是 `add_reminder` 默认范围;`agent` 提醒会在所有由你主理的后续对话里继续可见,只适合紧急、短期、全局刺眼提醒。它们都不是长期知识库。`personal_memory` 用于保存持久稳定事实和可复用知识;如果信息需要向全队同步当前有效状态、关键决策、下一步或仍成立阻塞,应写入 Taskdoc `progress`,而不是提醒项。
91
77
 
92
- ### Q: `personal` 和 `dialog` 怎么选?
78
+ ### Q: `dialog`、`task` 和 `agent` 怎么选?
93
79
 
94
- A: 只有当这条提醒与你的持续职责相关,且在所有由你主理的后续对话里也应该继续被看到时,才用 `personal`。其它情况默认都用 `dialog`。
80
+ A: 默认用 `task`,让同一差遣牒任务换新对话继续时仍可见。只有真正对话局部的提醒才用 `dialog`;只有紧急、短期、全局刺眼提醒才用 `agent`。
95
81
 
96
82
  ### Q: do_mind / mind_more / change_mind / never_mind 会开启新 course 吗?
97
83
 
@@ -111,4 +97,4 @@ A: 没有严格限制,但建议保持提醒数量在合理范围内(建议
111
97
 
112
98
  ### Q: 如何查看当前所有提醒?
113
99
 
114
- A: 智能体在生成回复时可以访问所有当前对你可见、带 `reminder_id` 的提醒。这包括当前对话提醒,以及你当前可见的 personal/shared 提醒。
100
+ A: 智能体在生成回复时可以访问所有当前对你可见、带 `reminder_id` 的提醒。这包括当前对话提醒,以及你当前可见的 task/agent/system 提醒。
@@ -26,7 +26,7 @@
26
26
 
27
27
  control 是 Dominds 的**对话控制工具集**,用于管理对话状态、提醒、差遣牒,以及跨对话回复收口语义:
28
28
 
29
- - **提醒管理**:提醒分 `dialog` / `personal` 两个 scope;默认保持对话内工作集,只有职责相关且在所有由你主理的后续对话里也应继续看到的提醒才用 `personal`
29
+ - **提醒管理**:提醒分 `dialog` / `task` / `agent` 三个 scope;默认是 `task`,用于同一差遣牒任务下的手头工作;`dialog` 只用于真正对话局部的提醒;`agent` 只用于紧急、短期、全局刺眼提醒
30
30
  - **差遣牒操作**:追加、替换或删除任务契约章节(goals/constraints/progress);其中 `progress` 是全队共享、准实时、可扫读的任务公告牌
31
31
  - **上下文维护**:在不丢关键恢复线索的前提下降低认知负载
32
32
  - **回复路由**:在支线/回问语境下,区分 `tellaskBack`、`replyTellask*` 与普通文本的职责边界
@@ -51,7 +51,7 @@ control 是 Dominds 的**对话控制工具集**,用于管理对话状态、
51
51
 
52
52
  ### 提醒(Reminder)
53
53
 
54
- 提醒是临时工作集,用于:
54
+ 提醒是临时手头工作提示,用于:
55
55
 
56
56
  - 标记待处理事项
57
57
  - 追踪当前下一步/阻塞
@@ -62,8 +62,9 @@ control 是 Dominds 的**对话控制工具集**,用于管理对话状态、
62
62
 
63
63
  scope 规则:
64
64
 
65
- - `dialog`:当前对话工作集
66
- - `personal`:在所有由你主理的后续对话里也应继续看到的职责相关提醒
65
+ - `dialog`:当前对话手头工作
66
+ - `task`:当前差遣牒任务下的手头工作,默认范围
67
+ - `agent`:在所有由你主理的后续对话里也应继续看到的紧急、短期、全局刺眼提醒
67
68
 
68
69
  ### 差遣牒
69
70
 
@@ -27,39 +27,41 @@
27
27
 
28
28
  ### 1. 提醒(Reminder)
29
29
 
30
- 提醒是临时工作集,但现在分成两个 scope:
30
+ 提醒是临时手头工作提示,但现在分成三个 scope:
31
31
 
32
32
  - `dialog`:仅当前对话可见
33
- - `personal`:在所有由你主理的后续对话里都可见
33
+ - `task`:当前差遣牒任务内、所有由你主理的对话里都可见
34
+ - `agent`:所有由你主理的对话里都可见,但只用于紧急、短期、全局刺眼提醒
34
35
 
35
- 默认用 `dialog`。只有当这条提醒在所有由你主理的后续对话里、继续承担相同职责时仍然应该被看到,才升级为 `personal`。
36
+ 默认用 `task`。只有当这条提醒只对当前对话局部有效时,才降到 `dialog`;只有当它是紧急、短期、全局刺眼提醒时,才升到 `agent`。
36
37
 
37
38
  **特点:**
38
39
 
39
40
  - `dialog` 提醒只留在当前对话
40
- - `personal` 提醒会在所有由你主理的后续对话里继续可见
41
+ - `task` 提醒会在当前差遣牒任务内继续可见
42
+ - `agent` 提醒会在所有由你主理的后续对话里继续可见
41
43
  - 可随时添加、修改、删除
42
44
  - 默认应保持少量、可扫读、可直接指导下一步
43
45
  - 准备 `clear_mind` 时,主线对话先把应由下一程知会的未落文档讨论细节补进差遣牒,再压缩成结构化接续包提醒项;支线对话直接维护足够详尽的接续包提醒项。若当前程已被系统置于吃紧/告急处置态,支线提醒项长度没有技术限制,也可先保留多条粗略提醒项过桥
44
46
 
45
47
  **与 memory 的区别:**
46
- | 特性 | dialog reminder | personal reminder | personal memory |
47
- |------|-----------------|-------------------|-----------------|
48
- | 持久性 | 仅当前对话 | 跨所有由你主理的后续对话 | 长期 / 文件持久化 |
49
- | 可见性 | 当前对话 | 你当前可见的提醒范围 | 当前智能体 |
50
- | 最适合 | 当前下一步、阻塞、易丢线索 | 职责相关的操作提示 | 稳定事实 / 可复用知识 |
48
+ | 特性 | dialog reminder | task reminder | agent reminder | personal memory |
49
+ |------|-----------------|---------------|----------------|-----------------|
50
+ | 持久性 | 仅当前对话 | 当前差遣牒任务 | 跨所有由你主理的后续对话 | 长期 / 文件持久化 |
51
+ | 可见性 | 当前对话 | 当前任务相关对话 | 你当前可见的提醒范围 | 当前智能体 |
52
+ | 最适合 | 当前下一步、阻塞、易丢线索 | 同一任务下的手头工作 | 紧急、短期、全局刺眼提醒 | 稳定事实 / 可复用知识 |
51
53
 
52
54
  ### 1.1 Scope 选用原则
53
55
 
54
- - 下列情况用 `personal`:
55
- - 这个 agent 在类似职责下反复要用到的首选命令
56
- - 这个 agent 持续要执行的安全检查
57
- - 应该跨对话保留的职责相关注意点
58
- - 其余一律用 `dialog`:
56
+ - 默认用 `task`:
57
+ - 这个任务下反复要用到的首选命令
58
+ - 这个任务持续要执行的安全检查
59
+ - 应该跨对话保留、但只对当前差遣牒任务有效的注意点
60
+ - 其余真正只对当前对话有效的,一律用 `dialog`:
59
61
  - 当前阻塞
60
62
  - 临时路径、id、命令、样例输入
61
63
  - 只对这次对话 / 当前程有用的过桥备注
62
- - 如果内容本质上是长期稳定事实或知识资产,而不是当前工作集提示,它更可能属于 `personal_memory`,而不是 reminder。
64
+ - 如果内容本质上是长期稳定事实或知识资产,而不是当前手头工作提示,它更可能属于 `personal_memory`,而不是 reminder。
63
65
 
64
66
  ### 2. 差遣牒
65
67
 
@@ -118,10 +120,11 @@
118
120
 
119
121
  ### 1. 提醒使用场景
120
122
 
121
- - **当前工作集**:当前下一步、阻塞、关键定位信息
123
+ - **当前手头工作**:当前下一步、阻塞、关键定位信息
122
124
  - **易丢细节**:临时路径、id、命令、样例输入
123
125
  - **换程接续**:在 `clear_mind` 前整理接续包;若当前程已被系统置于吃紧/告急处置态,可先保留多条粗略提醒项
124
- - **职责延续提示**:如果在所有由你主理的后续对话里也应该继续看到它,用 `personal`
126
+ - **任务延续提示**:如果在当前差遣牒任务内都应该继续看到它,用 `task`
127
+ - **全局刺眼提示**:如果它应该在所有由你主理的后续对话里继续看到,而且是短期、紧急、全局刺眼提醒,用 `agent`
125
128
 
126
129
  ### 2. 差遣牒更新时机
127
130
 
@@ -157,8 +160,8 @@
157
160
 
158
161
  ## 限制与注意事项
159
162
 
160
- 1. `dialog` 提醒会随对话结束而结束;`personal` 提醒会在所有由你主理的后续对话里继续可见
163
+ 1. `dialog` 提醒会随对话结束而结束;`task` 提醒会在当前差遣牒任务内继续可见;`agent` 提醒会在所有由你主理的后续对话里继续可见
161
164
  2. 缺失差遣牒章节用 `do_mind` 创建;差遣牒少量新增可用 `mind_more` 追加;已有章节整段替换用 `change_mind`,请确保合并已有内容,并先调用 `recall_taskdoc` 取得当前 `content_hash` 作为 `previous_content_hash`;确需删除整章文件时用 `never_mind`。不要把 `mind_more` 当流水账工具;需要整理、去旧、合并同主题记录时先 `recall_taskdoc` 再 `change_mind`
162
165
  3. `do_mind` / `mind_more` / `change_mind` / `never_mind` 不开启新 course
163
166
  4. 接续包提醒项只保留差遣牒仍未覆盖、但恢复工作容易丢的细节;主线对话应先把当前对话历史中应由下一程知会的未落文档讨论细节写入差遣牒合适章节;支线对话在吃紧/告急时只维护足够详尽的接续包提醒项
164
- 5. 不要把 `personal` 提醒堆成长期事实仓库;耐久知识应迁到 `personal_memory`
167
+ 5. 不要把 `task` / `agent` 提醒堆成长期事实仓库;耐久知识应迁到 `personal_memory`
@@ -11,28 +11,33 @@
11
11
  - 失败分支处理
12
12
  - 完成判据
13
13
 
14
- ## 场景 1:提醒项工作集跟踪
14
+ ## 场景 1:提醒项手头工作跟踪
15
15
 
16
16
  ### 场景描述
17
17
 
18
- 使用 reminders 承接当前对话的工作集:下一步、临时阻塞、易丢的 bridge 细节,而不是把它写成面向全队同步的 Taskdoc 公告牌。
18
+ 使用 reminders 承接当前任务的手头工作:下一步、临时阻塞、易丢的 bridge 细节,而不是把它写成面向全队同步的 Taskdoc 公告牌。
19
19
 
20
20
  ### 示例
21
21
 
22
22
  ```typescript
23
- // 添加一条 dialog 级工作集提醒
23
+ // 默认添加 task 范围提醒:同一差遣牒任务换新对话继续时仍可见
24
24
  add_reminder({
25
25
  content: '下一步:复核 control 手册是否已经完整表达 Taskdoc progress 的公告牌语义',
26
26
  });
27
27
 
28
- // 只有因为这是一条职责相关提示,且在所有由你主理的后续对话里也应继续看到,
29
- // 才把它写成 personal
28
+ // 只有真正只对当前对话局部有效,才显式写成 dialog
30
29
  add_reminder({
31
- content: '常用部署自检命令:pnpm -C dominds run lint:types',
32
- scope: 'personal',
30
+ content: '本对话里临时对照一下刚才那段 tool output 的第 12 行',
31
+ scope: 'dialog',
33
32
  });
34
33
 
35
- // 当本地工作集细节变化后更新
34
+ // 只有紧急、短期、全局刺眼提醒,才写成 agent
35
+ add_reminder({
36
+ content: '紧急:在删除任何外部资源前必须先向用户确认授权',
37
+ scope: 'agent',
38
+ });
39
+
40
+ // 当手头工作细节变化后更新
36
41
  update_reminder({
37
42
  reminder_id: 'abc123de',
38
43
  content: '阻塞已解除:control 手册文案已与 Taskdoc progress 语义对齐',
@@ -46,10 +51,11 @@ delete_reminder({
46
51
 
47
52
  ### 关键点
48
53
 
49
- - 本地下一步、临时阻塞、一次性 bridge 细节默认都用 `dialog`
50
- - 只有职责相关、且在所有由你主理的后续对话里也应继续看到的提醒才用 `personal`
54
+ - 同一差遣牒任务内的下一步、临时阻塞、bridge 细节默认都用 `task`
55
+ - 真正只对当前对话有效的提醒才用 `dialog`
56
+ - 只有紧急、短期、全局刺眼提醒才用 `agent`
51
57
  - 如果信息需要向全队同步当前有效状态、关键决策、下一步或仍成立阻塞,应写入 Taskdoc `progress`
52
- - 如果内容本质上是长期知识而不是当前工作集提示,应改存到 `personal_memory`
58
+ - 如果内容本质上是长期知识而不是当前手头工作提示,应改存到 `personal_memory`
53
59
 
54
60
  ## 场景 2:支线已完成,按 assignment 头部要求调用 replyTellask
55
61
 
@@ -44,15 +44,15 @@
44
44
 
45
45
  **适用:**
46
46
 
47
- - 添加新的临时工作集条目
47
+ - 添加新的临时手头工作条目
48
48
  - 若准备 `clear_mind`,主线对话先把应由下一程知会的未落文档讨论细节补进差遣牒,再新建接续包提醒项;支线对话直接维护足够详尽的接续包提醒项。若当前程已被系统置于吃紧/告急处置态,支线提醒项长度没有技术限制,先记粗略过桥信息也可以
49
- - 只记录需要你手工维护的工作集/接续细节;不要在手工提醒项里记录后台进程状态、后台进行中诉请、会话附件状态等 Dominds 系统环境会自动维护的信息
49
+ - 只记录需要你手工维护的手头工作/接续细节;不要在手工提醒项里记录后台进程状态、后台进行中诉请、会话附件状态等 Dominds 系统环境会自动维护的信息
50
50
 
51
51
  **参数:**
52
52
 
53
53
  - `content`(必需):提醒内容
54
- - `position`(可选):插入位置(1-based,默认追加;仅 `dialog` 范围支持)
55
- - `scope`(可选):`dialog` `personal`;默认 `dialog`。只有在所有由你主理的后续对话里也应该继续看到这条提醒时才用 `personal`;否则保持 `dialog`。
54
+ - `scope`(可选):`dialog` / `task` / `agent`;默认 `task`。`dialog` 只用于真正对话局部的提醒;`agent` 只用于紧急、短期、全局刺眼提醒。
55
+ - `render_mode`(可选):`markdown` / `plain`;默认 `markdown`
56
56
 
57
57
  **返回:**
58
58
 
@@ -60,7 +60,6 @@
60
60
  status: ok|error
61
61
  reminder_id: <提醒 id>
62
62
  content: <提醒内容>
63
- position: <插入位置>
64
63
  created_at: <创建时间戳>
65
64
  ```
66
65
 
@@ -271,7 +270,6 @@ clear_mind({
271
270
  ```typescript
272
271
  add_reminder({
273
272
  content: '等待 @fullstack 确认 API 设计',
274
- position: 1,
275
273
  });
276
274
  ```
277
275
 
@@ -0,0 +1,6 @@
1
+ # Errors
2
+
3
+ - `PATH_REQUIRED`
4
+ - `NOT_SYMLINK`
5
+ - `NOT_FOUND`
6
+ - `FAILED`
@@ -0,0 +1,17 @@
1
+ fs_read is Dominds' local-filesystem read-only toolset for reading and searching files outside rtws:
2
+
3
+ - Directory listing
4
+ - File reading
5
+ - Symlink inspection
6
+ - Content searching
7
+
8
+ ## Status
9
+
10
+ - Status: Implemented
11
+ - Main implementation files:
12
+ - Tool implementation: `dominds/main/tools/fs.ts`, `dominds/main/tools/txt.ts`, `dominds/main/tools/picture.ts`, `dominds/main/tools/ripgrep.ts`
13
+ - Toolset metadata: `dominds/main/tools/builtins.ts`, `dominds/main/tools/registry.ts`
14
+
15
+ ## Difference from ws_read
16
+
17
+ `fs_read` exposes the same read-oriented capabilities as `ws_read`, but without the rtws path restriction.
@@ -0,0 +1,5 @@
1
+ # Principles
2
+
3
+ 1. This toolset reads the local filesystem directly.
4
+ 2. It does not require paths to stay inside rtws.
5
+ 3. It remains read-only.
@@ -0,0 +1,3 @@
1
+ # Scenarios
2
+
3
+ Use `fs_read` when you need to inspect files outside the current rtws, such as a sibling checkout or a system path.
@@ -0,0 +1,11 @@
1
+ # Tools
2
+
3
+ - `fs_list_dir`
4
+ - `fs_read_symlink`
5
+ - `fs_read_file`
6
+ - `fs_read_picture`
7
+ - `fs_ripgrep_files`
8
+ - `fs_ripgrep_snippets`
9
+ - `fs_ripgrep_count`
10
+ - `fs_ripgrep_fixed`
11
+ - `fs_ripgrep_search`
@@ -0,0 +1,6 @@
1
+ # 错误
2
+
3
+ - `PATH_REQUIRED`
4
+ - `NOT_SYMLINK`
5
+ - `NOT_FOUND`
6
+ - `FAILED`
@@ -0,0 +1,17 @@
1
+ fs_read 是 Dominds 的本机文件系统只读工具集,用于读取和搜索 rtws 之外的文件:
2
+
3
+ - 目录查看
4
+ - 文件读取
5
+ - 符号链接检查
6
+ - 内容搜索
7
+
8
+ ## 状态
9
+
10
+ - 状态:已实现
11
+ - 主要实现文件:
12
+ - 工具实现:`dominds/main/tools/fs.ts`、`dominds/main/tools/txt.ts`、`dominds/main/tools/picture.ts`、`dominds/main/tools/ripgrep.ts`
13
+ - toolset 元信息:`dominds/main/tools/builtins.ts`、`dominds/main/tools/registry.ts`
14
+
15
+ ## 与 ws_read 的区别
16
+
17
+ `fs_read` 提供与 `ws_read` 相同的只读能力,但不要求路径必须位于 rtws 内。
@@ -0,0 +1,5 @@
1
+ # 原则
2
+
3
+ 1. 该工具集直接读取本机文件系统。
4
+ 2. 路径不必限制在 rtws 内。
5
+ 3. 仍然只读。
@@ -0,0 +1,3 @@
1
+ # 场景
2
+
3
+ 当你需要查看当前 rtws 之外的文件时,使用 `fs_read`,例如旁边的 checkout 或系统路径。
@@ -0,0 +1,11 @@
1
+ # 工具
2
+
3
+ - `fs_list_dir`
4
+ - `fs_read_symlink`
5
+ - `fs_read_file`
6
+ - `fs_read_picture`
7
+ - `fs_ripgrep_files`
8
+ - `fs_ripgrep_snippets`
9
+ - `fs_ripgrep_count`
10
+ - `fs_ripgrep_fixed`
11
+ - `fs_ripgrep_search`
@@ -51,5 +51,5 @@ os is Dominds' **shell and process toolset** for executing system commands and m
51
51
  ⚠️ Shell command execution requires caution:
52
52
 
53
53
  - Avoid destructive commands (e.g., `rm -rf`)
54
- - Use absolute paths to avoid path injection
54
+ - Use explicit paths to avoid path injection; on Windows, prefer forward-slash paths
55
55
  - Verify command output before executing follow-up operations
@@ -71,7 +71,7 @@ Environment variables are system variables that affect process behavior.
71
71
  ### 1. Shell Command Security
72
72
 
73
73
  - **Validate input**: Use parameterized commands to avoid injection
74
- - **Use absolute paths**: Avoid relative path ambiguity
74
+ - **Use explicit paths**: Avoid relative path ambiguity; on Windows, prefer forward-slash paths
75
75
  - **Check permissions**: Ensure sufficient permissions to execute commands
76
76
 
77
77
  ### 2. Process Management
@@ -179,3 +179,24 @@ shell_cmd({
179
179
  command: 'free -m',
180
180
  });
181
181
  ```
182
+
183
+ ## Scenario 8: Windows Paths and PowerShell
184
+
185
+ ### Scenario Description
186
+
187
+ Check files or run PowerShell commands on Windows.
188
+
189
+ ### Example
190
+
191
+ ```typescript
192
+ // Default cmd.exe path: prefer forward slashes for no-space paths to avoid backslash and quote ambiguity
193
+ shell_cmd({
194
+ command: 'if exist D:/AiWorks/chatgpt-workstation/dist/app.exe echo exists',
195
+ });
196
+
197
+ // Complex PowerShell command: choose PowerShell explicitly; Dominds encodes the command automatically
198
+ shell_cmd({
199
+ command: 'Test-Path D:/AiWorks/chatgpt-workstation/dist/app.exe',
200
+ shell: 'powershell.exe',
201
+ });
202
+ ```
@@ -30,6 +30,12 @@ Execute Shell command.
30
30
  - `scrollbackLines` (optional): Number of recent output lines to retain in scrollback
31
31
  - `timeoutSeconds` (optional): Timeout in seconds before switching to daemon tracking
32
32
 
33
+ **Windows notes:**
34
+
35
+ - With the default `cmd.exe` path, prefer no-space forward-slash paths such as `D:/path/to/file`
36
+ - For complex PowerShell commands, pass `shell: 'powershell.exe'` or `shell: 'pwsh'`; the command is encoded automatically to avoid quote and backslash ambiguity
37
+ - Do not rely on nested `cmd /c "..."`
38
+
33
39
  **Returns:**
34
40
 
35
41
  ```yaml
@@ -51,5 +51,5 @@ os 是 Dominds 的**命令行与进程工具集**,用于执行系统命令和
51
51
  ⚠️ Shell 命令执行需要谨慎操作:
52
52
 
53
53
  - 避免执行破坏性命令(如 `rm -rf`)
54
- - 使用绝对路径避免路径注入
54
+ - 使用明确路径避免路径注入;Windows 下优先用正斜杠路径
55
55
  - 验证命令输出后再执行后续操作
@@ -71,7 +71,7 @@ Shell 命令执行允许智能体运行系统命令来完成各种任务。
71
71
  ### 1. Shell 命令安全
72
72
 
73
73
  - **验证输入**:使用参数化命令避免注入
74
- - **使用绝对路径**:避免相对路径歧义
74
+ - **使用明确路径**:避免相对路径歧义;Windows 下优先用正斜杠路径
75
75
  - **检查权限**:确保有足够权限执行命令
76
76
 
77
77
  ### 2. 进程管理
@@ -179,3 +179,24 @@ shell_cmd({
179
179
  command: 'free -m',
180
180
  });
181
181
  ```
182
+
183
+ ## 场景 8:Windows 路径与 PowerShell
184
+
185
+ ### 场景描述
186
+
187
+ 在 Windows 上检查文件或运行 PowerShell 命令。
188
+
189
+ ### 示例
190
+
191
+ ```typescript
192
+ // cmd.exe 默认路径:路径无空格时优先用正斜杠,避免反斜杠和引号歧义
193
+ shell_cmd({
194
+ command: 'if exist D:/AiWorks/chatgpt-workstation/dist/app.exe echo exists',
195
+ });
196
+
197
+ // 复杂 PowerShell 命令:显式选择 PowerShell,系统会自动编码传递命令
198
+ shell_cmd({
199
+ command: 'Test-Path D:/AiWorks/chatgpt-workstation/dist/app.exe',
200
+ shell: 'powershell.exe',
201
+ });
202
+ ```