dominds 1.7.0 → 1.7.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/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/dialog.js +8 -8
- package/dist/docs/OEC-philosophy.md +11 -11
- package/dist/docs/OEC-philosophy.zh.md +1 -1
- package/dist/docs/context-health.md +35 -14
- package/dist/docs/context-health.zh.md +28 -7
- package/dist/docs/design.zh.md +8 -8
- package/dist/docs/dialog-persistence.zh.md +4 -4
- package/dist/docs/dialog-system.md +19 -14
- package/dist/docs/dialog-system.zh.md +102 -97
- package/dist/docs/encapsulated-taskdoc.md +5 -17
- package/dist/docs/encapsulated-taskdoc.zh.md +11 -11
- package/dist/docs/fbr.zh.md +1 -1
- package/dist/docs/mcp-support.zh.md +1 -1
- package/dist/docs/memory-system.zh.md +4 -4
- package/dist/docs/mottos.zh.md +7 -7
- package/dist/docs/roadmap.zh.md +1 -1
- package/dist/docs/team_mgmt-toolset.zh.md +1 -1
- package/dist/docs/tellask-collab.md +9 -4
- package/dist/docs/tellask-collab.zh.md +21 -15
- package/dist/llm/kernel-driver/drive.js +8 -6
- package/dist/llm/kernel-driver/flow.js +4 -3
- package/dist/llm/kernel-driver/subdialog.js +1 -1
- package/dist/minds/load.js +12 -0
- package/dist/minds/system-prompt-parts.js +31 -9
- package/dist/minds/system-prompt.js +63 -31
- package/dist/persistence.js +11 -11
- package/dist/priming.js +4 -4
- package/dist/shared/i18n/driver-messages.js +25 -10
- package/dist/shared/utils/inter-dialog-format.js +27 -7
- package/dist/static/assets/{_basePickBy-B5JpcIlf.js → _basePickBy-DOCpneO0.js} +3 -3
- package/dist/static/assets/{_basePickBy-B5JpcIlf.js.map → _basePickBy-DOCpneO0.js.map} +1 -1
- package/dist/static/assets/{_baseUniq-B6ENA5xp.js → _baseUniq-DBZLqTK1.js} +2 -2
- package/dist/static/assets/{_baseUniq-B6ENA5xp.js.map → _baseUniq-DBZLqTK1.js.map} +1 -1
- package/dist/static/assets/{arc-CztgHQ6S.js → arc-Dw9YkyBZ.js} +2 -2
- package/dist/static/assets/{arc-CztgHQ6S.js.map → arc-Dw9YkyBZ.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-CdI-KLc0.js → architectureDiagram-VXUJARFQ-DiXBIlTy.js} +7 -7
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-CdI-KLc0.js.map → architectureDiagram-VXUJARFQ-DiXBIlTy.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-BALBf4XM.js → blockDiagram-VD42YOAC-CBTqG3TT.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-BALBf4XM.js.map → blockDiagram-VD42YOAC-CBTqG3TT.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-a1k6yPrP.js → c4Diagram-YG6GDRKO-CKltdqcg.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-a1k6yPrP.js.map → c4Diagram-YG6GDRKO-CKltdqcg.js.map} +1 -1
- package/dist/static/assets/{channel-CWNdqJ-I.js → channel-CsfA5ddv.js} +2 -2
- package/dist/static/assets/{channel-CWNdqJ-I.js.map → channel-CsfA5ddv.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-BQeTUB5q.js → chunk-4BX2VUAB-BCdL9ibi.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-BQeTUB5q.js.map → chunk-4BX2VUAB-BCdL9ibi.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-DDefFY4X.js → chunk-55IACEB6-CcKnxlqS.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-DDefFY4X.js.map → chunk-55IACEB6-CcKnxlqS.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW-B3r4W-g_.js → chunk-B4BG7PRW-BnypOYYo.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW-B3r4W-g_.js.map → chunk-B4BG7PRW-BnypOYYo.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-BDKIjQbt.js → chunk-DI55MBZ5-BGYHpvhR.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-BDKIjQbt.js.map → chunk-DI55MBZ5-BGYHpvhR.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-BRjO7LO2.js → chunk-FMBD7UC4-Crf0Br1R.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-BRjO7LO2.js.map → chunk-FMBD7UC4-Crf0Br1R.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-DtUbDqMq.js → chunk-QN33PNHL-Cg1EQYdQ.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-DtUbDqMq.js.map → chunk-QN33PNHL-Cg1EQYdQ.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-HvxW4tgI.js → chunk-QZHKN3VN-DRH7UNkC.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-HvxW4tgI.js.map → chunk-QZHKN3VN-DRH7UNkC.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-8kvbFL8c.js → chunk-TZMSLE5B-CaZqBdnu.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-8kvbFL8c.js.map → chunk-TZMSLE5B-CaZqBdnu.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-BT0K1-Ue.js → classDiagram-2ON5EDUG-DSsG0iFI.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-BT0K1-Ue.js.map → classDiagram-2ON5EDUG-DSsG0iFI.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BT0K1-Ue.js → classDiagram-v2-WZHVMYZB-DSsG0iFI.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-BT0K1-Ue.js.map → classDiagram-v2-WZHVMYZB-DSsG0iFI.js.map} +1 -1
- package/dist/static/assets/{clone-C8ji-9VG.js → clone-xhbAL4G8.js} +2 -2
- package/dist/static/assets/{clone-C8ji-9VG.js.map → clone-xhbAL4G8.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-DgZIHStr.js → cose-bilkent-S5V4N54A-B7Rtmhjt.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-DgZIHStr.js.map → cose-bilkent-S5V4N54A-B7Rtmhjt.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-CoLMSS7V.js → dagre-6UL2VRFP-BkqhLTnX.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-CoLMSS7V.js.map → dagre-6UL2VRFP-BkqhLTnX.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-BbaRu7Ko.js → diagram-PSM6KHXK-CZKtGq3a.js} +8 -8
- package/dist/static/assets/{diagram-PSM6KHXK-BbaRu7Ko.js.map → diagram-PSM6KHXK-CZKtGq3a.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-w2QJoEvf.js → diagram-QEK2KX5R-CnMVuAHl.js} +7 -7
- package/dist/static/assets/{diagram-QEK2KX5R-w2QJoEvf.js.map → diagram-QEK2KX5R-CnMVuAHl.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-CZ3V7aTH.js → diagram-S2PKOQOG-CeSf7JXc.js} +7 -7
- package/dist/static/assets/{diagram-S2PKOQOG-CZ3V7aTH.js.map → diagram-S2PKOQOG-CeSf7JXc.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-B_D5zZGW.js → erDiagram-Q2GNP2WA-CSt8_Jg8.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-B_D5zZGW.js.map → erDiagram-Q2GNP2WA-CSt8_Jg8.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-CdleeZSt.js → flowDiagram-NV44I4VS-D5Ml-CXN.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-CdleeZSt.js.map → flowDiagram-NV44I4VS-D5Ml-CXN.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-D4I0mcXy.js → ganttDiagram-JELNMOA3-CyMWbWsa.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-D4I0mcXy.js.map → ganttDiagram-JELNMOA3-CyMWbWsa.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-2TDy5WsI.js → gitGraphDiagram-V2S2FVAM-vl516Is8.js} +8 -8
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-2TDy5WsI.js.map → gitGraphDiagram-V2S2FVAM-vl516Is8.js.map} +1 -1
- package/dist/static/assets/{graph-6qmT9kvE.js → graph-BGZ_sL_x.js} +3 -3
- package/dist/static/assets/{graph-6qmT9kvE.js.map → graph-BGZ_sL_x.js.map} +1 -1
- package/dist/static/assets/{index-DZjf7VGN.js → index-C-RsyM0K.js} +33 -33
- package/dist/static/assets/{index-DZjf7VGN.js.map → index-C-RsyM0K.js.map} +1 -1
- package/dist/static/assets/{infoDiagram-HS3SLOUP-Cdngu1wO.js → infoDiagram-HS3SLOUP-6wx0LbHY.js} +6 -6
- package/dist/static/assets/{infoDiagram-HS3SLOUP-Cdngu1wO.js.map → infoDiagram-HS3SLOUP-6wx0LbHY.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-C8JGH9qX.js → journeyDiagram-XKPGCS4Q-YPjC-r77.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-C8JGH9qX.js.map → journeyDiagram-XKPGCS4Q-YPjC-r77.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-CgcdAoUr.js → kanban-definition-3W4ZIXB7-DlG-ZWTO.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-CgcdAoUr.js.map → kanban-definition-3W4ZIXB7-DlG-ZWTO.js.map} +1 -1
- package/dist/static/assets/{layout--9zDsdfQ.js → layout-BZJKhYY3.js} +5 -5
- package/dist/static/assets/{layout--9zDsdfQ.js.map → layout-BZJKhYY3.js.map} +1 -1
- package/dist/static/assets/{linear-f6M3OqrG.js → linear-Bau37zh5.js} +2 -2
- package/dist/static/assets/{linear-f6M3OqrG.js.map → linear-Bau37zh5.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-O6D8o0NA.js → mindmap-definition-VGOIOE7T-n2WXgX4b.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-O6D8o0NA.js.map → mindmap-definition-VGOIOE7T-n2WXgX4b.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-B73iJXia.js → pieDiagram-ADFJNKIX-DgW7FkI4.js} +8 -8
- package/dist/static/assets/{pieDiagram-ADFJNKIX-B73iJXia.js.map → pieDiagram-ADFJNKIX-DgW7FkI4.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-1MkdhL3o.js → quadrantDiagram-AYHSOK5B-BtsDjIpC.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-1MkdhL3o.js.map → quadrantDiagram-AYHSOK5B-BtsDjIpC.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-BANDg6Jt.js → requirementDiagram-UZGBJVZJ-DPzuPEge.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-BANDg6Jt.js.map → requirementDiagram-UZGBJVZJ-DPzuPEge.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-XEoMNqRv.js → sankeyDiagram-TZEHDZUN-BJS1ETtL.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-XEoMNqRv.js.map → sankeyDiagram-TZEHDZUN-BJS1ETtL.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-Brw-9CPI.js → sequenceDiagram-WL72ISMW-DXEpa4ly.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-Brw-9CPI.js.map → sequenceDiagram-WL72ISMW-DXEpa4ly.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-CVzsrvr2.js → stateDiagram-FKZM4ZOC-CGU6VJY5.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-CVzsrvr2.js.map → stateDiagram-FKZM4ZOC-CGU6VJY5.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-B9j-EAhS.js → stateDiagram-v2-4FDKWEC3-Dx_GvlFA.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-B9j-EAhS.js.map → stateDiagram-v2-4FDKWEC3-Dx_GvlFA.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-S3mM3ltV.js → timeline-definition-IT6M3QCI-DcWLmdgJ.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-S3mM3ltV.js.map → timeline-definition-IT6M3QCI-DcWLmdgJ.js.map} +1 -1
- package/dist/static/assets/{treemap-GDKQZRPO-Cf1b3Cgv.js → treemap-GDKQZRPO-BhUwKF9C.js} +5 -5
- package/dist/static/assets/{treemap-GDKQZRPO-Cf1b3Cgv.js.map → treemap-GDKQZRPO-BhUwKF9C.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CYvqfglb.js → xychartDiagram-PRI3JC2R-Cr4t0oCq.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CYvqfglb.js.map → xychartDiagram-PRI3JC2R-Cr4t0oCq.js.map} +1 -1
- package/dist/static/index.html +1 -1
- package/dist/tools/ctrl.js +5 -4
- package/dist/tools/prompts/control/en/principles.md +2 -2
- package/dist/tools/prompts/control/en/tools.md +2 -2
- package/dist/tools/prompts/control/zh/index.md +2 -2
- package/dist/tools/prompts/control/zh/principles.md +4 -4
- package/dist/tools/prompts/control/zh/tools.md +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
package/README.zh.md
CHANGED
|
@@ -185,7 +185,7 @@ Dominds 面向“长期开发运作(DevOps)”场景设计,基于社会化
|
|
|
185
185
|
- **[CLI Usage Guide](docs/cli-usage.zh.md)** — 命令行工具及使用方法
|
|
186
186
|
- **[Q4H](docs/q4h.zh.md)** — 向人类提问(`askHuman`)机制与 WebUI 支持
|
|
187
187
|
- **[MCP Support](docs/mcp-support.zh.md)** — MCP 工具集成指南
|
|
188
|
-
- **[
|
|
188
|
+
- **[封装式差遣牒](docs/encapsulated-taskdoc.zh.md)** — `*.tsk/` 任务包与访问约束
|
|
189
189
|
- **[FBR](docs/fbr.zh.md)** — 扪心自问(`freshBootsReasoning`)机制设计与增强
|
|
190
190
|
- **[Context Health](docs/context-health.zh.md)** — 上下文健康维护
|
|
191
191
|
- **[Diligence Push](docs/diligence-push.zh.md)** — 鞭策机制
|
package/dist/dialog.js
CHANGED
|
@@ -142,10 +142,10 @@ class Dialog {
|
|
|
142
142
|
// Diligence Push disable switch (persisted via latest.yaml; default = false).
|
|
143
143
|
this.disableDiligencePush = false;
|
|
144
144
|
// Current callId for tellask call correlation
|
|
145
|
-
// - Set
|
|
145
|
+
// - Set when tellask-special call results are finalized
|
|
146
146
|
// - Retrieved during inline call-result emission (for receiveTellaskCallResult callId parameter)
|
|
147
147
|
// - Enables frontend to attach result INLINE to the calling section
|
|
148
|
-
// - NOT used for
|
|
148
|
+
// - NOT used for sideline-response bubbles (which use calleeDialogId instead)
|
|
149
149
|
this._currentCallId = null;
|
|
150
150
|
// Validate required parameters
|
|
151
151
|
if (!taskDocPath || taskDocPath.trim() === '') {
|
|
@@ -207,7 +207,7 @@ class Dialog {
|
|
|
207
207
|
* Get the current callId for tellask call correlation
|
|
208
208
|
*
|
|
209
209
|
* Call Types:
|
|
210
|
-
* - tellask-special function call: callId is set
|
|
210
|
+
* - tellask-special function call: callId is set when call results are finalized and used for inline result correlation
|
|
211
211
|
* - Subdialog response bubbles: use calleeDialogId instead of callId
|
|
212
212
|
*
|
|
213
213
|
* @returns The current callId for call correlation, or null if no active call
|
|
@@ -216,7 +216,7 @@ class Dialog {
|
|
|
216
216
|
return this._currentCallId;
|
|
217
217
|
}
|
|
218
218
|
/**
|
|
219
|
-
* Set the current callId
|
|
219
|
+
* Set the current callId for tellask-special inline result correlation
|
|
220
220
|
*
|
|
221
221
|
* @param callId - The function-call correlation ID
|
|
222
222
|
*/
|
|
@@ -796,7 +796,7 @@ class Dialog {
|
|
|
796
796
|
return await this.dlgStore.receiveTellaskCallResult(this, responderId, callName, mentionList, tellaskContent, result, status, callId);
|
|
797
797
|
}
|
|
798
798
|
/**
|
|
799
|
-
* Receive
|
|
799
|
+
* Receive tellask response (separate bubble for tellask sideline replies)
|
|
800
800
|
*/
|
|
801
801
|
async receiveTellaskResponse(responderId, callName, mentionList, tellaskContent, status, subdialogId, options) {
|
|
802
802
|
return await this.dlgStore.receiveTellaskResponse(this, responderId, callName, mentionList, tellaskContent, status, subdialogId, options);
|
|
@@ -939,7 +939,7 @@ class Dialog {
|
|
|
939
939
|
}
|
|
940
940
|
exports.Dialog = Dialog;
|
|
941
941
|
/**
|
|
942
|
-
* SubDialog - A subdialog created by a RootDialog for autonomous
|
|
942
|
+
* SubDialog - A subdialog created by a RootDialog for autonomous tellask sideline work.
|
|
943
943
|
* Stores the root dialog for registry and lookup, and resolves its effective supdialog dynamically.
|
|
944
944
|
*/
|
|
945
945
|
class SubDialog extends Dialog {
|
|
@@ -1064,7 +1064,7 @@ class RootDialog extends Dialog {
|
|
|
1064
1064
|
return Array.from(this._subdialogRegistry.values());
|
|
1065
1065
|
}
|
|
1066
1066
|
/**
|
|
1067
|
-
* Create a new subdialog for autonomous
|
|
1067
|
+
* Create a new subdialog for autonomous tellask sideline work.
|
|
1068
1068
|
*/
|
|
1069
1069
|
async createSubDialog(targetAgentId, mentionList, tellaskContent, options) {
|
|
1070
1070
|
return await this.dlgStore.createSubDialog(this, targetAgentId, mentionList, tellaskContent, options);
|
|
@@ -1146,7 +1146,7 @@ class DialogStore {
|
|
|
1146
1146
|
*/
|
|
1147
1147
|
async receiveTellaskCallResult(_dialog, _responderId, _callName, _mentionList, _tellaskContent, _result, _status, _callId) { }
|
|
1148
1148
|
/**
|
|
1149
|
-
* Receive
|
|
1149
|
+
* Receive tellask response (separate bubble for tellask sideline replies)
|
|
1150
1150
|
*/
|
|
1151
1151
|
async receiveTellaskResponse(_dialog, _responderId, _callName, _mentionList, _tellaskContent, _status, _subdialogId, _options) { }
|
|
1152
1152
|
async updateQuestions4Human(_dialog, _questions) { }
|
|
@@ -4,27 +4,27 @@ Chinese version: [中文版](./OEC-philosophy.zh.md)
|
|
|
4
4
|
|
|
5
5
|
> Haier: Overall Every(thing/one/day) Control/Clear
|
|
6
6
|
|
|
7
|
-
The OEC Management Method is a comprehensive enterprise management framework created by Haier Group in 1989, also known as
|
|
7
|
+
The OEC Management Method is a comprehensive enterprise management framework created by Haier Group in 1989, also known as the Comprehensive Optimization Management Method. This philosophy generated major economic and social benefits for Haier, earning the company the National Enterprise Management Innovation "Golden Horse Award" and the Enterprise Reform "Sail Cup", along with a recommendation from Premier Zhu Rongji to promote the management experience nationwide.
|
|
8
8
|
|
|
9
9
|
## Core Philosophy
|
|
10
10
|
|
|
11
|
-
OEC represents a systematic approach to daily management that emphasizes **"Daily work completion, daily clearance, daily improvement"**
|
|
11
|
+
OEC represents a systematic approach to daily management that emphasizes **"Daily work completion, daily clearance, daily improvement."** The fundamental principle is that every employee must accomplish targeted work every day, with the overall goal being to achieve a 1% improvement over the previous day's performance.
|
|
12
12
|
|
|
13
13
|
## The OEC Components
|
|
14
14
|
|
|
15
|
-
### **O - Overall
|
|
15
|
+
### **O - Overall**
|
|
16
16
|
|
|
17
17
|
- **Global Integration**: All activities, processes, and systems are interconnected
|
|
18
18
|
- **Holistic Thinking**: Every element contributes to the overall organizational success
|
|
19
19
|
- **Strategic Alignment**: Daily activities support long-term strategic objectives
|
|
20
20
|
|
|
21
|
-
### **E - Everyone, Everything, Everyday
|
|
21
|
+
### **E - Everyone, Everything, Everyday**
|
|
22
22
|
|
|
23
23
|
- **Everyone**: Every employee has clear responsibilities and accountability
|
|
24
24
|
- **Everything**: Every task, process, and outcome is managed and controlled
|
|
25
25
|
- **Everyday**: Daily operations, reviews, and improvements are non-negotiable
|
|
26
26
|
|
|
27
|
-
### **C - Control and Clear
|
|
27
|
+
### **C - Control and Clear**
|
|
28
28
|
|
|
29
29
|
- **Clear Standards**: Defined expectations, processes, and quality benchmarks
|
|
30
30
|
- **Controlled Processes**: Systematic monitoring and adjustment mechanisms
|
|
@@ -32,27 +32,27 @@ OEC represents a systematic approach to daily management that emphasizes **"Dail
|
|
|
32
32
|
|
|
33
33
|
## Three Fundamental Principles
|
|
34
34
|
|
|
35
|
-
### 1. **Closed-Loop Management
|
|
35
|
+
### 1. **Closed-Loop Management**
|
|
36
36
|
|
|
37
37
|
- **PDCA Cycle**: Plan-Do-Check-Act continuous improvement
|
|
38
38
|
- **Complete Accountability**: Every task has clear ownership and follow-through
|
|
39
39
|
- **Systematic Follow-up**: No loose ends or unaddressed issues
|
|
40
40
|
|
|
41
|
-
### 2. **Comparative Analysis
|
|
41
|
+
### 2. **Comparative Analysis**
|
|
42
42
|
|
|
43
43
|
- **Internal Benchmarking**: Compare current performance with past achievements
|
|
44
44
|
- **External Benchmarking**: Measure against industry best practices and international standards
|
|
45
45
|
- **Competitive Intelligence**: Use comparison as a driver for improvement
|
|
46
46
|
|
|
47
|
-
### 3. **Continuous Optimization
|
|
47
|
+
### 3. **Continuous Optimization**
|
|
48
48
|
|
|
49
|
-
- **Weakest Link Theory**: Identify and strengthen
|
|
49
|
+
- **Weakest Link Theory**: Identify and strengthen weak areas
|
|
50
50
|
- **Incremental Progress**: 1% daily improvement compounds significantly over time
|
|
51
51
|
- **Systematic Enhancement**: Continuous refinement of all processes
|
|
52
52
|
|
|
53
53
|
## Implementation Framework
|
|
54
54
|
|
|
55
|
-
### Daily Work Completion
|
|
55
|
+
### Daily Work Completion
|
|
56
56
|
|
|
57
57
|
**Core Mechanisms:**
|
|
58
58
|
|
|
@@ -66,7 +66,7 @@ OEC represents a systematic approach to daily management that emphasizes **"Dail
|
|
|
66
66
|
- Mid-day check-ins ensure progress tracking
|
|
67
67
|
- Evening reviews confirm completion and identify issues
|
|
68
68
|
|
|
69
|
-
### Daily Clearance
|
|
69
|
+
### Daily Clearance
|
|
70
70
|
|
|
71
71
|
**The "Three Management Principles":**
|
|
72
72
|
|
|
@@ -169,7 +169,7 @@ OEC 代表了一种系统化的日常管理方法,强调**"日事日毕、日
|
|
|
169
169
|
|
|
170
170
|
### **多程对话**
|
|
171
171
|
|
|
172
|
-
-
|
|
172
|
+
- **每日重置**:使用已写回关键进展的差遣牒(任务实时协调公告板)与空对话历史(主要是大篇幅、过时的工具调用结果)开启新一程对话
|
|
173
173
|
- **清除上下文**:确保所有智能体在最佳清晰度和更新信息下工作
|
|
174
174
|
- **即时解决**:在同一操作周期内解决问题和异常
|
|
175
175
|
|
|
@@ -113,12 +113,14 @@ Levels are derived from the two thresholds:
|
|
|
113
113
|
|
|
114
114
|
## v3 Remediation Semantics (Driver-enforced)
|
|
115
115
|
|
|
116
|
-
### Continuation package
|
|
116
|
+
### Continuation package
|
|
117
117
|
|
|
118
118
|
The remediation workflow centers around a _continuation package_ (a scannable, actionable bundle of
|
|
119
|
-
context that survives a new course).
|
|
120
|
-
|
|
121
|
-
|
|
119
|
+
context that survives a new course). The agent must not self-assess whether it is “still
|
|
120
|
+
clear-headed” or “already muddled” because that judgment is not reliable or auditable. The only
|
|
121
|
+
mechanical branch is whether the system has put the current course into `caution` / `critical`
|
|
122
|
+
remediation. Outside remediation, prefer **one structured reminder**. During remediation, rough
|
|
123
|
+
multi-reminder carry-over is acceptable as a bridge.
|
|
122
124
|
|
|
123
125
|
Recommended structure (multi-line but compact; focus on details not covered in Taskdoc):
|
|
124
126
|
|
|
@@ -130,10 +132,13 @@ Recommended structure (multi-line but compact; focus on details not covered in T
|
|
|
130
132
|
Rules:
|
|
131
133
|
|
|
132
134
|
- Keep normal reminders concise and few.
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
- Do not let the agent branch on subjective self-assessment such as “clear-headed” vs “muddled”.
|
|
136
|
+
- When the current course is not under `caution` / `critical` remediation, prefer compressing into
|
|
137
|
+
one structured continuation-package reminder.
|
|
138
|
+
- When the system has put the current course into `caution` / `critical` remediation, prioritize
|
|
139
|
+
preserving volatile information even via multiple rough reminders; in the current course, only
|
|
140
|
+
preserve info and `clear_mind`. Once the system actually starts the next course, the first step
|
|
141
|
+
is to review, merge, and delete redundancy.
|
|
137
142
|
- Do not duplicate Taskdoc content except for a short bridge when strictly needed.
|
|
138
143
|
- Do not paste long raw logs/tool outputs into the continuation package.
|
|
139
144
|
|
|
@@ -150,7 +155,7 @@ Current behavior:
|
|
|
150
155
|
generations; configurable per model).
|
|
151
156
|
- Each inserted prompt requires the agent to **curate reminders** (at least one call):
|
|
152
157
|
- `update_reminder` (preferred) / `add_reminder`
|
|
153
|
-
-
|
|
158
|
+
- Default to one structured continuation-package reminder; if the current course is already under remediation and one structured reminder cannot be produced directly from already observed facts, rough multi-reminder carry-over is acceptable
|
|
154
159
|
- Then `clear_mind` when it becomes scannable/actionable
|
|
155
160
|
|
|
156
161
|
### Critical (red)
|
|
@@ -159,7 +164,7 @@ When `level === 'critical'`, the driver enters a **countdown remediation** (max
|
|
|
159
164
|
|
|
160
165
|
- On each turn, the driver records a **role=user prompt** (persisted as a user message) that is
|
|
161
166
|
visible in the UI as a user prompt. This prompt tells the agent to:
|
|
162
|
-
- curate reminders via `update_reminder` / `add_reminder`, preferably into a continuation-package reminder but allowing rough multi-reminder carry-over when already
|
|
167
|
+
- curate reminders via `update_reminder` / `add_reminder`, preferably into a continuation-package reminder but allowing rough multi-reminder carry-over when the current course is already under remediation and a single structured reminder cannot be produced directly from already observed facts, and
|
|
163
168
|
- then call `clear_mind` to start a new course.
|
|
164
169
|
- The prompt includes a countdown: after **N** turns the system will automatically clear.
|
|
165
170
|
- When the countdown reaches 0, the driver **automatically calls** `clear_mind` (with empty args; no
|
|
@@ -186,10 +191,26 @@ Suggested visual states:
|
|
|
186
191
|
- **Critical** (red)
|
|
187
192
|
- **Unknown** (gray)
|
|
188
193
|
|
|
189
|
-
|
|
194
|
+
### Canonical bilingual status mapping
|
|
190
195
|
|
|
191
|
-
|
|
192
|
-
|
|
196
|
+
To avoid ad hoc translations in docs, prompts, and UI copy, this status set uses the following
|
|
197
|
+
canonical mapping:
|
|
198
|
+
|
|
199
|
+
| Internal state | Canonical English | Canonical Chinese UI copy | Notes |
|
|
200
|
+
| -------------- | ----------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
201
|
+
| `healthy` | `Healthy` | `充裕` | Means the prompt is still comfortably below the soft threshold; the Chinese UI label is not `健康`. |
|
|
202
|
+
| `caution` | `Caution` | `吃紧` | Means the prompt is past the soft threshold and reminder curation should start; the Chinese UI label is not `警告`. |
|
|
203
|
+
| `critical` | `Critical` | `告急` | Means the dialog is in the high-risk zone and driver-enforced countdown remediation applies; the Chinese UI label is not `严重`. |
|
|
204
|
+
| `unknown` | `Unknown` | `未知` | Means usage stats for the turn are unavailable, so context health cannot be determined. |
|
|
205
|
+
|
|
206
|
+
Additional constraints:
|
|
207
|
+
|
|
208
|
+
- English docs and prompts should use `Healthy / Caution / Critical / Unknown` as the canonical
|
|
209
|
+
English labels.
|
|
210
|
+
- When an English doc needs to mention the Chinese counterpart, it should use the exact Chinese UI
|
|
211
|
+
labels above (`充裕 / 吃紧 / 告急 / 未知`) rather than improvised near-synonyms.
|
|
212
|
+
- Chinese explanatory prose may still describe the semantics in other words, but those alternate
|
|
213
|
+
words should not replace the canonical status labels in UI/spec text.
|
|
193
214
|
|
|
194
215
|
## Implementation Outline
|
|
195
216
|
|
|
@@ -210,7 +231,7 @@ Note (zh UI copy):
|
|
|
210
231
|
- `caution`: driver inserts a persisted role=user prompt (UI-visible user instruction).
|
|
211
232
|
On entering `caution` it inserts once; while still `caution` it reinserts on a cadence (default: every
|
|
212
233
|
10 generations; configurable per model). Each time, the agent must call at least one of
|
|
213
|
-
`update_reminder` / `add_reminder` and preserve a continuation package. A single structured reminder is preferred,
|
|
234
|
+
`update_reminder` / `add_reminder` and preserve a continuation package. A single structured reminder is preferred when the current course is not under remediation pressure; during remediation, multiple rough reminders are acceptable if they can be written directly from already observed facts without further reading/analysis. In the new course the agent should reconcile them first, then `clear_mind` when ready.
|
|
214
235
|
- `critical`: driver runs a countdown remediation (max 5 turns) using **recorded role=user prompts**.
|
|
215
236
|
Each prompt includes a countdown and instructs reminder curation + `clear_mind`. When the countdown
|
|
216
237
|
reaches 0, the driver auto-executes `clear_mind` and starts a new course (no Q4H, no suspension).
|
|
@@ -100,13 +100,22 @@ Dominds 计算比率:
|
|
|
100
100
|
|
|
101
101
|
恢复工作流围绕一个**接续包**(一个可扫描的、可操作的上下文束)展开,该束在新一程对话中存活。
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
推荐结构(多行;按任务规模缩放;聚焦于差遣牒中未涵盖的细节):
|
|
104
104
|
|
|
105
105
|
- 第一个可操作步骤
|
|
106
106
|
- 关键指针(文件/符号/搜索词)
|
|
107
107
|
- 运行/验证(命令、端口、环境变量)
|
|
108
108
|
- 容易丢失的临时细节(路径/ID/URL/示例输入)
|
|
109
109
|
|
|
110
|
+
规则:
|
|
111
|
+
|
|
112
|
+
- 普通提醒项保持简短且少量。
|
|
113
|
+
- 不允许智能体靠主观感觉判断自己“头脑清楚”还是“已经发乱”;这两种说法没有可靠、可审计的客观判据。
|
|
114
|
+
- 机制性分流规则只有一个:看**系统是否已将当前程置于上下文健康处置态**。若当前没有 `caution/critical` 处置指令,则默认优先压缩成一个结构化接续包提醒项。
|
|
115
|
+
- 一旦系统已将当前程置于 `caution/critical` 处置态,当前程的目标就切换为“保住易丢信息并尽快 `clear_mind`”,此时允许多条粗略提醒项过桥;系统真正开启新一程后,第一步再复核、合并并删除冗余。
|
|
116
|
+
- 除非确有必要,不要重复差遣牒已覆盖的内容。
|
|
117
|
+
- 不要把长原始日志/大段 tool output 直接塞进接续包。
|
|
118
|
+
|
|
110
119
|
### 警告(黄色)
|
|
111
120
|
|
|
112
121
|
当 `level === 'caution'` 时,驱动程序在**下一个** LLM 生成轮次自动插入一条 **role=user** 指导提示,并**将其持久化为普通用户消息**,以便 UI 将其渲染为正常的用户指令。
|
|
@@ -145,15 +154,27 @@ Dominds 计算比率:
|
|
|
145
154
|
|
|
146
155
|
建议的视觉状态:
|
|
147
156
|
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
157
|
+
- **充裕**(绿色)
|
|
158
|
+
- **吃紧**(黄色)
|
|
159
|
+
- **告急**(红色)
|
|
151
160
|
- **未知**(灰色)
|
|
152
161
|
|
|
153
|
-
|
|
162
|
+
### 状态术语对照(规范)
|
|
163
|
+
|
|
164
|
+
为避免在文档、提示词、UI 文案里出现“看似正确但并非正规对应”的翻译,这组状态词统一按下表使用:
|
|
165
|
+
|
|
166
|
+
| 内部状态值 | 英文规范文案 | 中文 UI 文案 | 说明 |
|
|
167
|
+
| ---------- | ------------ | ------------ | -------------------------------------------------------------------------------- |
|
|
168
|
+
| `healthy` | `Healthy` | `充裕` | 表示上下文距离软线仍有明显余量;中文 UI 不使用“健康”作为正式标签。 |
|
|
169
|
+
| `caution` | `Caution` | `吃紧` | 表示已越过软线、需要开始整理与收敛;中文 UI 不使用“警告”作为正式标签。 |
|
|
170
|
+
| `critical` | `Critical` | `告急` | 表示已进入高风险区,驱动程序会执行倒计时恢复;中文 UI 不使用“严重”作为正式标签。 |
|
|
171
|
+
| `unknown` | `Unknown` | `未知` | 表示本轮缺少可用 usage 统计,无法判断上下文健康度。 |
|
|
172
|
+
|
|
173
|
+
补充约束:
|
|
154
174
|
|
|
155
|
-
-
|
|
156
|
-
-
|
|
175
|
+
- 在中文文档/提示词/UI 中,涉及这组**正式状态名称**时,应优先使用 `充裕 / 吃紧 / 告急 / 未知`。
|
|
176
|
+
- `健康 / 警告 / 严重` 这类词只可作为解释性描述,不应再作为正式按钮文案、状态标签或规范对照译名。
|
|
177
|
+
- 英文文档在提到中文对应词时,应明确引用上述正式中文 UI 文案,避免自行译成其他近义词。
|
|
157
178
|
|
|
158
179
|
## 实现大纲
|
|
159
180
|
|
package/dist/docs/design.zh.md
CHANGED
|
@@ -136,13 +136,13 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
136
136
|
|
|
137
137
|
**2. 以任务为中心的专注架构**
|
|
138
138
|
|
|
139
|
-
-
|
|
139
|
+
- **中央差遣牒**:任务实时协调的公告板;目标/约束/进度的单一真实来源(关键决策与下一步必须写回 `progress`)
|
|
140
140
|
- **动态上下文窗口**:时间限制的上下文保留
|
|
141
141
|
- **基于优先级的信息过滤**:自动排名上下文相关性
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
术语:本文统一使用“差遣牒”指代任务契约与实时协调公告板;它不是个人草稿本。
|
|
144
144
|
|
|
145
|
-
###
|
|
145
|
+
### 差遣牒结构
|
|
146
146
|
|
|
147
147
|
```
|
|
148
148
|
差遣牒结构:
|
|
@@ -187,7 +187,7 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
187
187
|
```
|
|
188
188
|
触发:需要复杂的技术决策
|
|
189
189
|
新鲜会话:
|
|
190
|
-
-
|
|
190
|
+
- 加载差遣牒 + 技术要求
|
|
191
191
|
- 专注:"分析可行性并推荐方法"
|
|
192
192
|
- 输出:带有推理的清晰技术建议
|
|
193
193
|
```
|
|
@@ -197,7 +197,7 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
197
197
|
```
|
|
198
198
|
触发:需要新想法或解决方案
|
|
199
199
|
新鲜会话:
|
|
200
|
-
-
|
|
200
|
+
- 仅加载差遣牒 + 问题陈述
|
|
201
201
|
- 专注:"在不受约束偏见影响的情况下产生创新方法"
|
|
202
202
|
- 输出:带有理由的创意解决方案列表
|
|
203
203
|
```
|
|
@@ -207,7 +207,7 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
207
207
|
```
|
|
208
208
|
触发:需要验证当前方法
|
|
209
209
|
新鲜会话:
|
|
210
|
-
-
|
|
210
|
+
- 加载差遣牒 + 当前解决方案尝试
|
|
211
211
|
- 专注:"识别薄弱环节和改进机会"
|
|
212
212
|
- 输出:批判性分析和建议
|
|
213
213
|
```
|
|
@@ -304,7 +304,7 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
304
304
|
**新鲜度级别:**
|
|
305
305
|
|
|
306
306
|
1. **级别 0**:当前智能体状态
|
|
307
|
-
2. **级别 1**:干净智能体 +
|
|
307
|
+
2. **级别 1**:干净智能体 + 差遣牒(标准初心)
|
|
308
308
|
3. **级别 2**:完全重置的智能体,只有问题陈述
|
|
309
309
|
4. **级别 3**:具有不同训练重点的新智能体实例
|
|
310
310
|
|
|
@@ -318,7 +318,7 @@ Dominds 为 AI 智能体实现了**社会分工**——一种通过战略性心
|
|
|
318
318
|
|
|
319
319
|
**以任务为中心的新鲜会话:**
|
|
320
320
|
|
|
321
|
-
-
|
|
321
|
+
- 所有新鲜推理会话引用相同的中央差遣牒
|
|
322
322
|
- 确保多个专注推理尝试的一致性
|
|
323
323
|
- 允许认知重置的同时保持连续性线索
|
|
324
324
|
|
|
@@ -395,9 +395,9 @@ subdialogs_created: 1
|
|
|
395
395
|
status: 'completed'
|
|
396
396
|
```
|
|
397
397
|
|
|
398
|
-
###
|
|
398
|
+
### 差遣牒存储
|
|
399
399
|
|
|
400
|
-
|
|
400
|
+
差遣牒是独立存在的 rtws 工件,对话通过路径引用它们。实践上,差遣牒也是跨主线/跨智能体的**任务实时协调公告板**。差遣牒必须是封装的 `*.tsk/` 任务包。
|
|
401
401
|
|
|
402
402
|
```yaml
|
|
403
403
|
# 在 dialog.yaml 中
|
|
@@ -456,7 +456,7 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
456
456
|
4. 使用序列化的 DialogID 写入初始 `dialog.yaml` 元数据
|
|
457
457
|
5. 将 `latest.yaml` 初始化为 `currentCourse: 1`
|
|
458
458
|
6. 创建空的 `reminders.json`
|
|
459
|
-
7.
|
|
459
|
+
7. 设置差遣牒路径引用
|
|
460
460
|
|
|
461
461
|
### 消息持久化
|
|
462
462
|
|
|
@@ -472,7 +472,7 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
472
472
|
- `selfDlgId`:新生成的子对话 ID
|
|
473
473
|
- `rootDlgId`:从 supdialog 的 `rootDlgId` 继承
|
|
474
474
|
3. 在父级的 `subdialogs/` 下创建子对话目录(仅使用 `selfDlgId` 作为目录名)
|
|
475
|
-
4.
|
|
475
|
+
4. 从父级设置差遣牒路径引用
|
|
476
476
|
5. 在元数据中设置父调用上下文
|
|
477
477
|
6. 初始化子对话状态,元数据中仅存储 `selfDlgId`
|
|
478
478
|
7. 加载时基于目录结构重建完整的 `DialogID` 和 `rootDlgId`
|
|
@@ -36,7 +36,7 @@ A **supdialog** (short for "super dialog") is the supdialog in a hierarchical di
|
|
|
36
36
|
|
|
37
37
|
Note: **supdialog** is a structural parent in the dialog hierarchy. It is not the same as the **tellasker dialog** (the caller for the current Tellask). For TYPE A (`tellaskBack`), the tellasker dialog is the direct supdialog; for TYPE B/C, the tellasker dialog may be a different dialog.
|
|
38
38
|
|
|
39
|
-
A supdialog may receive **TellaskBack** from its subdialogs during their task execution. When a subdialog needs guidance or additional context, it can Tellask back via `tellaskBack({ tellaskContent: "..." })` (TYPE A / `TellaskBack`
|
|
39
|
+
A supdialog may receive **TellaskBack** from its subdialogs during their task execution. When a subdialog needs guidance or additional context, it can Tellask back via `tellaskBack({ tellaskContent: "..." })` (TYPE A / `TellaskBack`), which provides responses that feed back into the subdialog's context.
|
|
40
40
|
|
|
41
41
|
### Subdialog
|
|
42
42
|
|
|
@@ -152,13 +152,13 @@ This section documents the three distinct types of teammate Tellasks in the Domi
|
|
|
152
152
|
```mermaid
|
|
153
153
|
flowchart TD
|
|
154
154
|
M[LLM emits tellaskSessionless({ targetAgentId: "mention", tellaskContent: "..." })] --> Q{Is this a subdialog Tellasking its direct supdialog (tellasker dialog for TYPE A)?}
|
|
155
|
-
Q -- yes --> A[TYPE A: TellaskBack<br/>(`TellaskBack`
|
|
155
|
+
Q -- yes --> A[TYPE A: TellaskBack<br/>(`TellaskBack`)<br/>Primary: tellaskBack({ tellaskContent: "..." }) (NO sessionSlug)]
|
|
156
156
|
Q -- no --> T{Is sessionSlug present?}
|
|
157
|
-
T -- yes --> B[TYPE B: Registered subdialog Tellask<br/>(`Tellask Session` /
|
|
158
|
-
T -- no --> C[TYPE C: Transient subdialog Tellask<br/>(`Fresh Tellask` /
|
|
157
|
+
T -- yes --> B[TYPE B: Registered subdialog Tellask<br/>(`Tellask Session` / Registered Session Tellask)<br/>tellask({ targetAgentId: "agentId", sessionSlug: "tellaskSession", tellaskContent: "..." })]
|
|
158
|
+
T -- no --> C[TYPE C: Transient subdialog Tellask<br/>(`Fresh Tellask` / One-shot Tellask)<br/>tellaskSessionless({ targetAgentId: "agentId", tellaskContent: "..." })]
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
### TYPE A: TellaskBack (Type A / `TellaskBack`
|
|
161
|
+
### TYPE A: TellaskBack (Type A / `TellaskBack`)
|
|
162
162
|
|
|
163
163
|
**Primary syntax**: `tellaskBack({ tellaskContent: "..." })` (NO `sessionSlug`) — `tellaskBack({ tellaskContent: "..." }) sessionSlug ...` is a **syntax error**
|
|
164
164
|
|
|
@@ -185,7 +185,7 @@ flowchart TD
|
|
|
185
185
|
**Sideline delivery rule (normative)**:
|
|
186
186
|
|
|
187
187
|
- If a sideline dialog has completed all assigned goals and can deliver the final result, it MUST reply directly with the response body; do not use `tellaskBack` to send final delivery.
|
|
188
|
-
- Runtime treats that direct reply as the completion delivery to the tellasker dialog and injects
|
|
188
|
+
- Runtime treats that direct reply as the completion delivery to the tellasker dialog and injects the work-language marker automatically (`【Completed】` in English work language, and the localized Chinese completion marker in Chinese work language).
|
|
189
189
|
- If any goal is incomplete, the dialog is blocked, or critical context is missing, it MUST issue `tellaskBack({ tellaskContent: "..." })` to request clarification or next-step confirmation before proceeding.
|
|
190
190
|
- **FBR exception**: FBR sideline dialogs are tellask-free (no `tellaskBack`); they must list missing context and return.
|
|
191
191
|
|
|
@@ -193,9 +193,14 @@ flowchart TD
|
|
|
193
193
|
|
|
194
194
|
- Runtime builds a canonical inter-dialog transfer payload for teammate replies; this payload is delivered to target-agent context, and UI must show the same payload verbatim.
|
|
195
195
|
- First-line markers are runtime-injected into that transfer payload by semantics; agents must not hand-write them:
|
|
196
|
-
-
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
- English work language:
|
|
197
|
+
- Ask-back reply: `【TellaskBack】`
|
|
198
|
+
- Regular completed sideline reply: `【Completed】`
|
|
199
|
+
- FBR sideline reply: `【FBR-Direct Reply】` or `【FBR-Reasoning Only】`
|
|
200
|
+
- Chinese work language:
|
|
201
|
+
- Ask-back reply: `【TellaskBack】`
|
|
202
|
+
- Regular completed sideline reply: `【Completed】`
|
|
203
|
+
- FBR sideline reply: `【FBR-Direct Reply】` or `【FBR-Reasoning Only】`
|
|
199
204
|
- Source-dialog model raw is naturally preserved in source-dialog persistence; inter-dialog transfer must not rewrite or overwrite that source raw.
|
|
200
205
|
- Template-wrapped transfer is allowed: a model output from one dialog may be embedded into a runtime template and sent as the body to another dialog.
|
|
201
206
|
|
|
@@ -221,7 +226,7 @@ Result:
|
|
|
221
226
|
- sub-001 resumes with orchestrator's response
|
|
222
227
|
```
|
|
223
228
|
|
|
224
|
-
### TYPE B: Registered Subdialog Tellask (Type B / `Tellask Session` /
|
|
229
|
+
### TYPE B: Registered Subdialog Tellask (Type B / `Tellask Session` / Registered Session Tellask)
|
|
225
230
|
|
|
226
231
|
**Syntax**: `tellask({ targetAgentId: "<anyAgentId>", sessionSlug: "<tellaskSession>", tellaskContent: "..." })` (note the space before `sessionSlug`)
|
|
227
232
|
|
|
@@ -297,7 +302,7 @@ Result (second call):
|
|
|
297
302
|
- orchestrator resumes
|
|
298
303
|
```
|
|
299
304
|
|
|
300
|
-
### TYPE C: Transient Subdialog Tellask (Type C / `Fresh Tellask` /
|
|
305
|
+
### TYPE C: Transient Subdialog Tellask (Type C / `Fresh Tellask` / One-shot Tellask)
|
|
301
306
|
|
|
302
307
|
**Syntax**: `tellaskSessionless({ targetAgentId: "<nonSupdialogAgentId>", tellaskContent: "..." })` (NO `sessionSlug`)
|
|
303
308
|
|
|
@@ -965,12 +970,12 @@ interface RegistryMethods {
|
|
|
965
970
|
At the start of every subdialog course, the runtime must prepend a role header to the assignment prompt:
|
|
966
971
|
|
|
967
972
|
- EN: `You are the responder (tellaskee dialog) for this dialog; the tellasker dialog is @xxx (the current caller).`
|
|
968
|
-
-
|
|
973
|
+
- Chinese variant: see [the Chinese doc](./dialog-system.zh.md) for the corresponding work-language header.
|
|
969
974
|
|
|
970
975
|
**FBR special handling**: FBR is a self-subdialog and must keep a dedicated header to avoid confusion:
|
|
971
976
|
|
|
972
977
|
- EN (example): `This is an FBR sideline dialog; the tellasker dialog is @xxx (may be the same agent).`
|
|
973
|
-
-
|
|
978
|
+
- Chinese variant example: see [the Chinese doc](./dialog-system.zh.md) for the corresponding FBR header example.
|
|
974
979
|
|
|
975
980
|
**Insertion point**: prefer a single insertion point by updating `formatAssignmentFromSupdialog()` (covers `dialog.ts`, `tellask-bridge`).
|
|
976
981
|
Frontend twin must stay in sync: `dominds/webapp/src/shared/utils/inter-dialog-format.ts`.
|
|
@@ -1325,7 +1330,7 @@ sequenceDiagram
|
|
|
1325
1330
|
Sub-->>Sup: supply response (resume root)
|
|
1326
1331
|
```
|
|
1327
1332
|
|
|
1328
|
-
### 3. Registered Subdialog Tellask (TYPE B / `Tellask Session` /
|
|
1333
|
+
### 3. Registered Subdialog Tellask (TYPE B / `Tellask Session` / Registered Session Tellask)
|
|
1329
1334
|
|
|
1330
1335
|
```mermaid
|
|
1331
1336
|
sequenceDiagram
|