dominds 1.18.2 → 1.19.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.
- package/dist/access-control.js +6 -6
- package/dist/apps/runtime.d.ts +2 -2
- package/dist/apps/runtime.js +28 -28
- package/dist/apps-host/client.d.ts +1 -1
- package/dist/apps-host/host.js +7 -7
- package/dist/apps-host/ipc-types.d.ts +2 -2
- package/dist/apps-host/ipc-types.js +10 -10
- package/dist/cli/read.d.ts +0 -1
- package/dist/cli/read.js +1 -6
- package/dist/dialog-display-state.d.ts +6 -6
- package/dist/dialog-display-state.js +46 -46
- package/dist/dialog-factory.d.ts +12 -12
- package/dist/dialog-factory.js +33 -30
- package/dist/dialog-fork.d.ts +2 -2
- package/dist/dialog-fork.js +140 -115
- package/dist/dialog-global-registry.d.ts +5 -5
- package/dist/dialog-global-registry.js +11 -11
- package/dist/dialog-instance-registry.d.ts +3 -3
- package/dist/dialog-instance-registry.js +52 -41
- package/dist/dialog.d.ts +100 -113
- package/dist/dialog.js +274 -229
- package/dist/docs/agent-priming.md +5 -5
- package/dist/docs/agent-priming.zh.md +5 -5
- package/dist/docs/app-constitution.md +1 -1
- package/dist/docs/app-constitution.zh.md +1 -1
- package/dist/docs/cli-usage.md +1 -1
- package/dist/docs/cli-usage.zh.md +1 -1
- package/dist/docs/design.md +14 -14
- package/dist/docs/design.zh.md +14 -14
- package/dist/docs/dialog-persistence.md +58 -58
- package/dist/docs/dialog-persistence.zh.md +61 -61
- package/dist/docs/dialog-system.md +363 -367
- package/dist/docs/dialog-system.zh.md +355 -357
- package/dist/docs/diligence-push.md +18 -18
- package/dist/docs/diligence-push.zh.md +17 -17
- package/dist/docs/dominds-agent-collaboration.zh.md +3 -3
- package/dist/docs/dominds-terminology.md +46 -47
- package/dist/docs/encapsulated-taskdoc.md +4 -4
- package/dist/docs/encapsulated-taskdoc.zh.md +3 -3
- package/dist/docs/fbr.md +30 -30
- package/dist/docs/fbr.zh.md +15 -15
- package/dist/docs/i18n.md +2 -2
- package/dist/docs/i18n.zh.md +2 -2
- package/dist/docs/mcp-support.md +5 -4
- package/dist/docs/mcp-support.zh.md +3 -2
- package/dist/docs/memory-system.md +4 -4
- package/dist/docs/memory-system.zh.md +1 -1
- package/dist/docs/mottos.md +1 -1
- package/dist/docs/mottos.zh.md +1 -1
- package/dist/docs/q4h.md +3 -3
- package/dist/docs/q4h.zh.md +1 -1
- package/dist/docs/roadmap.md +2 -2
- package/dist/docs/team_mgmt-toolset.md +11 -3
- package/dist/docs/team_mgmt-toolset.zh.md +9 -2
- package/dist/docs/tellask-collab.md +18 -18
- package/dist/docs/tellask-collab.zh.md +8 -8
- package/dist/docs/tellask-revive-context-refactor.zh.md +591 -0
- package/dist/evt-registry.d.ts +1 -2
- package/dist/evt-registry.js +2 -7
- package/dist/llm/gen/mock.js +9 -0
- package/dist/llm/kernel-driver/context.d.ts +1 -2
- package/dist/llm/kernel-driver/context.js +12 -26
- package/dist/llm/kernel-driver/drive.js +99 -75
- package/dist/llm/kernel-driver/engine.d.ts +2 -2
- package/dist/llm/kernel-driver/engine.js +10 -10
- package/dist/llm/kernel-driver/fbr.js +6 -6
- package/dist/llm/kernel-driver/flow.d.ts +1 -1
- package/dist/llm/kernel-driver/flow.js +129 -93
- package/dist/llm/kernel-driver/guardrails.js +4 -4
- package/dist/llm/kernel-driver/index.d.ts +1 -1
- package/dist/llm/kernel-driver/index.js +2 -2
- package/dist/llm/kernel-driver/loop.js +30 -30
- package/dist/llm/kernel-driver/reply-guidance.js +47 -52
- package/dist/llm/kernel-driver/restore.d.ts +3 -3
- package/dist/llm/kernel-driver/restore.js +23 -28
- package/dist/llm/kernel-driver/runtime.d.ts +1 -1
- package/dist/llm/kernel-driver/runtime.js +1 -1
- package/dist/llm/kernel-driver/sideDialog-txn.d.ts +8 -0
- package/dist/llm/kernel-driver/{subdialog-txn.js → sideDialog-txn.js} +13 -13
- package/dist/llm/kernel-driver/{subdialog.d.ts → sideDialog.d.ts} +13 -13
- package/dist/llm/kernel-driver/{subdialog.js → sideDialog.js} +203 -170
- package/dist/llm/kernel-driver/tellask-special.d.ts +7 -3
- package/dist/llm/kernel-driver/tellask-special.js +474 -497
- package/dist/llm/kernel-driver/types.d.ts +25 -9
- package/dist/mcp/config.d.ts +1 -0
- package/dist/mcp/config.js +7 -2
- package/dist/mcp/supervisor.d.ts +2 -0
- package/dist/mcp/supervisor.js +2 -1
- package/dist/minds/builtin/pangu/persona.en.md +4 -4
- package/dist/minds/load.js +6 -6
- package/dist/minds/system-prompt-parts.d.ts +1 -1
- package/dist/minds/system-prompt-parts.js +12 -12
- package/dist/minds/system-prompt.d.ts +1 -1
- package/dist/minds/system-prompt.js +56 -56
- package/dist/persistence-errors.d.ts +1 -1
- package/dist/persistence.d.ts +126 -121
- package/dist/persistence.js +1190 -786
- package/dist/priming.d.ts +3 -3
- package/dist/priming.js +62 -61
- package/dist/recovery/reply-special.js +5 -5
- package/dist/runtime/driver-messages.d.ts +3 -2
- package/dist/runtime/driver-messages.js +68 -57
- package/dist/runtime/inter-dialog-format.d.ts +12 -10
- package/dist/runtime/inter-dialog-format.js +80 -35
- package/dist/runtime/interjection-pause-stop.js +1 -1
- package/dist/runtime/reply-prompt-copy.d.ts +7 -3
- package/dist/runtime/reply-prompt-copy.js +39 -14
- package/dist/server/api-routes.js +87 -83
- package/dist/server/static-server.js +1 -1
- package/dist/server/websocket-handler.js +163 -153
- package/dist/tool-availability.js +1 -1
- package/dist/tools/app-reminders.js +17 -4
- package/dist/tools/ctrl.js +5 -5
- package/dist/tools/os.js +16 -16
- package/dist/tools/pending-tellask-reminder.js +20 -14
- package/dist/tools/prompts/control/en/index.md +1 -1
- package/dist/tools/prompts/control/en/principles.md +8 -8
- package/dist/tools/prompts/control/en/scenarios.md +7 -7
- package/dist/tools/prompts/control/en/tools.md +7 -7
- package/dist/tools/prompts/control/zh/principles.md +4 -4
- package/dist/tools/prompts/control/zh/scenarios.md +5 -5
- package/dist/tools/prompts/control/zh/tools.md +3 -3
- package/dist/tools/prompts/team_memory/en/scenarios.md +1 -1
- package/dist/tools/prompts/team_memory/zh/scenarios.md +1 -1
- package/dist/tools/team_mgmt-manual.js +2 -2
- package/dist/tools/team_mgmt-mcp-manual.js +10 -0
- package/dist/tools/team_mgmt.js +4 -4
- package/dist/utils/taskdoc.js +12 -12
- package/package.json +3 -3
- package/webapp/dist/assets/{_basePickBy-BPJaiZdW.js → _basePickBy-B7M9Q0Fa.js} +3 -3
- package/webapp/dist/assets/_basePickBy-B7M9Q0Fa.js.map +1 -0
- package/webapp/dist/assets/{_baseUniq-BEetT15i.js → _baseUniq-DAeYoL6j.js} +2 -2
- package/webapp/dist/assets/_baseUniq-DAeYoL6j.js.map +1 -0
- package/webapp/dist/assets/{arc-Dm7Zf36f.js → arc-Bh4nDbNR.js} +2 -2
- package/webapp/dist/assets/arc-Bh4nDbNR.js.map +1 -0
- package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-BpTPtkuo.js → architectureDiagram-2XIMDMQ5-CxqmdsIm.js} +26 -8
- package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js.map +1 -0
- package/webapp/dist/assets/{blockDiagram-VD42YOAC-C8fLN0iu.js → blockDiagram-WCTKOSBZ-CxIWLtpt.js} +187 -170
- package/webapp/dist/assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js.map +1 -0
- package/webapp/dist/assets/{c4Diagram-YG6GDRKO-BpPr62CH.js → c4Diagram-IC4MRINW-1qErOIgG.js} +4 -4
- package/webapp/dist/assets/c4Diagram-IC4MRINW-1qErOIgG.js.map +1 -0
- package/webapp/dist/assets/{channel-EMYoPjW3.js → channel-DkgZHNUe.js} +2 -2
- package/webapp/dist/assets/channel-DkgZHNUe.js.map +1 -0
- package/webapp/dist/assets/{chunk-4BX2VUAB-CefNtjWG.js → chunk-4BX2VUAB-BmdMbU9v.js} +2 -2
- package/webapp/dist/assets/chunk-4BX2VUAB-BmdMbU9v.js.map +1 -0
- package/webapp/dist/assets/{chunk-55IACEB6-C_X7T43V.js → chunk-55IACEB6-D6LDTDBy.js} +2 -2
- package/webapp/dist/assets/chunk-55IACEB6-D6LDTDBy.js.map +1 -0
- package/webapp/dist/assets/{chunk-FMBD7UC4-ORmtkrtS.js → chunk-FMBD7UC4-C-BdCe4C.js} +2 -2
- package/webapp/dist/assets/chunk-FMBD7UC4-C-BdCe4C.js.map +1 -0
- package/webapp/dist/assets/{chunk-TZMSLE5B-Gao4qrq7.js → chunk-JSJVCQXG-WA_BLIm9.js} +14 -6
- package/webapp/dist/assets/chunk-JSJVCQXG-WA_BLIm9.js.map +1 -0
- package/webapp/dist/assets/{chunk-QN33PNHL-LTAOVhWu.js → chunk-KX2RTZJC-CA7sDJO5.js} +2 -2
- package/webapp/dist/assets/chunk-KX2RTZJC-CA7sDJO5.js.map +1 -0
- package/webapp/dist/assets/{chunk-DI55MBZ5-CbvrsI_w.js → chunk-NQ4KR5QH-wlvxalE3.js} +9 -7
- package/webapp/dist/assets/chunk-NQ4KR5QH-wlvxalE3.js.map +1 -0
- package/webapp/dist/assets/{chunk-QZHKN3VN-ZoUM_4u5.js → chunk-QZHKN3VN-Bo1VMcph.js} +2 -2
- package/webapp/dist/assets/chunk-QZHKN3VN-Bo1VMcph.js.map +1 -0
- package/webapp/dist/assets/{chunk-B4BG7PRW-BRe3_2oA.js → chunk-WL4C6EOR-B-Pk44be.js} +171 -121
- package/webapp/dist/assets/chunk-WL4C6EOR-B-Pk44be.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-2ON5EDUG-uha1vIGN.js → classDiagram-VBA2DB6C-BqKuyb49.js} +7 -6
- package/webapp/dist/assets/classDiagram-VBA2DB6C-BqKuyb49.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-uha1vIGN.js → classDiagram-v2-RAHNMMFH-BqKuyb49.js} +7 -6
- package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js.map +1 -0
- package/webapp/dist/assets/{clone-_9Ayb1Gp.js → clone-BX5z8WVZ.js} +2 -2
- package/webapp/dist/assets/clone-BX5z8WVZ.js.map +1 -0
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-C8wDw3NY.js → cose-bilkent-S5V4N54A-B-s11SgN.js} +2 -2
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-B-s11SgN.js.map +1 -0
- package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
- package/webapp/dist/assets/{dagre-6UL2VRFP-BUSeNot0.js → dagre-KLK3FWXG-DmQFV2qK.js} +7 -7
- package/webapp/dist/assets/dagre-KLK3FWXG-DmQFV2qK.js.map +1 -0
- package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
- package/webapp/dist/assets/{diagram-PSM6KHXK-CMZAksVC.js → diagram-E7M64L7V-QRaBfST8.js} +10 -10
- package/webapp/dist/assets/diagram-E7M64L7V-QRaBfST8.js.map +1 -0
- package/webapp/dist/assets/{diagram-QEK2KX5R-BQKoRtwy.js → diagram-IFDJBPK2-lrWn1Obo.js} +9 -8
- package/webapp/dist/assets/diagram-IFDJBPK2-lrWn1Obo.js.map +1 -0
- package/webapp/dist/assets/{diagram-S2PKOQOG-DjMG97kd.js → diagram-P4PSJMXO-sTU7Hh-Y.js} +8 -8
- package/webapp/dist/assets/diagram-P4PSJMXO-sTU7Hh-Y.js.map +1 -0
- package/webapp/dist/assets/{erDiagram-Q2GNP2WA-BujwA137.js → erDiagram-INFDFZHY-Cx6jc9Wq.js} +96 -75
- package/webapp/dist/assets/erDiagram-INFDFZHY-Cx6jc9Wq.js.map +1 -0
- package/webapp/dist/assets/{flowDiagram-NV44I4VS-DgwPjg4y.js → flowDiagram-PKNHOUZH-DfGI49Dz.js} +98 -81
- package/webapp/dist/assets/flowDiagram-PKNHOUZH-DfGI49Dz.js.map +1 -0
- package/webapp/dist/assets/{ganttDiagram-JELNMOA3-Db2ykf3E.js → ganttDiagram-A5KZAMGK-nrcHWWaM.js} +28 -3
- package/webapp/dist/assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js.map +1 -0
- package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-D_gSifkv.js → gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js} +38 -46
- package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js.map +1 -0
- package/webapp/dist/assets/graph-R5G-y8tB.js +782 -0
- package/webapp/dist/assets/graph-R5G-y8tB.js.map +1 -0
- package/webapp/dist/assets/{index-DLajsIDJ.js → index--fy89xGh.js} +2214 -2023
- package/webapp/dist/assets/index--fy89xGh.js.map +1 -0
- package/webapp/dist/assets/{index-xvYYeHuy.css → index-DZFkLLVz.css} +18 -10
- package/webapp/dist/assets/{infoDiagram-HS3SLOUP-BDba5pKs.js → infoDiagram-LFFYTUFH-PIoZHr7s.js} +7 -7
- package/webapp/dist/assets/infoDiagram-LFFYTUFH-PIoZHr7s.js.map +1 -0
- package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js +966 -0
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js.map +1 -0
- package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-CmJAbmlm.js → journeyDiagram-4ABVD52K-C2qidjQ5.js} +5 -5
- package/webapp/dist/assets/journeyDiagram-4ABVD52K-C2qidjQ5.js.map +1 -0
- package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-DxQeBTDk.js → kanban-definition-K7BYSVSG-Du0TC8WS.js} +5 -3
- package/webapp/dist/assets/kanban-definition-K7BYSVSG-Du0TC8WS.js.map +1 -0
- package/webapp/dist/assets/{layout-DteV_yE8.js → layout-VmEo1OEB.js} +5 -5
- package/webapp/dist/assets/layout-VmEo1OEB.js.map +1 -0
- package/webapp/dist/assets/{linear-zItbPrND.js → linear-B662YHAc.js} +2 -2
- package/webapp/dist/assets/linear-B662YHAc.js.map +1 -0
- package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BJXI7UqO.js → mindmap-definition-YRQLILUH-D7arZj95.js} +7 -5
- package/webapp/dist/assets/mindmap-definition-YRQLILUH-D7arZj95.js.map +1 -0
- package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
- package/webapp/dist/assets/{pieDiagram-ADFJNKIX-BpM-aH2p.js → pieDiagram-SKSYHLDU-DvjPP4PA.js} +8 -8
- package/webapp/dist/assets/pieDiagram-SKSYHLDU-DvjPP4PA.js.map +1 -0
- package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-NXdIpA15.js → quadrantDiagram-337W2JSQ-B_JUGMj_.js} +3 -3
- package/webapp/dist/assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js.map +1 -0
- package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-D1AICAA0.js → requirementDiagram-Z7DCOOCP-DF0mpvE3.js} +16 -6
- package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js.map +1 -0
- package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-WiReDPfo.js → sankeyDiagram-WA2Y5GQK-CoXlxv00.js} +2 -2
- package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js.map +1 -0
- package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-Cw76oP8t.js → sequenceDiagram-2WXFIKYE-DYqT5Pg7.js} +601 -201
- package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-QjCeRczs.js → stateDiagram-RAJIS63D-D9b1mN8-.js} +9 -9
- package/webapp/dist/assets/stateDiagram-RAJIS63D-D9b1mN8-.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-IClqxQ4s.js → stateDiagram-v2-FVOUBMTO-DNzgudL_.js} +5 -5
- package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js.map +1 -0
- package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BfyfTY7m.js → timeline-definition-YZTLITO2-CkyKUY7A.js} +3 -3
- package/webapp/dist/assets/timeline-definition-YZTLITO2-CkyKUY7A.js.map +1 -0
- package/webapp/dist/assets/{treemap-GDKQZRPO-C5MiL6--.js → treemap-KZPCXAKY-CZd09kF-.js} +37 -24
- package/webapp/dist/assets/treemap-KZPCXAKY-CZd09kF-.js.map +1 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js +2487 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js.map +1 -0
- package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-ybaJrSry.js → xychartDiagram-JWTSCODW-BRwRloPc.js} +4 -4
- package/webapp/dist/assets/xychartDiagram-JWTSCODW-BRwRloPc.js.map +1 -0
- package/webapp/dist/index.html +2 -2
- package/dist/docs/issues/global-dialog-event-broadcaster-missing.md +0 -128
- package/dist/llm/kernel-driver/subdialog-txn.d.ts +0 -8
- package/webapp/dist/assets/_basePickBy-BPJaiZdW.js.map +0 -1
- package/webapp/dist/assets/_baseUniq-BEetT15i.js.map +0 -1
- package/webapp/dist/assets/arc-Dm7Zf36f.js.map +0 -1
- package/webapp/dist/assets/architectureDiagram-VXUJARFQ-BpTPtkuo.js.map +0 -1
- package/webapp/dist/assets/blockDiagram-VD42YOAC-C8fLN0iu.js.map +0 -1
- package/webapp/dist/assets/c4Diagram-YG6GDRKO-BpPr62CH.js.map +0 -1
- package/webapp/dist/assets/channel-EMYoPjW3.js.map +0 -1
- package/webapp/dist/assets/chunk-4BX2VUAB-CefNtjWG.js.map +0 -1
- package/webapp/dist/assets/chunk-55IACEB6-C_X7T43V.js.map +0 -1
- package/webapp/dist/assets/chunk-B4BG7PRW-BRe3_2oA.js.map +0 -1
- package/webapp/dist/assets/chunk-DI55MBZ5-CbvrsI_w.js.map +0 -1
- package/webapp/dist/assets/chunk-FMBD7UC4-ORmtkrtS.js.map +0 -1
- package/webapp/dist/assets/chunk-QN33PNHL-LTAOVhWu.js.map +0 -1
- package/webapp/dist/assets/chunk-QZHKN3VN-ZoUM_4u5.js.map +0 -1
- package/webapp/dist/assets/chunk-TZMSLE5B-Gao4qrq7.js.map +0 -1
- package/webapp/dist/assets/classDiagram-2ON5EDUG-uha1vIGN.js.map +0 -1
- package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-uha1vIGN.js.map +0 -1
- package/webapp/dist/assets/clone-_9Ayb1Gp.js.map +0 -1
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-C8wDw3NY.js.map +0 -1
- package/webapp/dist/assets/dagre-6UL2VRFP-BUSeNot0.js.map +0 -1
- package/webapp/dist/assets/diagram-PSM6KHXK-CMZAksVC.js.map +0 -1
- package/webapp/dist/assets/diagram-QEK2KX5R-BQKoRtwy.js.map +0 -1
- package/webapp/dist/assets/diagram-S2PKOQOG-DjMG97kd.js.map +0 -1
- package/webapp/dist/assets/erDiagram-Q2GNP2WA-BujwA137.js.map +0 -1
- package/webapp/dist/assets/flowDiagram-NV44I4VS-DgwPjg4y.js.map +0 -1
- package/webapp/dist/assets/ganttDiagram-JELNMOA3-Db2ykf3E.js.map +0 -1
- package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-D_gSifkv.js.map +0 -1
- package/webapp/dist/assets/graph-BHjCU5xP.js +0 -425
- package/webapp/dist/assets/graph-BHjCU5xP.js.map +0 -1
- package/webapp/dist/assets/index-DLajsIDJ.js.map +0 -1
- package/webapp/dist/assets/infoDiagram-HS3SLOUP-BDba5pKs.js.map +0 -1
- package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-CmJAbmlm.js.map +0 -1
- package/webapp/dist/assets/kanban-definition-3W4ZIXB7-DxQeBTDk.js.map +0 -1
- package/webapp/dist/assets/layout-DteV_yE8.js.map +0 -1
- package/webapp/dist/assets/linear-zItbPrND.js.map +0 -1
- package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BJXI7UqO.js.map +0 -1
- package/webapp/dist/assets/pieDiagram-ADFJNKIX-BpM-aH2p.js.map +0 -1
- package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-NXdIpA15.js.map +0 -1
- package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-D1AICAA0.js.map +0 -1
- package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-WiReDPfo.js.map +0 -1
- package/webapp/dist/assets/sequenceDiagram-WL72ISMW-Cw76oP8t.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-FKZM4ZOC-QjCeRczs.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3-IClqxQ4s.js.map +0 -1
- package/webapp/dist/assets/timeline-definition-IT6M3QCI-BfyfTY7m.js.map +0 -1
- package/webapp/dist/assets/treemap-GDKQZRPO-C5MiL6--.js.map +0 -1
- package/webapp/dist/assets/xychartDiagram-PRI3JC2R-ybaJrSry.js.map +0 -1
package/dist/docs/fbr.md
CHANGED
|
@@ -7,17 +7,17 @@ Chinese version: [中文版](./fbr.zh.md)
|
|
|
7
7
|
## 1. What it is
|
|
8
8
|
|
|
9
9
|
**Fresh Boots Reasoning (FBR)** is a Dominds mechanism for “reasoning again from a clean slate” on a bounded sub-problem,
|
|
10
|
-
then reporting back to the tellasker
|
|
10
|
+
then reporting back to the tellasker.
|
|
11
11
|
|
|
12
12
|
In Dominds, FBR is triggered by the dedicated function tool `freshBootsReasoning({ tellaskContent: "...", effort?: N })`.
|
|
13
|
-
The mechanism is the runtime-enforced contract applied to the spawned
|
|
13
|
+
The mechanism is the runtime-enforced contract applied to the spawned Side Dialog.
|
|
14
14
|
|
|
15
15
|
## 2. Design principles and tradeoffs
|
|
16
16
|
|
|
17
17
|
### 2.1 Predictability first: FBR is tool-less until final closure
|
|
18
18
|
|
|
19
19
|
FBR is meant to be “reasoning over text”, not “an agent run that explores the environment”. To keep it safe and
|
|
20
|
-
predictable, FBR
|
|
20
|
+
predictable, FBR Side Dialogs must be:
|
|
21
21
|
|
|
22
22
|
- **tool-less by construction during divergence/convergence** (technically enforced; not “please don’t use tools”), and
|
|
23
23
|
- **closure-only in the final stage** (exactly two conclusion functions, no other tools), and
|
|
@@ -30,7 +30,7 @@ silent ignore is worse than an error.
|
|
|
30
30
|
|
|
31
31
|
### 2.3 Serial multi-pass reasoning, not “multi-agent collaboration”
|
|
32
32
|
|
|
33
|
-
`fbr-effort` is an FBR intensity setting. Runtime interprets intensity `N` as `N` divergence rounds, then `N` convergence rounds, inside a **single FBR
|
|
33
|
+
`fbr-effort` is an FBR intensity setting. Runtime interprets intensity `N` as `N` divergence rounds, then `N` convergence rounds, inside a **single FBR Side Dialog conversation window**. The FBR Side Dialog itself must finish denoising and closure before reporting to tellasker.
|
|
34
34
|
|
|
35
35
|
## 3. User syntax
|
|
36
36
|
|
|
@@ -43,16 +43,16 @@ Use the dedicated FBR form:
|
|
|
43
43
|
Notes:
|
|
44
44
|
|
|
45
45
|
- FBR does not use `targetAgentId`, `sessionSlug`, or `mentionList`.
|
|
46
|
-
- `tellaskContent` is the authoritative task context for the FBR
|
|
46
|
+
- `tellaskContent` is the authoritative task context for the FBR Side Dialog.
|
|
47
47
|
- `effort` is optional and sets per-call FBR intensity; when omitted, runtime uses the current member’s `fbr-effort`.
|
|
48
|
-
- Intensity `N` maps to `N` serial FBR passes inside one
|
|
48
|
+
- Intensity `N` maps to `N` serial FBR passes inside one Side Dialog window.
|
|
49
49
|
|
|
50
50
|
### 3.2 Scope
|
|
51
51
|
|
|
52
52
|
This document specifies the FBR mechanism and its `freshBootsReasoning({ tellaskContent: "...", effort?: N })` contract. General teammate Tellasks (`tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })`) follow
|
|
53
53
|
the taxonomy and capability model in [`dialog-system.md`](./dialog-system.md).
|
|
54
54
|
|
|
55
|
-
If you want a “fresh”
|
|
55
|
+
If you want a “fresh” Side Dialog that still has tools, use an explicit teammate identity via the general teammate Tellask flow.
|
|
56
56
|
|
|
57
57
|
## 4. Runtime contract (normative)
|
|
58
58
|
|
|
@@ -60,19 +60,19 @@ This section uses MUST / MUST NOT / SHOULD / MAY for requirements.
|
|
|
60
60
|
|
|
61
61
|
### 4.1 Isolation and context
|
|
62
62
|
|
|
63
|
-
When driving an FBR
|
|
63
|
+
When driving an FBR Side Dialog created by `freshBootsReasoning({ tellaskContent: "..." })`, runtime MUST enforce:
|
|
64
64
|
|
|
65
|
-
- **No dependency on tellasker
|
|
66
|
-
- the tellaskee MUST NOT assume access to the tellasker dialog
|
|
65
|
+
- **No dependency on tellasker-side history**
|
|
66
|
+
- the tellaskee MUST NOT assume access to the tellasker-side dialog history
|
|
67
67
|
- the tellaskee MUST treat the tellask body as the primary, authoritative task context
|
|
68
68
|
- **Shared FBR iteration context**
|
|
69
69
|
- all rounds launched by a single `freshBootsReasoning` call share the same FBR window assumptions and no-tools policy
|
|
70
|
-
- rounds run in the same
|
|
70
|
+
- rounds run in the same Side Dialog context as one continuous thread and stay isolated from the tellasker-side dialog history
|
|
71
71
|
- **No tool-based context fetch**
|
|
72
72
|
- no reading files / running commands / browsing
|
|
73
73
|
- no accessing Memory or rtws (runtime workspace) state
|
|
74
74
|
|
|
75
|
-
Intuition: “fresh boots” means “fresh relative to the
|
|
75
|
+
Intuition: “fresh boots” means “fresh relative to the tellasker-side thread”, not “ignores baseline system rules”. Runtime may
|
|
76
76
|
still inject baseline policy/safety/formatting context, but the tellask body remains the authority.
|
|
77
77
|
|
|
78
78
|
### 4.2 Tool-less (prompt + technical enforcement)
|
|
@@ -86,8 +86,8 @@ Tool-less FBR has two layers, both required:
|
|
|
86
86
|
|
|
87
87
|
The FBR system prompt MUST communicate (wording may vary, meaning must hold):
|
|
88
88
|
|
|
89
|
-
- this is an FBR
|
|
90
|
-
- do not assume access to tellasker dialog history
|
|
89
|
+
- this is an FBR Side Dialog; the tellask body is the primary context
|
|
90
|
+
- do not assume access to tellasker-side dialog history
|
|
91
91
|
- if critical context is missing, list what is missing and why it blocks reasoning
|
|
92
92
|
- do not emit any tellasks (including `tellaskBack` or `askHuman`)
|
|
93
93
|
|
|
@@ -108,11 +108,11 @@ If a provider integration normally injects a tool prompt or schema, then for FBR
|
|
|
108
108
|
- omit it entirely, OR
|
|
109
109
|
- inject text that is identical to the appended “no tools” notice
|
|
110
110
|
|
|
111
|
-
Under no circumstances should the FBR
|
|
111
|
+
Under no circumstances should the FBR Side Dialog see any tool definitions.
|
|
112
112
|
|
|
113
113
|
#### 4.2.3 The LLM request MUST be “zero tools”
|
|
114
114
|
|
|
115
|
-
For divergence/convergence, the LLM request for an FBR
|
|
115
|
+
For divergence/convergence, the LLM request for an FBR Side Dialog (`freshBootsReasoning`) MUST have **zero tools available**:
|
|
116
116
|
|
|
117
117
|
- the request payload must not include tool/function definitions (effective tool list must be empty)
|
|
118
118
|
- provider tool-calling / function-calling modes must not be enabled
|
|
@@ -126,17 +126,17 @@ If the model attempts any other tool/function call, runtime MUST hard-reject it
|
|
|
126
126
|
|
|
127
127
|
### 4.3 Tellask restriction: none allowed
|
|
128
128
|
|
|
129
|
-
FBR
|
|
130
|
-
If critical context is missing, the FBR
|
|
129
|
+
FBR Side Dialogs MUST NOT issue any tellask call (including `tellaskBack({ tellaskContent: "..." })`, `tellask({ ... })`, `tellaskSessionless({ ... })`, or `askHuman({ tellaskContent: "..." })`).
|
|
130
|
+
If critical context is missing, the FBR Side Dialog should **list the missing items** and why they block reasoning, then return.
|
|
131
131
|
|
|
132
132
|
### 4.4 Output contract (easy to distill)
|
|
133
133
|
|
|
134
|
-
An FBR
|
|
134
|
+
An FBR Side Dialog should denoise internally and post only one tellasker-visible final artifact.
|
|
135
135
|
|
|
136
136
|
1. **Divergence**: stay open to wild or minority ideas without forcing early consensus.
|
|
137
137
|
2. **Convergence**: discard unsupported wild ideas as noise and keep only stable cross-round consensus.
|
|
138
138
|
3. **Final closure**: end by calling exactly one of the two conclusion functions above.
|
|
139
|
-
4. **
|
|
139
|
+
4. **Tellasker delivery**: the tellasker receives only the final low-noise conclusion, or the final “unreasonable situation” conclusion.
|
|
140
140
|
|
|
141
141
|
### 4.5 Violations and errors (loud + debuggable)
|
|
142
142
|
|
|
@@ -156,16 +156,16 @@ An FBR sideline dialog should denoise internally and post only one upstream-visi
|
|
|
156
156
|
|
|
157
157
|
When `fbr-effort = N`:
|
|
158
158
|
|
|
159
|
-
- runtime expands one `freshBootsReasoning({ tellaskContent: "..." })` into **N divergence rounds + N convergence rounds + up to N finalization retries** inside one
|
|
159
|
+
- runtime expands one `freshBootsReasoning({ tellaskContent: "..." })` into **N divergence rounds + N convergence rounds + up to N finalization retries** inside one Side Dialog
|
|
160
160
|
- divergence rounds must explore distinct angles and stay open to ideas that may later be discarded
|
|
161
161
|
- convergence rounds must denoise autonomously and preserve only stable consensus
|
|
162
162
|
- conclusion functions are exposed only after divergence and convergence are complete
|
|
163
163
|
- if the model still does not end via one of the required conclusion functions after `N` finalization retries, runtime must programmatically produce the `presentUnreasonableSituation` result
|
|
164
|
-
- tellasker
|
|
164
|
+
- tellasker receives only the final low-noise conclusion or the final unreasonable-situation conclusion
|
|
165
165
|
|
|
166
166
|
## 6. FBR-only model overrides: `fbr_model_params`
|
|
167
167
|
|
|
168
|
-
`fbr_model_params` overrides model params **only when driving FBR
|
|
168
|
+
`fbr_model_params` overrides model params **only when driving FBR Side Dialogs**:
|
|
169
169
|
|
|
170
170
|
- Schema: identical to `model_params` (documented by `model_param_options` in `dominds/main/llm/defaults.yaml`)
|
|
171
171
|
- Scope: `freshBootsReasoning({ tellaskContent: "..." })` only
|
|
@@ -192,15 +192,15 @@ freshBootsReasoning({ tellaskContent: "You are doing tool-less FBR. Use ONLY the
|
|
|
192
192
|
|
|
193
193
|
```yaml
|
|
194
194
|
member_defaults:
|
|
195
|
-
# Run 3 rounds inside one tool-less FBR
|
|
195
|
+
# Run 3 rounds inside one tool-less FBR Side Dialog per `freshBootsReasoning({ tellaskContent: "..." })`.
|
|
196
196
|
fbr-effort: 3
|
|
197
197
|
|
|
198
198
|
members:
|
|
199
199
|
ux:
|
|
200
|
-
# Run 5 rounds per `freshBootsReasoning({ tellaskContent: "..." })` in the same
|
|
200
|
+
# Run 5 rounds per `freshBootsReasoning({ tellaskContent: "..." })` in the same Side Dialog.
|
|
201
201
|
fbr-effort: 5
|
|
202
202
|
|
|
203
|
-
# Make FBR more exploratory without changing tellasker
|
|
203
|
+
# Make FBR more exploratory without changing tellasker behavior.
|
|
204
204
|
fbr_model_params:
|
|
205
205
|
codex:
|
|
206
206
|
temperature: 0.9
|
|
@@ -209,16 +209,16 @@ members:
|
|
|
209
209
|
max_tokens: 1200
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
## 8. Relationship to general
|
|
212
|
+
## 8. Relationship to general Side Dialogs
|
|
213
213
|
|
|
214
214
|
- `freshBootsReasoning({ tellaskContent: "..." })` is a special case: tool-less, body-first, tellask-restricted, optionally fanned out in sequence via `fbr-effort`.
|
|
215
|
-
- General `tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })`
|
|
216
|
-
- If you need “same persona + tools” in a
|
|
215
|
+
- General `tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })` Side Dialogs remain fully capable (tools/toolsets as configured).
|
|
216
|
+
- If you need “same persona + tools” in a Side Dialog, use an explicit teammate identity (`tellask` / `tellaskSessionless`).
|
|
217
217
|
|
|
218
218
|
## 9. Acceptance checklist
|
|
219
219
|
|
|
220
220
|
- `freshBootsReasoning({ tellaskContent: "..." })` triggers tool-less FBR; the LLM request is technically “zero tools”.
|
|
221
221
|
- The system prompt body contains no tool instructions; tool-related wording comes only from the separate fixed notice.
|
|
222
|
-
- FBR
|
|
222
|
+
- FBR Side Dialogs cannot issue teammate Tellasks (including `tellaskBack`).
|
|
223
223
|
- `fbr-effort` defaults to `3`, accepts `0..100`, rejects invalid values, and fails loudly when disabled.
|
|
224
224
|
- `fbr_model_params` applies only to FBR and follows the same schema/merge intent as `model_params`.
|
package/dist/docs/fbr.zh.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 1. 这是什么
|
|
8
8
|
|
|
9
|
-
**扪心自问(FBR, Fresh Boots Reasoning)** 是 Dominds
|
|
9
|
+
**扪心自问(FBR, Fresh Boots Reasoning)** 是 Dominds 的一种工作机制:在诉请者推进过程中,智能体可以把一个边界清晰的子问题“拆出去”,以 **更干净的上下文** 重新推理一次,然后把结论回贴到诉请者中。
|
|
10
10
|
|
|
11
11
|
在 Dominds 里,FBR 通过专用函数工具 `freshBootsReasoning({ tellaskContent: "...", effort?: N })` 触发;FBR 的核心是运行时对该支线对话施加的一组强制约束与串行语义。
|
|
12
12
|
|
|
@@ -18,7 +18,7 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
|
|
|
18
18
|
|
|
19
19
|
- **发散/收敛阶段技术上 0 工具**(不是“提示词里说别用工具”)
|
|
20
20
|
- **最终收口阶段只开放两个结论函数**
|
|
21
|
-
-
|
|
21
|
+
- **上下文以诉请正文为权威**(不是“默认继承诉请者一侧历史”)
|
|
22
22
|
|
|
23
23
|
这两点让 FBR 更像一个可控的“推理试算器”,而不是另一个会自行探索环境的智能体。
|
|
24
24
|
|
|
@@ -28,7 +28,7 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
|
|
|
28
28
|
|
|
29
29
|
### 2.3 串行多轮推理,而不是“多代理协作”
|
|
30
30
|
|
|
31
|
-
`fbr-effort` 是 FBR 的力度设置。运行时会把力度 `N`
|
|
31
|
+
`fbr-effort` 是 FBR 的力度设置。运行时会把力度 `N` 解释为在**单一支线对话窗口**内先执行 `N` 轮发散,再执行 `N` 轮收敛,并要求 FBR 支线对话自己完成去噪和正式收口后再回贴诉请者。
|
|
32
32
|
|
|
33
33
|
## 3. 用户语法
|
|
34
34
|
|
|
@@ -59,17 +59,17 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
|
|
|
59
59
|
|
|
60
60
|
当运行时驱动由 `freshBootsReasoning({ tellaskContent: "..." })` 创建的 FBR 支线对话时,必须强制满足:
|
|
61
61
|
|
|
62
|
-
-
|
|
63
|
-
-
|
|
62
|
+
- **不依赖诉请者一侧上下文**:
|
|
63
|
+
- 被诉请者不得假设能访问**诉请者一侧的对话历史**
|
|
64
64
|
- 被诉请者必须把诉请正文当作主要且权威的任务上下文
|
|
65
65
|
- **FBR 轮次共享窗口**:
|
|
66
66
|
- 同一次 `freshBootsReasoning` 启动的全部轮次共享同一套 FBR 约束上下文(无工具、无诉请上下文注入)
|
|
67
|
-
- 所有轮次在同一 FBR
|
|
67
|
+
- 所有轮次在同一 FBR 支线对话内连续推理,形成一段共享上下文历史,同时继续与主线对话历史隔离
|
|
68
68
|
- **不得通过工具补上下文**:
|
|
69
69
|
- 不得读文件/跑命令/浏览
|
|
70
70
|
- 不得读取 Memory 或 rtws(运行时工作区)状态
|
|
71
71
|
|
|
72
|
-
直觉上:FBR
|
|
72
|
+
直觉上:FBR 的“初心”不是“忘掉一切系统规则”,而是“相对诉请者不继承历史”。运行时仍可能无条件注入基础规则(安全、格式、少量只读摘要等),但 **推理依据必须以诉请正文为主**。
|
|
73
73
|
|
|
74
74
|
### 4.2 无工具(提示词 + 技术强制)
|
|
75
75
|
|
|
@@ -83,7 +83,7 @@ FBR 的阶段性约束必须同时满足两类要求:
|
|
|
83
83
|
FBR 支线对话的 system prompt 必须明确包含(措辞可不同,但语义必须到位):
|
|
84
84
|
|
|
85
85
|
- 这是一次 FBR 支线对话,诉请正文是主要任务上下文
|
|
86
|
-
-
|
|
86
|
+
- 不要假设能访问诉请者一侧的对话历史
|
|
87
87
|
- 若诉请正文缺少关键上下文,需要列出缺失信息与阻塞原因
|
|
88
88
|
- 不得发起任何诉请(包括 `tellaskBack` 或 `askHuman`)
|
|
89
89
|
|
|
@@ -127,12 +127,12 @@ FBR 支线对话不得发起任何 tellask 调用(包括 `tellaskBack({ tellas
|
|
|
127
127
|
|
|
128
128
|
### 4.4 输出契约(在 FBR 内部完成去噪)
|
|
129
129
|
|
|
130
|
-
FBR
|
|
130
|
+
FBR 支线对话应在内部完成去噪与收口,只向诉请者回贴一个最终结果。
|
|
131
131
|
|
|
132
132
|
1. **发散阶段**:对离谱、少数派、反直觉想法保持开放,不急于压成共识。
|
|
133
133
|
2. **收敛阶段**:自主去噪,只保留跨轮稳定共识与正文可支撑内容。
|
|
134
134
|
3. **最终收口**:必须以 `presentLowNoiseHighlyInformativeConclusion` 或 `presentUnreasonableSituation` 二选一结束。
|
|
135
|
-
4.
|
|
135
|
+
4. **诉请者交付**:诉请者只接收低噪高信息结论,或“当前现状无法被合理看待”的最终结论。
|
|
136
136
|
|
|
137
137
|
### 4.5 违规与报错(必须“响亮可调试”)
|
|
138
138
|
|
|
@@ -151,12 +151,12 @@ FBR 支线对话应在内部完成去噪与收口,只向上游回贴一个最
|
|
|
151
151
|
|
|
152
152
|
当 `fbr-effort = N`:
|
|
153
153
|
|
|
154
|
-
- 运行时必须把一条 `freshBootsReasoning({ tellaskContent: "..." })` 扩展为单一 FBR
|
|
154
|
+
- 运行时必须把一条 `freshBootsReasoning({ tellaskContent: "..." })` 扩展为单一 FBR 支线对话内的 **N 轮发散 + N 轮收敛 + 最多 N 次最终收口重试**
|
|
155
155
|
- 发散轮必须切换不同视角,允许大胆但可能最终被丢弃的候选想法
|
|
156
156
|
- 收敛轮必须自主去噪,只保留稳定共识
|
|
157
157
|
- 只有完成发散轮与收敛轮之后,运行时才开放两个结论函数
|
|
158
158
|
- 如果模型在最终收口阶段连续 `N` 次仍不调用规定函数,运行时必须程序化地产出 `presentUnreasonableSituation` 的结果
|
|
159
|
-
-
|
|
159
|
+
- 诉请者最终只接收低噪结论,或“不合理现状”结论
|
|
160
160
|
|
|
161
161
|
## 6. 模型参数覆盖:`fbr_model_params`
|
|
162
162
|
|
|
@@ -187,15 +187,15 @@ freshBootsReasoning({ tellaskContent: "你正在做无工具的 FBR。请只使
|
|
|
187
187
|
|
|
188
188
|
```yaml
|
|
189
189
|
member_defaults:
|
|
190
|
-
# 默认每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR
|
|
190
|
+
# 默认每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 支线对话内串行执行 3 轮。
|
|
191
191
|
fbr-effort: 3
|
|
192
192
|
|
|
193
193
|
members:
|
|
194
194
|
ux:
|
|
195
|
-
# 每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR
|
|
195
|
+
# 每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 支线对话内串行执行 5 轮。
|
|
196
196
|
fbr-effort: 5
|
|
197
197
|
|
|
198
|
-
# 让 FBR
|
|
198
|
+
# 让 FBR 更“发散”,但不影响诉请者风格。
|
|
199
199
|
fbr_model_params:
|
|
200
200
|
codex:
|
|
201
201
|
temperature: 0.9
|
package/dist/docs/i18n.md
CHANGED
|
@@ -6,7 +6,7 @@ Dominds has two independent language settings:
|
|
|
6
6
|
|
|
7
7
|
## 1) Work language (server-wide)
|
|
8
8
|
|
|
9
|
-
- **What it affects:** agent system prompts, internal guide messages, inter-dialog (teammate/
|
|
9
|
+
- **What it affects:** agent system prompts, internal guide messages, inter-dialog (teammate/sideDialog) narrative formatting.
|
|
10
10
|
- **How to set:** standard locale environment variables (`LANG`).
|
|
11
11
|
- **Default:** OS default language (best-effort); falls back to `en`.
|
|
12
12
|
- **Supported (v1):**
|
|
@@ -40,7 +40,7 @@ LANG=en_US.UTF-8 dominds webui
|
|
|
40
40
|
## 2) UI language (per WebUI client)
|
|
41
41
|
|
|
42
42
|
- **What it affects:** WebUI UI copy + the language the agent is asked to use when replying to the current user.
|
|
43
|
-
- **What it does NOT affect:** the agent’s internal working language, system prompts, or teammate/
|
|
43
|
+
- **What it does NOT affect:** the agent’s internal working language, system prompts, or teammate/sideDialog formatting language.
|
|
44
44
|
- **How to set:** WebUI dropdown in the top-right (stored in `localStorage` as `dominds-ui-language`).
|
|
45
45
|
- **Supported (v1):** `en`, `zh`.
|
|
46
46
|
|
package/dist/docs/i18n.zh.md
CHANGED
|
@@ -6,7 +6,7 @@ Dominds 有两个独立的语言设置:
|
|
|
6
6
|
|
|
7
7
|
## 1) 工作语言(服务器范围)
|
|
8
8
|
|
|
9
|
-
- **影响范围:**
|
|
9
|
+
- **影响范围:** 智能体系统提示、内部指导消息、对话间(队友/支线对话)叙事格式化。
|
|
10
10
|
- **设置方式:** 标准语言环境变量(`LANG`)。
|
|
11
11
|
- **默认值:** 操作系统的默认语言(尽最大努力);回退到 `en`。
|
|
12
12
|
- **支持的语言(v1):**
|
|
@@ -39,7 +39,7 @@ LANG=en_US.UTF-8 dominds webui
|
|
|
39
39
|
## 2) UI 语言(每个 WebUI 客户端)
|
|
40
40
|
|
|
41
41
|
- **影响范围:** WebUI 界面文案 + 智能体在回复当前用户时被要求的语言。
|
|
42
|
-
- **不影响范围:**
|
|
42
|
+
- **不影响范围:** 智能体的内部工作语言、系统提示或队友/支线对话格式化语言。
|
|
43
43
|
- **设置方式:** WebUI 右上角的下拉菜单(存储在 `localStorage` 中,键为 `dominds-ui-language`)。
|
|
44
44
|
- **支持的语言(v1):** `en`, `zh`。
|
|
45
45
|
|
package/dist/docs/mcp-support.md
CHANGED
|
@@ -90,7 +90,7 @@ implemented config surface.
|
|
|
90
90
|
- That runtime instance remains **leased to that dialog** for future function tool calls from the same
|
|
91
91
|
toolset.
|
|
92
92
|
- If another dialog uses the same MCP toolset concurrently, Dominds creates **another** MCP runtime
|
|
93
|
-
instance for that
|
|
93
|
+
instance for that tellasker (no cross-dialog sharing).
|
|
94
94
|
- On first lease, Dominds adds a **sticky owned reminder** to the dialog instructing the agent to
|
|
95
95
|
release the lease when it is confident the runtime instance won’t be needed again soon.
|
|
96
96
|
|
|
@@ -378,12 +378,13 @@ Semantics:
|
|
|
378
378
|
|
|
379
379
|
## HTTP Headers (`streamable_http`)
|
|
380
380
|
|
|
381
|
-
`streamable_http` servers can optionally define HTTP request headers. Values
|
|
382
|
-
|
|
381
|
+
`streamable_http` servers can optionally define HTTP request headers. Values can be literal strings,
|
|
382
|
+
copied from env with `{ env: ... }`, or built as `prefix + env` with `{ prefix, env }`:
|
|
383
383
|
|
|
384
384
|
```yaml
|
|
385
385
|
headers:
|
|
386
386
|
Authorization:
|
|
387
|
+
prefix: 'Bearer '
|
|
387
388
|
env: MCP_AUTH_TOKEN
|
|
388
389
|
X-Client-Name: 'dominds'
|
|
389
390
|
```
|
|
@@ -416,7 +417,7 @@ servers:
|
|
|
416
417
|
# 2) streamable_http
|
|
417
418
|
# transport: streamable_http
|
|
418
419
|
# url: http://127.0.0.1:3000/mcp
|
|
419
|
-
# headers: {} # optional (supports literal
|
|
420
|
+
# headers: {} # optional (supports literal, { env: NAME }, or { prefix, env } values)
|
|
420
421
|
# sessionId: '' # optional
|
|
421
422
|
|
|
422
423
|
# Tool exposure controls
|
|
@@ -304,11 +304,12 @@ env:
|
|
|
304
304
|
|
|
305
305
|
## HTTP 头(`streamable_http`)
|
|
306
306
|
|
|
307
|
-
`streamable_http` 服务器可以选择性地定义 HTTP
|
|
307
|
+
`streamable_http` 服务器可以选择性地定义 HTTP 请求标头。值可以是字面量字符串、`{ env: ... }` 环境变量复制,或用 `{ prefix, env }` 组装成 `prefix + env`:
|
|
308
308
|
|
|
309
309
|
```yaml
|
|
310
310
|
headers:
|
|
311
311
|
Authorization:
|
|
312
|
+
prefix: 'Bearer '
|
|
312
313
|
env: MCP_AUTH_TOKEN
|
|
313
314
|
X-Client-Name: 'dominds'
|
|
314
315
|
```
|
|
@@ -341,7 +342,7 @@ servers:
|
|
|
341
342
|
# 2) streamable_http
|
|
342
343
|
# transport: streamable_http
|
|
343
344
|
# url: http://127.0.0.1:3000/mcp
|
|
344
|
-
# headers: {} #
|
|
345
|
+
# headers: {} # 可选(支持字面量、{ env: NAME } 或 { prefix, env } 值)
|
|
345
346
|
# sessionId: '' # 可选
|
|
346
347
|
|
|
347
348
|
# 工具暴露控制
|
|
@@ -8,7 +8,7 @@ TL;DR:
|
|
|
8
8
|
|
|
9
9
|
- Make dialog history disposable (noise is cheap to drop).
|
|
10
10
|
- Make key artifacts survivable (you can `clear_mind` and still keep moving).
|
|
11
|
-
- Publicly declare and openly discuss progress in real time (and keep it auditable) to enforce timely coordination: that’s where the real leverage comes from when multiple agents and multiple
|
|
11
|
+
- Publicly declare and openly discuss progress in real time (and keep it auditable) to enforce timely coordination: that’s where the real leverage comes from when multiple agents and multiple Main Dialogs work in parallel (Taskdoc / team memory / env notes).
|
|
12
12
|
|
|
13
13
|
Key rule: **the Taskdoc is the task’s live coordination bulletin board**. Put key decisions/status/next steps in `progress`, hard rules in `constraints`, and don’t leave them only in chat or reminders.
|
|
14
14
|
|
|
@@ -38,7 +38,7 @@ The same information can be categorized by “who needs to see it / who maintain
|
|
|
38
38
|
- **Collective-scope (shared by team/task)**:
|
|
39
39
|
- rtws-level “env notes” (`.minds/env*.md`): the workspace’s baseline facts, runtime constraints, and gotchas
|
|
40
40
|
- team memory (`team_memory`)
|
|
41
|
-
- Taskdoc: in a healthy workflow, the same Taskdoc is expected to be progressed by multiple
|
|
41
|
+
- Taskdoc: in a healthy workflow, the same Taskdoc is expected to be progressed by multiple Main Dialogs (different Dialog Responders), so treat it as the collective single source of truth
|
|
42
42
|
|
|
43
43
|
### Permissions and division of labor
|
|
44
44
|
|
|
@@ -164,7 +164,7 @@ Some reminders are generated by the runtime (e.g. background process status, MCP
|
|
|
164
164
|
|
|
165
165
|
Reminders are your tiny working set: injected every turn, and preserved across `clear_mind`.
|
|
166
166
|
|
|
167
|
-
In message semantics,
|
|
167
|
+
In message semantics, default injected reminder wrappers should still be treated as **runtime system notices**: Dominds' built-in and fallback wrappers belong on the `role=user` side, carry a standard notice marker such as `[System notice]`, and address the LLM in second person (for example, “You set a reminder so the runtime system can remind you: ...”). Ideally they would use `role=environment`, but current LLM APIs generally do not support that role, so Dominds carries default runtime wrappers on `role=user`; custom reminder owners keep responsibility for the role they emit under their own contract. Insert the reminder projection before the real dialog messages and wrap it in a paired header/footer; the footer should say that only the reminder items between that header and footer are system reminders rather than user instructions, so it does not weaken real user instructions in the dialog history.
|
|
168
168
|
|
|
169
169
|
Guidelines:
|
|
170
170
|
|
|
@@ -215,7 +215,7 @@ The goal for agents’ day-to-day work is not “write more docs”. It’s a lo
|
|
|
215
215
|
### Where to write what (quick rules)
|
|
216
216
|
|
|
217
217
|
- **Taskdoc `progress`**: key decisions, current status, next steps (the shared bulletin board)
|
|
218
|
-
- **Taskdoc `constraints`**: hard rules/safety/compliance/style (must be visible to all
|
|
218
|
+
- **Taskdoc `constraints`**: hard rules/safety/compliance/style (must be visible to all Main Dialogs)
|
|
219
219
|
- **Team memory `team_memory`**: stable team conventions and invariants (worth reusing)
|
|
220
220
|
- **Env notes `.minds/env*.md`**: rtws baseline facts, runtime constraints, gotchas (align humans + all agents to the same environment)
|
|
221
221
|
- **Individual memory `personal_memory`**: personal preferences + responsibility-area rtws index (keep accurate)
|
|
@@ -163,7 +163,7 @@ TL;DR:
|
|
|
163
163
|
|
|
164
164
|
提醒项是你为自己维护的“超小工作集”:它会在每次生成时注入上下文,并能跨 `clear_mind` 保留。
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
在消息语义上,默认提醒项包装注入上下文时仍应视为**运行时系统提示**:Dominds 内置和 fallback 包装落在 `role=user` 侧,带 `【系统提示】` 头标,并使用第二人称口吻(例如“你设置了提醒项,让运行时系统提醒你:……”)。理想情况下它们应是 `role=environment`,但当前 LLM API 普遍不支持,所以默认运行时包装用 `role=user` 承载;自定义 reminder owner 仍按自身契约决定输出 role。提醒项投影应插入在真实对话消息之前,并使用成对 header/footer;footer 只说明该 header/footer 之间的提醒项是系统提醒、并非用户指令,避免误伤对话历史中的真实用户指令。
|
|
167
167
|
|
|
168
168
|
建议:
|
|
169
169
|
|
package/dist/docs/mottos.md
CHANGED
|
@@ -160,7 +160,7 @@ Taskdoc Structure:
|
|
|
160
160
|
|
|
161
161
|
**In dominds (recommended syntax)**
|
|
162
162
|
|
|
163
|
-
- Fresh Boots Reasoning (FBR) is **common**, and should usually be done via **transient self-
|
|
163
|
+
- Fresh Boots Reasoning (FBR) is **common**, and should usually be done via **transient self-sideDialogs**.
|
|
164
164
|
- Use `freshBootsReasoning({ tellaskContent: "..." })` for the default “fresh boots” session: isolate one sub-problem, answer, and return.
|
|
165
165
|
- Use `freshBootsReasoning({ tellaskContent: "..." })` whenever you need tool-less, clean-slate reasoning on a bounded sub-problem.
|
|
166
166
|
|
package/dist/docs/mottos.zh.md
CHANGED
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
|
|
161
161
|
**在 dominds 中(推荐语法)**
|
|
162
162
|
|
|
163
|
-
- 扪心自问(FBR
|
|
163
|
+
- 扪心自问(FBR)是**常见的**,通常应该通过**瞬态支线对话**完成。
|
|
164
164
|
- 使用 `freshBootsReasoning({ tellaskContent: "..." })` 进行默认的“初心”会话:隔离一个子问题,回答,然后返回。
|
|
165
165
|
- 需要对边界清晰的子问题做“无工具、清洁上下文”推理时,直接使用 `freshBootsReasoning({ tellaskContent: "..." })`。
|
|
166
166
|
|
package/dist/docs/q4h.md
CHANGED
|
@@ -32,7 +32,7 @@ This document specifies a WebUI enhancement:
|
|
|
32
32
|
|
|
33
33
|
## Definitions (user-facing terms)
|
|
34
34
|
|
|
35
|
-
- **
|
|
35
|
+
- **Main Dialog / Side Dialog**: user-facing terms for the primary thread and temporary work threads.
|
|
36
36
|
- **Call site**: the location in the conversation where a Tellask was issued (for Q4H: where `askHuman({ tellaskContent: "..." })` appears).
|
|
37
37
|
- **Answer mode**: the input is bound to a specific pending Q4H question so `Send` becomes “answer this question”.
|
|
38
38
|
|
|
@@ -82,8 +82,8 @@ Required:
|
|
|
82
82
|
|
|
83
83
|
Recommended (optional but improves resilience / reduces dependency on global Q4H state arrival timing):
|
|
84
84
|
|
|
85
|
-
- `rootId`:
|
|
86
|
-
- `selfId`: originating dialog id (root or
|
|
85
|
+
- `rootId`: main dialog id
|
|
86
|
+
- `selfId`: originating dialog id (root or Side Dialog)
|
|
87
87
|
- `course`: course number (1-based)
|
|
88
88
|
- `msg`: message index (best-effort fallback locator)
|
|
89
89
|
- `callId`: tellask callId when the Q4H was created from an `askHuman({ tellaskContent: "..." })` tellask block
|
package/dist/docs/q4h.zh.md
CHANGED
package/dist/docs/roadmap.md
CHANGED
|
@@ -8,7 +8,7 @@ This document outlines Dominds’ stage goals and major-version evolution to ali
|
|
|
8
8
|
|
|
9
9
|
Dominds’ long-term direction is to solidify “agent social division of labor” into a reusable, extensible, installable/uninstallable runtime system: **microkernel + Apps**.
|
|
10
10
|
|
|
11
|
-
Terminology (
|
|
11
|
+
Terminology (Main Dialog/Side Dialog, etc.): [`dominds-terminology.md`](./dominds-terminology.md)
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ Become a **microkernel for agent social division of labor and collaboration**:
|
|
|
26
26
|
|
|
27
27
|
Positioning: validate “stable and effective ways of working”, and make the core mechanisms work end-to-end, reliably, and debuggably.
|
|
28
28
|
|
|
29
|
-
- Establish reusable work patterns:
|
|
29
|
+
- Establish reusable work patterns: Main Dialog progress + parallel Side Dialogs + result backflow/aggregation (Tellask / FBR, etc.).
|
|
30
30
|
- Harden a minimal runtime loop: dialog persistence, tool invocation, streaming output + transcripts, basic observability and failure diagnosis.
|
|
31
31
|
- Iterate in small steps: allow internal structure to change rapidly while continuously distilling what is stable/effective into explicit constraints.
|
|
32
32
|
|
|
@@ -291,7 +291,7 @@ Core principles:
|
|
|
291
291
|
|
|
292
292
|
- Startup scripts are mapped into real dialog history; they are not read-only logs.
|
|
293
293
|
- Their runtime semantics are not “extra system prompt text”, but “restore reminders first, then replay records into dialog history where possible”.
|
|
294
|
-
- Therefore tone must follow the chosen record type: write `human_text_record` as what
|
|
294
|
+
- Therefore tone must follow the chosen record type: write `human_text_record` as what the user says to the agent; write `agent_words_record` as what the agent has already said; use `agent_thought_record` only sparingly for internal reasoning traces.
|
|
295
295
|
- Some technical record types such as `ui_only_markdown_record` are persisted but do not become model-facing chat messages, so they should not be your main steering layer.
|
|
296
296
|
- The outer file structure should be “top-level frontmatter + repeated `### record <type>` blocks”; do not wrap the file in decorative `# Startup Script` / `## History` headings.
|
|
297
297
|
- Team managers should treat them as editable startup playbooks.
|
|
@@ -469,7 +469,15 @@ env:
|
|
|
469
469
|
env: MY_LOCAL_MCP_TOKEN
|
|
470
470
|
```
|
|
471
471
|
|
|
472
|
-
For `streamable_http`, `headers` supports
|
|
472
|
+
For `streamable_http`, `headers` supports literal strings, env mappings, and prefixed env
|
|
473
|
+
mappings:
|
|
474
|
+
|
|
475
|
+
```yaml
|
|
476
|
+
headers:
|
|
477
|
+
Authorization:
|
|
478
|
+
prefix: 'Bearer '
|
|
479
|
+
env: MY_LOCAL_MCP_TOKEN
|
|
480
|
+
```
|
|
473
481
|
|
|
474
482
|
### Operational behavior (hot reload + last-known-good)
|
|
475
483
|
|
|
@@ -510,7 +518,7 @@ members:
|
|
|
510
518
|
Note: in the normal-member example above, do **not** add `no_read_dirs` / `no_write_dirs` merely to
|
|
511
519
|
restate that `.minds/**` is blocked. That boundary is already enforced by the runtime for general
|
|
512
520
|
file tools; explicit deny entries should be reserved for extra constraints beyond the built-ins.
|
|
513
|
-
# Example visible teammate (recommended): define at least one non-hidden
|
|
521
|
+
# Example visible teammate (recommended): define at least one non-hidden teammate for daily work.
|
|
514
522
|
dev:
|
|
515
523
|
name: Dev
|
|
516
524
|
icon: '🧑💻'
|
|
@@ -387,7 +387,7 @@ transform:
|
|
|
387
387
|
|
|
388
388
|
### Env 和 headers 接线
|
|
389
389
|
|
|
390
|
-
|
|
390
|
+
对于 secrets,优先从主机环境复制:
|
|
391
391
|
|
|
392
392
|
```yaml
|
|
393
393
|
env:
|
|
@@ -395,7 +395,14 @@ env:
|
|
|
395
395
|
env: MY_LOCAL_MCP_TOKEN
|
|
396
396
|
```
|
|
397
397
|
|
|
398
|
-
对于 `streamable_http`,`headers`
|
|
398
|
+
对于 `streamable_http`,`headers` 支持字面量字符串、env 映射,以及带前缀的 env 映射:
|
|
399
|
+
|
|
400
|
+
```yaml
|
|
401
|
+
headers:
|
|
402
|
+
Authorization:
|
|
403
|
+
prefix: 'Bearer '
|
|
404
|
+
env: MY_LOCAL_MCP_TOKEN
|
|
405
|
+
```
|
|
399
406
|
|
|
400
407
|
### 操作行为(热重载 + 最近已知良好状态)
|
|
401
408
|
|