dominds 1.18.2 → 1.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/cli/team-definition-audit.d.ts +2 -1
- package/dist/cli/team-definition-audit.js +20 -8
- package/dist/cli/validate-team-def.js +3 -3
- 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 +16 -4
- package/dist/docs/mcp-support.zh.md +10 -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 +16 -5
- package/dist/docs/team_mgmt-toolset.zh.md +13 -4
- 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/docs/tool-availability-protocol.md +4 -2
- 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 +2 -0
- package/dist/mcp/config.js +23 -2
- package/dist/mcp/supervisor.d.ts +9 -1
- package/dist/mcp/supervisor.js +300 -17
- package/dist/minds/builtin/pangu/persona.en.md +4 -4
- package/dist/minds/load.js +11 -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 +2 -1
- package/dist/minds/system-prompt.js +70 -62
- 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/builtins.js +2 -0
- package/dist/tools/ctrl.js +5 -5
- package/dist/tools/env.js +10 -58
- package/dist/tools/manual/render.js +4 -0
- package/dist/tools/mcp.d.ts +1 -0
- package/dist/tools/mcp.js +55 -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/mcp_admin/en/errors.md +0 -14
- package/dist/tools/prompts/mcp_admin/en/index.md +5 -3
- package/dist/tools/prompts/mcp_admin/en/principles.md +11 -5
- package/dist/tools/prompts/mcp_admin/en/scenarios.md +19 -3
- package/dist/tools/prompts/mcp_admin/en/tools.md +85 -21
- package/dist/tools/prompts/mcp_admin/zh/errors.md +0 -14
- package/dist/tools/prompts/mcp_admin/zh/index.md +5 -3
- package/dist/tools/prompts/mcp_admin/zh/principles.md +11 -5
- package/dist/tools/prompts/mcp_admin/zh/scenarios.md +19 -3
- package/dist/tools/prompts/mcp_admin/zh/tools.md +85 -21
- package/dist/tools/prompts/os/en/errors.md +0 -28
- package/dist/tools/prompts/os/en/scenarios.md +1 -1
- package/dist/tools/prompts/os/en/tools.md +8 -17
- package/dist/tools/prompts/os/zh/errors.md +0 -28
- package/dist/tools/prompts/os/zh/scenarios.md +1 -1
- package/dist/tools/prompts/os/zh/tools.md +8 -17
- 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/registry.d.ts +5 -0
- package/dist/tools/team_mgmt-manual.js +2 -2
- package/dist/tools/team_mgmt-mcp-manual.d.ts +2 -2
- package/dist/tools/team_mgmt-mcp-manual.js +67 -16
- package/dist/tools/team_mgmt.js +8 -8
- package/dist/utils/taskdoc.js +12 -12
- package/package.json +3 -3
- package/webapp/dist/assets/{_basePickBy-BPJaiZdW.js → _basePickBy-Dnh413xT.js} +3 -3
- package/webapp/dist/assets/{_basePickBy-BPJaiZdW.js.map → _basePickBy-Dnh413xT.js.map} +1 -1
- package/webapp/dist/assets/{_baseUniq-BEetT15i.js → _baseUniq-DWzYqpN_.js} +2 -2
- package/webapp/dist/assets/{_baseUniq-BEetT15i.js.map → _baseUniq-DWzYqpN_.js.map} +1 -1
- package/webapp/dist/assets/{arc-Dm7Zf36f.js → arc-vfBkNCOx.js} +2 -2
- package/webapp/dist/assets/{arc-Dm7Zf36f.js.map → arc-vfBkNCOx.js.map} +1 -1
- package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-BpTPtkuo.js → architectureDiagram-VXUJARFQ-DiUEBXOa.js} +7 -7
- package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-BpTPtkuo.js.map → architectureDiagram-VXUJARFQ-DiUEBXOa.js.map} +1 -1
- package/webapp/dist/assets/{blockDiagram-VD42YOAC-C8fLN0iu.js → blockDiagram-VD42YOAC-BqK1KM2m.js} +7 -7
- package/webapp/dist/assets/{blockDiagram-VD42YOAC-C8fLN0iu.js.map → blockDiagram-VD42YOAC-BqK1KM2m.js.map} +1 -1
- package/webapp/dist/assets/{c4Diagram-YG6GDRKO-BpPr62CH.js → c4Diagram-YG6GDRKO-ClHNu1Uo.js} +3 -3
- package/webapp/dist/assets/{c4Diagram-YG6GDRKO-BpPr62CH.js.map → c4Diagram-YG6GDRKO-ClHNu1Uo.js.map} +1 -1
- package/webapp/dist/assets/{channel-EMYoPjW3.js → channel-BbWLVc8W.js} +2 -2
- package/webapp/dist/assets/{channel-EMYoPjW3.js.map → channel-BbWLVc8W.js.map} +1 -1
- package/webapp/dist/assets/{chunk-4BX2VUAB-CefNtjWG.js → chunk-4BX2VUAB-CItdSmZH.js} +2 -2
- package/webapp/dist/assets/{chunk-4BX2VUAB-CefNtjWG.js.map → chunk-4BX2VUAB-CItdSmZH.js.map} +1 -1
- package/webapp/dist/assets/{chunk-55IACEB6-C_X7T43V.js → chunk-55IACEB6-DSCX9WCf.js} +2 -2
- package/webapp/dist/assets/{chunk-55IACEB6-C_X7T43V.js.map → chunk-55IACEB6-DSCX9WCf.js.map} +1 -1
- package/webapp/dist/assets/{chunk-B4BG7PRW-BRe3_2oA.js → chunk-B4BG7PRW-5CRXFeD9.js} +5 -5
- package/webapp/dist/assets/{chunk-B4BG7PRW-BRe3_2oA.js.map → chunk-B4BG7PRW-5CRXFeD9.js.map} +1 -1
- package/webapp/dist/assets/{chunk-DI55MBZ5-CbvrsI_w.js → chunk-DI55MBZ5-CRMf6XZu.js} +4 -4
- package/webapp/dist/assets/{chunk-DI55MBZ5-CbvrsI_w.js.map → chunk-DI55MBZ5-CRMf6XZu.js.map} +1 -1
- package/webapp/dist/assets/{chunk-FMBD7UC4-ORmtkrtS.js → chunk-FMBD7UC4-BJ1vT2se.js} +2 -2
- package/webapp/dist/assets/{chunk-FMBD7UC4-ORmtkrtS.js.map → chunk-FMBD7UC4-BJ1vT2se.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QN33PNHL-LTAOVhWu.js → chunk-QN33PNHL-CGyezTSD.js} +2 -2
- package/webapp/dist/assets/{chunk-QN33PNHL-LTAOVhWu.js.map → chunk-QN33PNHL-CGyezTSD.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QZHKN3VN-ZoUM_4u5.js → chunk-QZHKN3VN-9xs15j8C.js} +2 -2
- package/webapp/dist/assets/{chunk-QZHKN3VN-ZoUM_4u5.js.map → chunk-QZHKN3VN-9xs15j8C.js.map} +1 -1
- package/webapp/dist/assets/{chunk-TZMSLE5B-Gao4qrq7.js → chunk-TZMSLE5B-D2g6Tj7Z.js} +2 -2
- package/webapp/dist/assets/{chunk-TZMSLE5B-Gao4qrq7.js.map → chunk-TZMSLE5B-D2g6Tj7Z.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-2ON5EDUG-uha1vIGN.js → classDiagram-2ON5EDUG-BQFGGJNm.js} +6 -6
- package/webapp/dist/assets/{classDiagram-2ON5EDUG-uha1vIGN.js.map → classDiagram-2ON5EDUG-BQFGGJNm.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-uha1vIGN.js → classDiagram-v2-WZHVMYZB-BQFGGJNm.js} +6 -6
- package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-uha1vIGN.js.map → classDiagram-v2-WZHVMYZB-BQFGGJNm.js.map} +1 -1
- package/webapp/dist/assets/{clone-_9Ayb1Gp.js → clone-DOfPd4cz.js} +2 -2
- package/webapp/dist/assets/{clone-_9Ayb1Gp.js.map → clone-DOfPd4cz.js.map} +1 -1
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-C8wDw3NY.js → cose-bilkent-S5V4N54A-BYN-vqm8.js} +2 -2
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-C8wDw3NY.js.map → cose-bilkent-S5V4N54A-BYN-vqm8.js.map} +1 -1
- package/webapp/dist/assets/{dagre-6UL2VRFP-BUSeNot0.js → dagre-6UL2VRFP-ClEaFABE.js} +7 -7
- package/webapp/dist/assets/{dagre-6UL2VRFP-BUSeNot0.js.map → dagre-6UL2VRFP-ClEaFABE.js.map} +1 -1
- package/webapp/dist/assets/{diagram-PSM6KHXK-CMZAksVC.js → diagram-PSM6KHXK-CM4hLE_0.js} +8 -8
- package/webapp/dist/assets/{diagram-PSM6KHXK-CMZAksVC.js.map → diagram-PSM6KHXK-CM4hLE_0.js.map} +1 -1
- package/webapp/dist/assets/{diagram-QEK2KX5R-BQKoRtwy.js → diagram-QEK2KX5R-BZjGFX-2.js} +7 -7
- package/webapp/dist/assets/{diagram-QEK2KX5R-BQKoRtwy.js.map → diagram-QEK2KX5R-BZjGFX-2.js.map} +1 -1
- package/webapp/dist/assets/{diagram-S2PKOQOG-DjMG97kd.js → diagram-S2PKOQOG-Bvw01OOG.js} +7 -7
- package/webapp/dist/assets/{diagram-S2PKOQOG-DjMG97kd.js.map → diagram-S2PKOQOG-Bvw01OOG.js.map} +1 -1
- package/webapp/dist/assets/{erDiagram-Q2GNP2WA-BujwA137.js → erDiagram-Q2GNP2WA-ctHu5zQL.js} +5 -5
- package/webapp/dist/assets/{erDiagram-Q2GNP2WA-BujwA137.js.map → erDiagram-Q2GNP2WA-ctHu5zQL.js.map} +1 -1
- package/webapp/dist/assets/{flowDiagram-NV44I4VS-DgwPjg4y.js → flowDiagram-NV44I4VS-m7ofIhri.js} +6 -6
- package/webapp/dist/assets/{flowDiagram-NV44I4VS-DgwPjg4y.js.map → flowDiagram-NV44I4VS-m7ofIhri.js.map} +1 -1
- package/webapp/dist/assets/{ganttDiagram-JELNMOA3-Db2ykf3E.js → ganttDiagram-JELNMOA3-D9wS5Veb.js} +3 -3
- package/webapp/dist/assets/{ganttDiagram-JELNMOA3-Db2ykf3E.js.map → ganttDiagram-JELNMOA3-D9wS5Veb.js.map} +1 -1
- package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-D_gSifkv.js → gitGraphDiagram-V2S2FVAM-B86qqJx7.js} +8 -8
- package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-D_gSifkv.js.map → gitGraphDiagram-V2S2FVAM-B86qqJx7.js.map} +1 -1
- package/webapp/dist/assets/{graph-BHjCU5xP.js → graph-u844GGQC.js} +3 -3
- package/webapp/dist/assets/{graph-BHjCU5xP.js.map → graph-u844GGQC.js.map} +1 -1
- package/webapp/dist/assets/{index-xvYYeHuy.css → index-BGdI3lWA.css} +17 -9
- package/webapp/dist/assets/{index-DLajsIDJ.js → index-tinPEZoH.js} +1211 -995
- package/webapp/dist/assets/index-tinPEZoH.js.map +1 -0
- package/webapp/dist/assets/{infoDiagram-HS3SLOUP-BDba5pKs.js → infoDiagram-HS3SLOUP-DwRPUctP.js} +6 -6
- package/webapp/dist/assets/{infoDiagram-HS3SLOUP-BDba5pKs.js.map → infoDiagram-HS3SLOUP-DwRPUctP.js.map} +1 -1
- package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-CmJAbmlm.js → journeyDiagram-XKPGCS4Q-B91ZO-ec.js} +5 -5
- package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-CmJAbmlm.js.map → journeyDiagram-XKPGCS4Q-B91ZO-ec.js.map} +1 -1
- package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-DxQeBTDk.js → kanban-definition-3W4ZIXB7-CoogrZ07.js} +3 -3
- package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-DxQeBTDk.js.map → kanban-definition-3W4ZIXB7-CoogrZ07.js.map} +1 -1
- package/webapp/dist/assets/{layout-DteV_yE8.js → layout-BrzQmqFJ.js} +5 -5
- package/webapp/dist/assets/{layout-DteV_yE8.js.map → layout-BrzQmqFJ.js.map} +1 -1
- package/webapp/dist/assets/{linear-zItbPrND.js → linear-C6H7K9Zy.js} +2 -2
- package/webapp/dist/assets/{linear-zItbPrND.js.map → linear-C6H7K9Zy.js.map} +1 -1
- package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BJXI7UqO.js → mindmap-definition-VGOIOE7T-UDHZQkNZ.js} +4 -4
- package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BJXI7UqO.js.map → mindmap-definition-VGOIOE7T-UDHZQkNZ.js.map} +1 -1
- package/webapp/dist/assets/{pieDiagram-ADFJNKIX-BpM-aH2p.js → pieDiagram-ADFJNKIX-M81uyQ1J.js} +8 -8
- package/webapp/dist/assets/{pieDiagram-ADFJNKIX-BpM-aH2p.js.map → pieDiagram-ADFJNKIX-M81uyQ1J.js.map} +1 -1
- package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-NXdIpA15.js → quadrantDiagram-AYHSOK5B-ClzIh9Gb.js} +3 -3
- package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-NXdIpA15.js.map → quadrantDiagram-AYHSOK5B-ClzIh9Gb.js.map} +1 -1
- package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-D1AICAA0.js → requirementDiagram-UZGBJVZJ-DLK3A-pn.js} +4 -4
- package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-D1AICAA0.js.map → requirementDiagram-UZGBJVZJ-DLK3A-pn.js.map} +1 -1
- package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-WiReDPfo.js → sankeyDiagram-TZEHDZUN-CYqju8I1.js} +2 -2
- package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-WiReDPfo.js.map → sankeyDiagram-TZEHDZUN-CYqju8I1.js.map} +1 -1
- package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-Cw76oP8t.js → sequenceDiagram-WL72ISMW-2guv6eOd.js} +4 -4
- package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-Cw76oP8t.js.map → sequenceDiagram-WL72ISMW-2guv6eOd.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-QjCeRczs.js → stateDiagram-FKZM4ZOC-iujqSp0X.js} +9 -9
- package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-QjCeRczs.js.map → stateDiagram-FKZM4ZOC-iujqSp0X.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-IClqxQ4s.js → stateDiagram-v2-4FDKWEC3-BxzY81ky.js} +5 -5
- package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-IClqxQ4s.js.map → stateDiagram-v2-4FDKWEC3-BxzY81ky.js.map} +1 -1
- package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BfyfTY7m.js → timeline-definition-IT6M3QCI-DjCFSC8d.js} +3 -3
- package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BfyfTY7m.js.map → timeline-definition-IT6M3QCI-DjCFSC8d.js.map} +1 -1
- package/webapp/dist/assets/{treemap-GDKQZRPO-C5MiL6--.js → treemap-GDKQZRPO-iaBzDWCP.js} +5 -5
- package/webapp/dist/assets/{treemap-GDKQZRPO-C5MiL6--.js.map → treemap-GDKQZRPO-iaBzDWCP.js.map} +1 -1
- package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-ybaJrSry.js → xychartDiagram-PRI3JC2R-R6Jl1c89.js} +3 -3
- package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-ybaJrSry.js.map → xychartDiagram-PRI3JC2R-R6Jl1c89.js.map} +1 -1
- 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/index-DLajsIDJ.js.map +0 -1
|
@@ -51,11 +51,11 @@ delete_reminder({
|
|
|
51
51
|
- If the information should synchronize the whole team's current effective state, put it in Taskdoc `progress` instead
|
|
52
52
|
- If the note is durable knowledge rather than an active working-set cue, move it to `personal_memory` instead
|
|
53
53
|
|
|
54
|
-
## Scenario 2:
|
|
54
|
+
## Scenario 2: Side Dialog is complete, and the assignment header requires replyTellask
|
|
55
55
|
|
|
56
56
|
### Scenario Description
|
|
57
57
|
|
|
58
|
-
The current
|
|
58
|
+
The current Side Dialog is finished, and the assignment header explicitly says "when complete, call `replyTellask`".
|
|
59
59
|
|
|
60
60
|
### Example
|
|
61
61
|
|
|
@@ -72,11 +72,11 @@ replyTellask({
|
|
|
72
72
|
- Put the final deliverable body directly in `replyContent`
|
|
73
73
|
- If the header says `replyTellaskSessionless`, use the same shape with that exact function name
|
|
74
74
|
|
|
75
|
-
## Scenario 3: Work is not finished yet, and
|
|
75
|
+
## Scenario 3: Work is not finished yet, and tellasker clarification is required
|
|
76
76
|
|
|
77
77
|
### Scenario Description
|
|
78
78
|
|
|
79
|
-
The
|
|
79
|
+
The Side Dialog is still blocked or incomplete, so you need to ask the tellasker for missing information.
|
|
80
80
|
|
|
81
81
|
### Example
|
|
82
82
|
|
|
@@ -89,15 +89,15 @@ tellaskBack({
|
|
|
89
89
|
|
|
90
90
|
### Key Points
|
|
91
91
|
|
|
92
|
-
- This example uses `tellaskBack` because
|
|
92
|
+
- This example uses `tellaskBack` because tellasker input is specifically required
|
|
93
93
|
- If team SOP / role ownership already identifies the responsible executor, directly use `tellask` / `tellaskSessionless` for that owner instead of mapping every unfinished state to `tellaskBack`
|
|
94
94
|
- Do not use `replyTellask*` for intermediate clarifications
|
|
95
95
|
|
|
96
|
-
## Scenario 4:
|
|
96
|
+
## Scenario 4: Tellasker answered the ask-back, so use replyTellaskBack to close
|
|
97
97
|
|
|
98
98
|
### Scenario Description
|
|
99
99
|
|
|
100
|
-
You previously sent a `tellaskBack`,
|
|
100
|
+
You previously sent a `tellaskBack`, the tellasker has now replied, and runtime exposes `replyTellaskBack`.
|
|
101
101
|
|
|
102
102
|
### Example
|
|
103
103
|
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
|
|
24
24
|
The **tool descriptions themselves** for these functions intentionally stay minimal and spec-like. This section carries the smallest practical lookup for when they appear and how to choose among them.
|
|
25
25
|
|
|
26
|
-
| Function | Minimal parameter contract | When runtime exposes it
|
|
27
|
-
| ------------------------- | ---------------------------- |
|
|
28
|
-
| `replyTellask` | `{ replyContent: string }` | Current
|
|
29
|
-
| `replyTellaskSessionless` | `{ replyContent: string }` | Current
|
|
30
|
-
| `replyTellaskBack` | `{ replyContent: string }` | Current dialog holds an unresolved `tellaskBack` reply directive
|
|
31
|
-
| `tellaskBack` | `{ tellaskContent: string }` | Current
|
|
26
|
+
| Function | Minimal parameter contract | When runtime exposes it | Effect |
|
|
27
|
+
| ------------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
28
|
+
| `replyTellask` | `{ replyContent: string }` | Current Side Dialog comes from a sessioned `tellask` and is ready for final delivery | Delivers the final result for the current tellask session |
|
|
29
|
+
| `replyTellaskSessionless` | `{ replyContent: string }` | Current Side Dialog comes from a one-shot `tellaskSessionless` and is ready for final delivery | Delivers the final result for the current one-shot tellask |
|
|
30
|
+
| `replyTellaskBack` | `{ replyContent: string }` | Current dialog holds an unresolved `tellaskBack` reply directive | Delivers the final answer to the tellasker ask-back |
|
|
31
|
+
| `tellaskBack` | `{ tellaskContent: string }` | Current Side Dialog must ask the tellasker back, and existing team SOP cannot directly assign another owner | Sends a follow-up request to the tellasker; not final delivery |
|
|
32
32
|
|
|
33
33
|
### Minimal Usage Rules
|
|
34
34
|
|
|
35
|
-
- Focus on doing the current task correctly first; only move into `reply*` closure when final
|
|
35
|
+
- Focus on doing the current task correctly first; only move into `reply*` closure when final tellasker delivery is actually ready
|
|
36
36
|
- Call whichever `reply*` runtime currently exposes; do not switch to another reply variant by yourself
|
|
37
37
|
- If the assignment header explicitly names a reply function, follow that exact name
|
|
38
38
|
- Put only the final deliverable body in `replyContent`; do not wrap it in meta-explanations like "I am now calling replyTellask"
|
|
@@ -93,20 +93,20 @@
|
|
|
93
93
|
### 决策规则
|
|
94
94
|
|
|
95
95
|
- 当前支线未完成时,先判断团队规程 / SOP / 职责卡能否明确负责人;若能明确且属于执行性处理,直接 `tellask` / `tellaskSessionless` 对应负责人
|
|
96
|
-
-
|
|
96
|
+
- 只有当必须向诉请者补需求、澄清目标、裁决取舍、确认验收口径、提供缺失输入,或现有规程无法明确判责时:调用 `tellaskBack({ tellaskContent })`
|
|
97
97
|
- 需要人类亲自登录 / GUI / 验证码 / 高风险授权时:调用 `askHuman({ tellaskContent })`
|
|
98
98
|
- 当前支线已经完成,且当前 assignment 明确要求 `replyTellask`:调用 `replyTellask({ replyContent })`
|
|
99
99
|
- 当前支线已经完成,且当前 assignment 明确要求 `replyTellaskSessionless`:调用 `replyTellaskSessionless({ replyContent })`
|
|
100
|
-
-
|
|
100
|
+
- 当前是在回复一条诉请者发来的 `tellaskBack` 续诉请,且 runtime 暴露了 `replyTellaskBack`:调用 `replyTellaskBack({ replyContent })`
|
|
101
101
|
- 普通文本不是跨对话完成交付通道;如果你直接输出正文而没调 reply 工具,runtime 可能临时插入一条 `role=user` 的提醒要求你改用正确的 reply 函数
|
|
102
102
|
|
|
103
103
|
### 心智负担最小化规则
|
|
104
104
|
|
|
105
|
-
- 先专注把当前任务做对;`reply*`
|
|
105
|
+
- 先专注把当前任务做对;`reply*` 只在最终对诉请者交付时用于收口
|
|
106
106
|
- 不要靠记忆硬选 reply 变体;以当前 assignment 头部和 runtime 当前暴露的函数名为准
|
|
107
107
|
- `reply*` 函数自身说明文案故意保持极简,只承载最小规格;情景判断看本手册的 principles / scenarios
|
|
108
108
|
- 若 runtime 只暴露一个 `reply*`,那就是当前应调用的唯一完成路径
|
|
109
|
-
- `tellaskBack`
|
|
109
|
+
- `tellaskBack` 只在“无法按现有规程明确判责,或必须回问诉请者”时成立,不是所有阻塞的默认第一动作
|
|
110
110
|
|
|
111
111
|
## 最佳实践
|
|
112
112
|
|
|
@@ -71,11 +71,11 @@ replyTellask({
|
|
|
71
71
|
- `replyContent` 直接放最终交付正文
|
|
72
72
|
- 若 assignment 头部写的是 `replyTellaskSessionless`,则同结构替换函数名
|
|
73
73
|
|
|
74
|
-
## 场景 3
|
|
74
|
+
## 场景 3:当前未完成,需要回问诉请者
|
|
75
75
|
|
|
76
76
|
### 场景描述
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
当前支线仍未完成,因此需要向诉请者补问缺失信息。
|
|
79
79
|
|
|
80
80
|
### 示例
|
|
81
81
|
|
|
@@ -84,12 +84,12 @@ tellaskBack({
|
|
|
84
84
|
tellaskContent: '还缺少生产环境端口与部署入口信息。请补充这两项后我再继续给出最终方案。',
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
//
|
|
87
|
+
// 等诉请者补充后,runtime 会在当前对话里继续推进
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
### 关键点
|
|
91
91
|
|
|
92
|
-
-
|
|
92
|
+
- 这里只是“必须向诉请者补输入”的例子,所以用 `tellaskBack`
|
|
93
93
|
- 若团队规程 / SOP / 职责卡已经能明确执行负责人,应直接 `tellask` / `tellaskSessionless` 对应负责人,而不是机械因为“未完成态”就用 `tellaskBack`
|
|
94
94
|
- `tellaskBack` 只负责把问题问回去,不负责最终交付
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ tellaskBack({
|
|
|
97
97
|
|
|
98
98
|
### 场景描述
|
|
99
99
|
|
|
100
|
-
你之前发过 `tellaskBack
|
|
100
|
+
你之前发过 `tellaskBack`,诉请者现在补回了所需信息,runtime 暴露了 `replyTellaskBack`。
|
|
101
101
|
|
|
102
102
|
### 示例
|
|
103
103
|
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
| ------------------------- | ---------------------------- | -------------------------------------------------------------------- | ----------------------------------- |
|
|
28
28
|
| `replyTellask` | `{ replyContent: string }` | 当前支线承接的是 sessioned `tellask`,且已进入可交付完成态 | 把最终结果回复给当前 `tellask` 会话 |
|
|
29
29
|
| `replyTellaskSessionless` | `{ replyContent: string }` | 当前支线承接的是 one-shot `tellaskSessionless`,且已进入可交付完成态 | 把最终结果回复给当前一次性诉请 |
|
|
30
|
-
| `replyTellaskBack` | `{ replyContent: string }` | 当前对话持有一条未完成的 `tellaskBack` 回复指令 |
|
|
31
|
-
| `tellaskBack` | `{ tellaskContent: string }` |
|
|
30
|
+
| `replyTellaskBack` | `{ replyContent: string }` | 当前对话持有一条未完成的 `tellaskBack` 回复指令 | 把对上一条回问的最终答复送回诉请者 |
|
|
31
|
+
| `tellaskBack` | `{ tellaskContent: string }` | 当前支线必须回问诉请者,且现有团队规程无法直接判责到其他负责人 | 向诉请者发起续诉请,不算最终交付 |
|
|
32
32
|
|
|
33
33
|
### 最小使用规则
|
|
34
34
|
|
|
35
|
-
-
|
|
35
|
+
- 先专注把当前任务做对;只有真到最终对诉请者交付时,才进入 `reply*` 收口
|
|
36
36
|
- 看见哪一个 `reply*` 被 runtime 暴露,就调用哪一个;不要自行改选别的 reply 变体
|
|
37
37
|
- assignment 头部若已点名 reply 函数名,以那个名字为准
|
|
38
38
|
- `replyContent` 只放最终交付正文,不要再包一层“我现在调用了 replyXXX”
|
|
@@ -68,20 +68,6 @@
|
|
|
68
68
|
- Check lease status
|
|
69
69
|
- Contact administrator
|
|
70
70
|
|
|
71
|
-
### ENV_NOT_FOUND
|
|
72
|
-
|
|
73
|
-
**Description:** Environment variable doesn't exist.
|
|
74
|
-
|
|
75
|
-
**Cause:**
|
|
76
|
-
|
|
77
|
-
- Environment variable not set
|
|
78
|
-
- Environment variable name is incorrect
|
|
79
|
-
|
|
80
|
-
**Solution:**
|
|
81
|
-
|
|
82
|
-
- Check environment variable name
|
|
83
|
-
- Set required environment variable
|
|
84
|
-
|
|
85
71
|
## Frequently Asked Questions
|
|
86
72
|
|
|
87
73
|
### Q: What is an MCP lease?
|
|
@@ -26,9 +26,10 @@
|
|
|
26
26
|
|
|
27
27
|
mcp_admin is Dominds' **MCP administration toolset** for managing MCP (Model Context Protocol) connections and resources:
|
|
28
28
|
|
|
29
|
-
- **MCP restart**:
|
|
29
|
+
- **MCP restart/enable**: Enable and restart MCP service
|
|
30
30
|
- **MCP release**: Release MCP lease
|
|
31
|
-
- **
|
|
31
|
+
- **MCP disable**: Disable MCP service while keeping a zero-tool toolset/manual visible
|
|
32
|
+
- **Environment variables**: Read, set, and delete local environment variables
|
|
32
33
|
|
|
33
34
|
## Quick Navigation
|
|
34
35
|
|
|
@@ -43,7 +44,8 @@ mcp_admin is Dominds' **MCP administration toolset** for managing MCP (Model Con
|
|
|
43
44
|
|
|
44
45
|
- Status: Implemented
|
|
45
46
|
- Main implementation files:
|
|
46
|
-
-
|
|
47
|
+
- MCP tool implementation: `dominds/main/tools/mcp.ts`
|
|
48
|
+
- Environment variable tool implementation: `dominds/main/tools/env.ts`
|
|
47
49
|
- Toolset metadata: `dominds/main/tools/builtins.ts`, `dominds/main/tools/registry.ts`
|
|
48
50
|
|
|
49
51
|
## Core Concepts
|
|
@@ -45,17 +45,22 @@ MCP uses a lease mechanism to manage runtime resources such as HTTP connections
|
|
|
45
45
|
- **Hold lease**: Keep using that runtime instance
|
|
46
46
|
- **Release lease**: Stop/disconnect and release resources
|
|
47
47
|
|
|
48
|
+
`mcp_restart` changes the target server from `enabled: false` back to `enabled: true`, then tries to start it. When it succeeds, it replaces the global MCP runtime and clears all dialog leases on the old runtime; you do not need to call `mcp_release` first. To force a server into the disabled state, use `mcp_disable`.
|
|
49
|
+
|
|
48
50
|
### 3. Environment Variables
|
|
49
51
|
|
|
50
52
|
Shared with os toolset for environment variable functionality.
|
|
51
53
|
|
|
52
54
|
## Tool Overview
|
|
53
55
|
|
|
54
|
-
| Tool | Function
|
|
55
|
-
| ----------- |
|
|
56
|
-
| mcp_restart |
|
|
57
|
-
| mcp_release | Release MCP lease
|
|
58
|
-
|
|
|
56
|
+
| Tool | Function |
|
|
57
|
+
| ----------- | ------------------------------ |
|
|
58
|
+
| mcp_restart | Enable and restart MCP service |
|
|
59
|
+
| mcp_release | Release MCP lease |
|
|
60
|
+
| mcp_disable | Disable MCP service |
|
|
61
|
+
| env_get | Get environment variable |
|
|
62
|
+
| env_set | Set environment variable |
|
|
63
|
+
| env_unset | Delete environment variable |
|
|
59
64
|
|
|
60
65
|
## Best Practices
|
|
61
66
|
|
|
@@ -64,6 +69,7 @@ Shared with os toolset for environment variable functionality.
|
|
|
64
69
|
- **Release timely**: Release lease when MCP is no longer used
|
|
65
70
|
- **Monitor status**: Regularly check MCP connection status
|
|
66
71
|
- **Error handling**: Handle connection failures
|
|
72
|
+
- **Responsibility routing**: teammates without the `mcp_admin` toolset should use the team responsibility quick table / routing cards to ask the MCP troubleshooter or administrator for help when MCP tools stop working; they should not improvise a bypass.
|
|
67
73
|
|
|
68
74
|
### 2. Resource Management
|
|
69
75
|
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
|
|
16
16
|
### Scenario Description
|
|
17
17
|
|
|
18
|
-
When MCP service has issues
|
|
18
|
+
When an MCP service has issues, needs to refresh the connection, or is currently disabled with `enabled: false`, enable and restart the MCP service.
|
|
19
|
+
|
|
20
|
+
`mcp_restart` writes `enabled: true` when the server is currently `enabled: false`, then tries to start it. After it succeeds, it clears every dialog lease on the old runtime; you do not need to call `mcp_release` first.
|
|
19
21
|
|
|
20
22
|
### Example
|
|
21
23
|
|
|
@@ -53,7 +55,21 @@ env_get({
|
|
|
53
55
|
});
|
|
54
56
|
```
|
|
55
57
|
|
|
56
|
-
## Scenario 4: MCP
|
|
58
|
+
## Scenario 4: Disable MCP Service
|
|
59
|
+
|
|
60
|
+
### Scenario Description
|
|
61
|
+
|
|
62
|
+
When an MCP server should stop providing tools, or troubleshooting needs to force it offline, disable that server and write `enabled: false`. A disabled server is still exposed as a zero-tool toolset, and its manual clearly marks it as disabled.
|
|
63
|
+
|
|
64
|
+
### Example
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
mcp_disable({
|
|
68
|
+
serverId: 'filesystem',
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Scenario 5: MCP Connection Failure Handling
|
|
57
73
|
|
|
58
74
|
### Scenario Description
|
|
59
75
|
|
|
@@ -69,7 +85,7 @@ mcp_restart({
|
|
|
69
85
|
});
|
|
70
86
|
```
|
|
71
87
|
|
|
72
|
-
## Scenario
|
|
88
|
+
## Scenario 6: Resource Cleanup
|
|
73
89
|
|
|
74
90
|
### Scenario Description
|
|
75
91
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
### 1. mcp_restart
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Enable and rebuild an MCP service using the current `.minds/mcp.yaml` config. If the target server is currently `enabled: false`, this writes `enabled: true` before trying to start it. After a successful restart, Dominds replaces the global MCP runtime/tool registration and clears all dialog leases held on the old runtime. If restart fails, the old runtime/leases are kept so troubleshooting does not tear down a still-working connection.
|
|
25
25
|
|
|
26
26
|
**Parameters:**
|
|
27
27
|
|
|
@@ -30,9 +30,7 @@ Restart MCP service.
|
|
|
30
30
|
**Returns:**
|
|
31
31
|
|
|
32
32
|
```yaml
|
|
33
|
-
|
|
34
|
-
serverId: <MCP service identifier>
|
|
35
|
-
restarted_at: <restart timestamp>
|
|
33
|
+
ok: restarted <MCP service identifier>
|
|
36
34
|
```
|
|
37
35
|
|
|
38
36
|
**Errors:**
|
|
@@ -50,9 +48,13 @@ Release the current dialog's leased MCP runtime instance for a server. This stop
|
|
|
50
48
|
**Returns:**
|
|
51
49
|
|
|
52
50
|
```yaml
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
ok: released <MCP service identifier> for dialog <dialog identifier>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
If the current dialog has no releasable lease, returns:
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
ok: no active lease for <MCP service identifier> (or server is truely-stateless)
|
|
56
58
|
```
|
|
57
59
|
|
|
58
60
|
**Errors:**
|
|
@@ -60,7 +62,21 @@ released_at: <release timestamp>
|
|
|
60
62
|
- `MCP_NOT_FOUND`: MCP service doesn't exist
|
|
61
63
|
- `MCP_NOT_RUNNING`: MCP service not running
|
|
62
64
|
|
|
63
|
-
### 3.
|
|
65
|
+
### 3. mcp_disable
|
|
66
|
+
|
|
67
|
+
Disable an MCP service and write `enabled: false` for that server in `.minds/mcp.yaml`. This does not wait for a replacement service to become available: it unconditionally clears the loaded runtime/leases. The disabled server remains visible as a zero-tool MCP toolset, with its manual clearly marked disabled.
|
|
68
|
+
|
|
69
|
+
**Parameters:**
|
|
70
|
+
|
|
71
|
+
- `serverId` (required): MCP service identifier
|
|
72
|
+
|
|
73
|
+
**Returns:**
|
|
74
|
+
|
|
75
|
+
```yaml
|
|
76
|
+
ok: disabled <MCP service identifier> and set enabled=false
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 4. env_get
|
|
64
80
|
|
|
65
81
|
Get environment variable (shared with os toolset).
|
|
66
82
|
|
|
@@ -70,16 +86,41 @@ Get environment variable (shared with os toolset).
|
|
|
70
86
|
|
|
71
87
|
**Returns:**
|
|
72
88
|
|
|
89
|
+
- Set: returns the environment variable value directly
|
|
90
|
+
- Unset: returns `(unset)`
|
|
91
|
+
|
|
92
|
+
### 5. env_set
|
|
93
|
+
|
|
94
|
+
Set an environment variable in the Dominds server process (shared with os toolset).
|
|
95
|
+
|
|
96
|
+
**Parameters:**
|
|
97
|
+
|
|
98
|
+
- `key` (required): Environment variable name
|
|
99
|
+
- `value` (required): Environment variable value
|
|
100
|
+
|
|
101
|
+
**Returns:**
|
|
102
|
+
|
|
73
103
|
```yaml
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
retrieved_at: <retrieval timestamp>
|
|
104
|
+
ok: <environment variable name>
|
|
105
|
+
prev: <previous value or (unset)>
|
|
106
|
+
next: <new value>
|
|
78
107
|
```
|
|
79
108
|
|
|
80
|
-
|
|
109
|
+
### 6. env_unset
|
|
81
110
|
|
|
82
|
-
|
|
111
|
+
Delete an environment variable from the Dominds server process (shared with os toolset).
|
|
112
|
+
|
|
113
|
+
**Parameters:**
|
|
114
|
+
|
|
115
|
+
- `key` (required): Environment variable name
|
|
116
|
+
|
|
117
|
+
**Returns:**
|
|
118
|
+
|
|
119
|
+
```yaml
|
|
120
|
+
ok: <environment variable name>
|
|
121
|
+
prev: <previous value or (unset)>
|
|
122
|
+
next: (unset)
|
|
123
|
+
```
|
|
83
124
|
|
|
84
125
|
## Usage Examples
|
|
85
126
|
|
|
@@ -99,6 +140,14 @@ mcp_release({
|
|
|
99
140
|
});
|
|
100
141
|
```
|
|
101
142
|
|
|
143
|
+
### Disable MCP Service
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
mcp_disable({
|
|
147
|
+
serverId: 'browser',
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
102
151
|
### Get Environment Variable
|
|
103
152
|
|
|
104
153
|
```typescript
|
|
@@ -107,17 +156,32 @@ env_get({
|
|
|
107
156
|
});
|
|
108
157
|
```
|
|
109
158
|
|
|
110
|
-
|
|
159
|
+
### Set Environment Variable
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
env_set({
|
|
163
|
+
key: 'MCP_AUTH_TOKEN',
|
|
164
|
+
value: 'local-token',
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Delete Environment Variable
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
env_unset({
|
|
172
|
+
key: 'MCP_AUTH_TOKEN',
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Output Contract
|
|
111
177
|
|
|
112
|
-
|
|
178
|
+
These tools use the short text return formats described in their own sections:
|
|
113
179
|
|
|
114
|
-
-
|
|
115
|
-
-
|
|
180
|
+
- Success: starts with `ok:`
|
|
181
|
+
- Failure: starts with `error:`
|
|
116
182
|
|
|
117
183
|
On error, returns:
|
|
118
184
|
|
|
119
185
|
```yaml
|
|
120
|
-
|
|
121
|
-
error_code: <error code>
|
|
122
|
-
message: <error message>
|
|
186
|
+
error: <error message>
|
|
123
187
|
```
|
|
@@ -26,9 +26,10 @@
|
|
|
26
26
|
|
|
27
27
|
mcp_admin 是 Dominds 的 **MCP 管理工具集**,用于管理 MCP(Model Context Protocol)连接和资源:
|
|
28
28
|
|
|
29
|
-
- **MCP
|
|
29
|
+
- **MCP 重启/启用**:启用并重启 MCP 服务
|
|
30
30
|
- **MCP 释放**:释放 MCP 租约
|
|
31
|
-
-
|
|
31
|
+
- **MCP 禁用**:禁用 MCP 服务,并保留 0 工具 toolset/手册可见性
|
|
32
|
+
- **环境变量**:读取、设置、删除本地环境变量
|
|
32
33
|
|
|
33
34
|
## 快速导航
|
|
34
35
|
|
|
@@ -43,7 +44,8 @@ mcp_admin 是 Dominds 的 **MCP 管理工具集**,用于管理 MCP(Model Con
|
|
|
43
44
|
|
|
44
45
|
- 状态:已实现
|
|
45
46
|
- 主要实现文件:
|
|
46
|
-
- 工具实现:`dominds/main/tools/mcp
|
|
47
|
+
- MCP 工具实现:`dominds/main/tools/mcp.ts`
|
|
48
|
+
- 环境变量工具实现:`dominds/main/tools/env.ts`
|
|
47
49
|
- toolset 元信息:`dominds/main/tools/builtins.ts`、`dominds/main/tools/registry.ts`
|
|
48
50
|
|
|
49
51
|
## 核心概念
|
|
@@ -45,17 +45,22 @@ MCP 使用租约机制管理运行时资源,例如 HTTP 连接和 stdio 进程
|
|
|
45
45
|
- **持有租约**:继续使用该运行时实例
|
|
46
46
|
- **释放租约**:停止/断开并释放资源
|
|
47
47
|
|
|
48
|
+
`mcp_restart` 会把目标 server 的 `enabled: false` 改回 `enabled: true`,然后尝试启动;成功时会替换全局 MCP runtime 并清掉旧 runtime 的所有对话 lease;不需要先逐个 `mcp_release`。如果需要强制禁用某个 server,使用 `mcp_disable`。
|
|
49
|
+
|
|
48
50
|
### 3. 环境变量
|
|
49
51
|
|
|
50
52
|
与 os 工具集共享环境变量功能。
|
|
51
53
|
|
|
52
54
|
## 工具概览
|
|
53
55
|
|
|
54
|
-
| 工具 | 功能
|
|
55
|
-
| ----------- |
|
|
56
|
-
| mcp_restart |
|
|
57
|
-
| mcp_release | 释放 MCP 租约
|
|
58
|
-
|
|
|
56
|
+
| 工具 | 功能 |
|
|
57
|
+
| ----------- | ------------------- |
|
|
58
|
+
| mcp_restart | 启用并重启 MCP 服务 |
|
|
59
|
+
| mcp_release | 释放 MCP 租约 |
|
|
60
|
+
| mcp_disable | 禁用 MCP 服务 |
|
|
61
|
+
| env_get | 获取环境变量 |
|
|
62
|
+
| env_set | 设置环境变量 |
|
|
63
|
+
| env_unset | 删除环境变量 |
|
|
59
64
|
|
|
60
65
|
## 最佳实践
|
|
61
66
|
|
|
@@ -64,6 +69,7 @@ MCP 使用租约机制管理运行时资源,例如 HTTP 连接和 stdio 进程
|
|
|
64
69
|
- **及时释放**:不再使用 MCP 时及时释放租约
|
|
65
70
|
- **监控状态**:定期检查 MCP 连接状态
|
|
66
71
|
- **错误处理**:处理连接失败的情况
|
|
72
|
+
- **职责路由**:没有 `mcp_admin` 工具集的队友遇到 MCP 工具异常时,应按团队职责速查表/路由卡找到 MCP 排障或管理员队友协助,不要自行绕过。
|
|
67
73
|
|
|
68
74
|
### 2. 资源管理
|
|
69
75
|
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
|
|
16
16
|
### 场景描述
|
|
17
17
|
|
|
18
|
-
当 MCP
|
|
18
|
+
当 MCP 服务出现故障、需要刷新连接,或当前被 `enabled: false` 禁用时,启用并重启 MCP 服务。
|
|
19
|
+
|
|
20
|
+
`mcp_restart` 会把 `enabled: false` 写回 `enabled: true` 后尝试启动;成功后会清理旧 runtime 的全部对话 lease,不需要先 `mcp_release`。
|
|
19
21
|
|
|
20
22
|
### 示例
|
|
21
23
|
|
|
@@ -53,7 +55,21 @@ env_get({
|
|
|
53
55
|
});
|
|
54
56
|
```
|
|
55
57
|
|
|
56
|
-
## 场景 4
|
|
58
|
+
## 场景 4:禁用 MCP 服务
|
|
59
|
+
|
|
60
|
+
### 场景描述
|
|
61
|
+
|
|
62
|
+
当某个 MCP server 不应继续提供工具,或排障时需要强制下线它,禁用该 server 并写入 `enabled: false`。禁用后的 server 仍会作为 0 工具 toolset 暴露,手册会明确标记已禁用。
|
|
63
|
+
|
|
64
|
+
### 示例
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
mcp_disable({
|
|
68
|
+
serverId: 'filesystem',
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 场景 5:MCP 连接故障处理
|
|
57
73
|
|
|
58
74
|
### 场景描述
|
|
59
75
|
|
|
@@ -69,7 +85,7 @@ mcp_restart({
|
|
|
69
85
|
});
|
|
70
86
|
```
|
|
71
87
|
|
|
72
|
-
## 场景
|
|
88
|
+
## 场景 6:资源清理
|
|
73
89
|
|
|
74
90
|
### 场景描述
|
|
75
91
|
|