dominds 1.27.2 → 1.27.4
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/apps/runtime.js +3 -1
- package/dist/dialog-fork.js +2 -1
- package/dist/dialog-global-registry.d.ts +11 -1
- package/dist/dialog-global-registry.js +45 -0
- package/dist/dialog.d.ts +14 -5
- package/dist/dialog.js +114 -21
- package/dist/docs/daemon-cmd-runner.md +5 -0
- package/dist/docs/daemon-cmd-runner.zh.md +5 -0
- package/dist/llm/kernel-driver/drive.js +228 -49
- package/dist/llm/kernel-driver/fbr.d.ts +9 -0
- package/dist/llm/kernel-driver/fbr.js +186 -59
- package/dist/mcp/supervisor.js +4 -1
- package/dist/minds/load.js +1 -0
- package/dist/minds/system-prompt-parts.js +30 -30
- package/dist/persistence.js +83 -17
- package/dist/priming.js +2 -3
- package/dist/runtime/driver-messages.d.ts +9 -0
- package/dist/runtime/driver-messages.js +103 -33
- package/dist/runtime/shared-reminder-update-impact.d.ts +20 -0
- package/dist/runtime/shared-reminder-update-impact.js +110 -0
- package/dist/shared-reminders.js +2 -2
- package/dist/tool-availability.js +1 -0
- package/dist/tool.d.ts +7 -4
- package/dist/tool.js +10 -4
- package/dist/tools/app-reminders.js +4 -3
- package/dist/tools/builtins.js +2 -0
- package/dist/tools/cmd-runner-protocol.d.ts +6 -0
- package/dist/tools/cmd-runner-protocol.js +57 -2
- package/dist/tools/cmd-runner.js +83 -2
- package/dist/tools/ctrl.d.ts +2 -0
- package/dist/tools/ctrl.js +183 -6
- package/dist/tools/os.js +115 -14
- package/dist/tools/pending-tellask-reminder.js +1 -0
- package/dist/tools/process-kill.js +49 -0
- package/dist/tools/prompts/control/en/errors.md +1 -1
- package/dist/tools/prompts/control/en/index.md +4 -4
- package/dist/tools/prompts/control/en/principles.md +22 -21
- package/dist/tools/prompts/control/en/scenarios.md +10 -3
- package/dist/tools/prompts/control/en/tools.md +28 -5
- package/dist/tools/prompts/control/zh/errors.md +1 -1
- package/dist/tools/prompts/control/zh/index.md +4 -4
- package/dist/tools/prompts/control/zh/principles.md +21 -20
- package/dist/tools/prompts/control/zh/scenarios.md +10 -3
- package/dist/tools/prompts/control/zh/tools.md +28 -5
- package/dist/tools/prompts/os/en/tools.md +2 -0
- package/dist/tools/prompts/os/zh/tools.md +2 -0
- package/package.json +4 -4
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
Reminders are temporary current-work notes with three scopes:
|
|
31
31
|
|
|
32
32
|
- `dialog`: current-dialog only
|
|
33
|
-
- `task`: visible
|
|
34
|
-
- `agent`: visible in
|
|
33
|
+
- `task`: visible across dialogs for the current Taskdoc
|
|
34
|
+
- `agent`: visible in later dialogs you lead, but only for urgent, short-lived, globally visible cues
|
|
35
35
|
|
|
36
36
|
Default to `task`. Use `dialog` only when the note is truly dialog-local; use `agent` only when the note is urgent, short-lived, and globally visible.
|
|
37
37
|
|
|
@@ -39,15 +39,15 @@ Default to `task`. Use `dialog` only when the note is truly dialog-local; use `a
|
|
|
39
39
|
|
|
40
40
|
- `dialog` reminders stay in the current dialog only
|
|
41
41
|
- `task` reminders stay visible under the current Taskdoc
|
|
42
|
-
- `agent` reminders stay visible in
|
|
42
|
+
- `agent` reminders stay visible in later dialogs you lead
|
|
43
43
|
- Can be added, modified, or deleted at any time
|
|
44
44
|
- Should stay compact, scannable, and directly actionable by default
|
|
45
|
-
- Before `clear_mind`,
|
|
45
|
+
- Before `clear_mind`, first state this dialog task goal in a current-dialog scoped (`scope=dialog`) continuation-package reminder. A Main Dialog records only discussion facts that other dialogs/teammates sharing the same Taskdoc truly need to know into Taskdoc, then keeps resume-critical details for this dialog in `dialog` reminders; a Side Dialog directly maintains sufficiently detailed `dialog` continuation-package reminders. If Dominds has already warned that context is tight or critical, Side Dialog reminders have no fixed length limit and rough multi-reminder carry-over is acceptable
|
|
46
46
|
|
|
47
47
|
**Difference from memory:**
|
|
48
48
|
| Feature | dialog reminder | task reminder | agent reminder | personal memory |
|
|
49
49
|
|---------|-----------------|---------------|----------------|-----------------|
|
|
50
|
-
| Persistence | Current dialog only | Current Taskdoc | Across
|
|
50
|
+
| Persistence | Current dialog only | Current Taskdoc | Across later dialogs you lead | Long-term / file-backed |
|
|
51
51
|
| Visibility | Current dialog | Current-task dialogs | Current Dialog Responder | Current agent |
|
|
52
52
|
| Best for | Current next step, blocker, volatile clue | Current work under one task | Urgent, short-lived, global cue | Stable facts / reusable knowledge |
|
|
53
53
|
|
|
@@ -61,7 +61,7 @@ Default to `task`. Use `dialog` only when the note is truly dialog-local; use `a
|
|
|
61
61
|
- current blockers
|
|
62
62
|
- temporary paths, ids, commands, sample inputs
|
|
63
63
|
- bridge notes that matter only for this dialog / current course
|
|
64
|
-
- Use `agent` only for urgent, short-lived, globally visible cues that should appear
|
|
64
|
+
- Use `agent` only for urgent, short-lived, globally visible cues that should appear across dialogs you lead.
|
|
65
65
|
- If the content is a durable fact or knowledge asset rather than an active current-work cue, it likely belongs in `personal_memory`, not in any reminder scope.
|
|
66
66
|
|
|
67
67
|
### 2. Taskdoc
|
|
@@ -85,16 +85,17 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
|
|
|
85
85
|
|
|
86
86
|
## Tool Overview
|
|
87
87
|
|
|
88
|
-
| Tool
|
|
89
|
-
|
|
|
90
|
-
| add_reminder
|
|
91
|
-
| delete_reminder
|
|
92
|
-
| update_reminder
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
88
|
+
| Tool | Function |
|
|
89
|
+
| ---------------- | ------------------------------------------------ |
|
|
90
|
+
| add_reminder | Add reminder |
|
|
91
|
+
| delete_reminder | Delete reminder |
|
|
92
|
+
| update_reminder | Update reminder content |
|
|
93
|
+
| migrate_reminder | Move an over-shared reminder back to this dialog |
|
|
94
|
+
| do_mind | Create new Taskdoc section |
|
|
95
|
+
| mind_more | Append entries to Taskdoc (defaults to progress) |
|
|
96
|
+
| change_mind | Replace existing Taskdoc section |
|
|
97
|
+
| never_mind | Delete Taskdoc section file |
|
|
98
|
+
| recall_taskdoc | Read taskdoc chapter |
|
|
98
99
|
|
|
99
100
|
## Inter-dialog Reply Routing
|
|
100
101
|
|
|
@@ -123,9 +124,9 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
|
|
|
123
124
|
|
|
124
125
|
- **Current work**: next step, blockers, key pointers
|
|
125
126
|
- **Easy-to-lose details**: temporary paths, ids, commands, sample inputs
|
|
126
|
-
- **Course transition**: continuation-package notes before `clear_mind
|
|
127
|
+
- **Course transition**: current-dialog scoped (`scope=dialog`) continuation-package notes before `clear_mind`; they must state this dialog task goal, including rough multi-reminder carry-over when already degraded
|
|
127
128
|
- **Task carry-over**: if you should keep seeing the note under the current Taskdoc, use `task`
|
|
128
|
-
- **Global urgent cue**: if you should keep seeing it
|
|
129
|
+
- **Global urgent cue**: if you should keep seeing it across later dialogs you lead, and it is urgent, short-lived, and globally visible, use `agent`
|
|
129
130
|
|
|
130
131
|
### 2. Taskdoc Update Timing
|
|
131
132
|
|
|
@@ -140,7 +141,7 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
|
|
|
140
141
|
- Do not duplicate system state: background process status, in-flight background asks/collaboration, browser/session attachment state, and similar environment state automatically maintained by Dominds do not belong in manual reminders. Dominds-managed reminders, panels, and tool outputs are the authoritative place for that state; manual copies go stale easily and create cognitive noise
|
|
141
142
|
- Team-facing: keep `progress` scannable and centered on what is still effective now; do not let it degrade into a personal log, raw chronology, scratchpad, or stale history pile. Use `mind_more` for small additions; when cleanup/reordering/compression is needed, call `recall_taskdoc` first and then use `change_mind` with the returned `content_hash` as `previous_content_hash`
|
|
142
143
|
- Condense when needed: `mind_more` is not the default bookkeeping move. If one topic already has several phase notes, prefer `change_mind` to merge them into the current summary; put the detailed expansion in formal rtws documentation and keep a document pointer in Taskdoc. If the replacement would overwrite existing content, proceed only with direct human confirmation or after applying a human-approved SOP/acceptance standard that considers the existing content
|
|
143
|
-
- Collapse before clearing: the Main Dialog first
|
|
144
|
+
- Collapse before clearing: the Main Dialog first states this dialog task goal in a `scope=dialog` continuation-package reminder, then writes only facts that other dialogs/teammates sharing the same Taskdoc truly need into the appropriate Taskdoc sections, and keeps resume-critical details for this dialog in `dialog` reminders; a Side Dialog must not maintain Taskdoc or draft Taskdoc update proposals, and should directly maintain sufficiently detailed `dialog` continuation-package reminders. If Dominds has already warned that context is tight or critical, rough multi-reminder carry-over is acceptable; once the new course starts, continue this dialog from the task goal in `scope=dialog` reminders before reconciling
|
|
144
145
|
- Avoid raw-material dumps: do not paste long logs or large tool outputs into reminders
|
|
145
146
|
- Documentation layering: Taskdoc says “what the team should sync on / do next now”; formal rtws documentation carries “why, how, detailed evidence, and the full process”. When Taskdoc references formal rtws documentation, use a stable path/section name/relevant command instead of copying the full content
|
|
146
147
|
|
|
@@ -161,8 +162,8 @@ Taskdoc is a **task contract** and the task's **team-shared source of current tr
|
|
|
161
162
|
|
|
162
163
|
## Limitations and Notes
|
|
163
164
|
|
|
164
|
-
1. `dialog` reminders end with the dialog; `task` reminders stay visible under the current Taskdoc; `agent` reminders stay visible in
|
|
165
|
+
1. `dialog` reminders end with the dialog; `task` reminders stay visible under the current Taskdoc; `agent` reminders stay visible in later dialogs you lead
|
|
165
166
|
2. Use `do_mind` to create missing Taskdoc sections; use `mind_more` for small Taskdoc additions; use `change_mind` for full-section replacement of existing sections only after merging existing content and calling `recall_taskdoc` for the current `content_hash`; use `never_mind` when a whole section file should be deleted. Do not treat `mind_more` as a chronology tool; when cleanup, stale-entry removal, or same-topic consolidation is needed, use `recall_taskdoc` then `change_mind`
|
|
166
167
|
3. `do_mind` / `mind_more` / `change_mind` / `never_mind` do not start a new course
|
|
167
|
-
4. A continuation-package reminder
|
|
168
|
+
4. A continuation-package reminder must be current-dialog scoped (`scope=dialog`) and state this dialog task goal. In the Main Dialog, write only facts that other dialogs/teammates sharing the same Taskdoc truly need into Taskdoc, while reminders keep details still not covered by Taskdoc but easy to lose when resuming this dialog; in a Side Dialog after Dominds warns that context is tight or critical, maintain sufficiently detailed `dialog` continuation-package reminders only
|
|
168
169
|
5. Do not turn `task` / `agent` reminders into a long-term fact dump; move durable knowledge into `personal_memory`
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
### Scenario Description
|
|
17
17
|
|
|
18
|
-
Use reminders for the current task's current work: next steps, blockers, and volatile details that are not meant to become the team's Taskdoc bulletin board.
|
|
18
|
+
Use reminders for the current task's current work: next steps, blockers, and volatile details that are not meant to become the team's Taskdoc bulletin board. A continuation package prepared before `clear_mind` is resume state for the current dialog, so it must explicitly use `scope=dialog` and state this dialog task goal.
|
|
19
19
|
|
|
20
20
|
### Example
|
|
21
21
|
|
|
@@ -31,6 +31,13 @@ add_reminder({
|
|
|
31
31
|
scope: 'dialog',
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
// clear_mind continuation packages must explicitly use dialog and state this dialog task goal
|
|
35
|
+
add_reminder({
|
|
36
|
+
content:
|
|
37
|
+
'Continuation goal: keep reviewing control-manual course-transition guidance; next check whether scenarios/index still imply task scope for continuation packages',
|
|
38
|
+
scope: 'dialog',
|
|
39
|
+
});
|
|
40
|
+
|
|
34
41
|
// Use agent only for urgent, short-lived, globally visible cues
|
|
35
42
|
add_reminder({
|
|
36
43
|
content: 'Urgent: confirm human authorization before deleting any external resource',
|
|
@@ -51,8 +58,8 @@ delete_reminder({
|
|
|
51
58
|
|
|
52
59
|
### Key Points
|
|
53
60
|
|
|
54
|
-
- Default to `task` for next steps, temporary blockers, and
|
|
55
|
-
- Use `dialog` only for notes that are truly local to the current dialog
|
|
61
|
+
- Default to `task` for ordinary next steps, temporary blockers, and current-work details under the same Taskdoc
|
|
62
|
+
- Use `dialog` only for notes that are truly local to the current dialog; continuation packages before `clear_mind` must explicitly use `scope=dialog` and state this dialog task goal
|
|
56
63
|
- Use `agent` only for urgent, short-lived, globally visible cues
|
|
57
64
|
- If the information should synchronize the whole team's current effective state, put it in Taskdoc `progress` instead
|
|
58
65
|
- If the note is durable knowledge rather than an active current-work cue, move it to `personal_memory` instead
|
|
@@ -45,7 +45,7 @@ Add reminder.
|
|
|
45
45
|
Use when:
|
|
46
46
|
|
|
47
47
|
- Adding a new temporary current-work item
|
|
48
|
-
- Before `clear_mind`,
|
|
48
|
+
- Before `clear_mind`, first state this dialog task goal in a current-dialog scoped (`scope=dialog`) continuation-package reminder. A Main Dialog records only discussion facts that other dialogs/teammates sharing the same Taskdoc truly need to know into Taskdoc, then keeps resume-critical details for this dialog in `dialog` reminders; a Side Dialog directly maintains sufficiently detailed `dialog` continuation-package reminders. When Dominds has already warned that context is tight or critical, Side Dialog reminders have no fixed length limit and rough bridge notes are acceptable
|
|
49
49
|
- Record only manually maintained current-work / continuation details; do not put environment state automatically maintained by Dominds, such as background process status, in-flight background asks, or session attachment state, into manual reminders
|
|
50
50
|
|
|
51
51
|
**Parameters:**
|
|
@@ -112,7 +112,30 @@ updated_at: <update timestamp>
|
|
|
112
112
|
|
|
113
113
|
- `REMINDER_NOT_FOUND`: Reminder id does not exist
|
|
114
114
|
|
|
115
|
-
### 4.
|
|
115
|
+
### 4. migrate_reminder
|
|
116
|
+
|
|
117
|
+
Move a visible shared reminder back into the current dialog scope.
|
|
118
|
+
|
|
119
|
+
Use when:
|
|
120
|
+
|
|
121
|
+
- You just updated a task/agent shared reminder and then realize the new content belongs only to this dialog
|
|
122
|
+
- Dominds warned that the shared update affected same-agent parallel dialogs and you need to withdraw it from those dialogs
|
|
123
|
+
|
|
124
|
+
**Parameters:**
|
|
125
|
+
|
|
126
|
+
- `reminder_id` (required): Reminder id
|
|
127
|
+
- `scope` (required): Must be `dialog`
|
|
128
|
+
|
|
129
|
+
**Example:**
|
|
130
|
+
|
|
131
|
+
```js
|
|
132
|
+
migrate_reminder({
|
|
133
|
+
reminder_id: 'abc123de',
|
|
134
|
+
scope: 'dialog',
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 5. clear_mind
|
|
116
139
|
|
|
117
140
|
Start a new dialog course.
|
|
118
141
|
|
|
@@ -359,8 +382,8 @@ message: <error message>
|
|
|
359
382
|
## Reminder Content Guidance
|
|
360
383
|
|
|
361
384
|
- Normal reminders should stay concise, fresh, and directly actionable; often 1-3 items total
|
|
362
|
-
- For a continuation package, use
|
|
363
|
-
- If Dominds has already warned that context is tight or critical: the Main Dialog first records
|
|
364
|
-
- Keep only details still not covered by Taskdoc; do not repeat team-shared status. If the team needs “where we are now / which decisions are in effect / what is next / which blockers still hold”, write it back to Taskdoc `progress`
|
|
385
|
+
- For a continuation package, explicitly use `scope=dialog` and structure notes by default: current dialog task goal, next step, key pointers, run/verify, easy-to-lose volatile details
|
|
386
|
+
- If Dominds has already warned that context is tight or critical: the Main Dialog first states this dialog goal in a `dialog` continuation-package reminder, then records only facts that other dialogs/teammates sharing the same Taskdoc truly need into the appropriate Taskdoc sections, and finally keeps necessary resume-critical details for this dialog in continuation-package reminders; a Side Dialog must not maintain Taskdoc or draft Taskdoc update proposals, and should directly maintain sufficiently detailed `dialog` continuation-package reminders with no fixed length limit. Rough multi-reminder bridge notes are acceptable; once the new course starts, continue this dialog from the task goal in `scope=dialog` reminders before reconciling
|
|
387
|
+
- Keep only details still not covered by Taskdoc but easy to lose when resuming this dialog; do not repeat team-shared status. If the team needs “where we are now / which decisions are in effect / what is next / which blockers still hold”, write it back to Taskdoc `progress`
|
|
365
388
|
- Do not manually record environment state automatically maintained by Dominds, such as whether background processes are still running, in-flight background asks/collaboration, or browser/session attachment state. Manual copies go stale easily and conflict with the Dominds-managed status, creating cognitive noise
|
|
366
389
|
- Do not paste long logs, large tool outputs, or raw material into reminders
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
|
|
74
74
|
### Q: `dialog` / `task` / `agent` 提醒和 memory 有什么区别?
|
|
75
75
|
|
|
76
|
-
A: `dialog` 提醒只用于当前对话的手头工作;`task` 提醒用于同一差遣牒任务内的手头工作,也是 `add_reminder` 默认范围;`agent`
|
|
76
|
+
A: `dialog` 提醒只用于当前对话的手头工作;`task` 提醒用于同一差遣牒任务内的手头工作,也是 `add_reminder` 默认范围;`agent` 提醒会在由你主理的后续对话里继续可见,只适合紧急、短期、全局刺眼提醒。它们都不是长期知识库。`personal_memory` 用于保存持久稳定事实和可复用知识;如果信息需要向全队同步当前有效状态、关键决策、下一步或仍成立阻塞,应写入 Taskdoc `progress`,而不是提醒项。
|
|
77
77
|
|
|
78
78
|
### Q: `dialog`、`task` 和 `agent` 怎么选?
|
|
79
79
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
control 是 Dominds 的**对话控制工具集**,用于管理对话状态、提醒、差遣牒,以及跨对话回复收口语义:
|
|
28
28
|
|
|
29
|
-
- **提醒管理**:提醒分 `dialog` / `task` / `agent` 三个 scope;默认是 `task
|
|
29
|
+
- **提醒管理**:提醒分 `dialog` / `task` / `agent` 三个 scope;默认是 `task`,用于同一差遣牒任务下的普通手头工作;`dialog` 用于真正对话局部的提醒,准备 `clear_mind` 的接续包必须显式 `scope=dialog` 并写明本路对话任务目标;`agent` 只用于紧急、短期、全局刺眼提醒
|
|
30
30
|
- **差遣牒操作**:追加、替换或删除任务契约章节(goals/constraints/progress);其中 `progress` 是全队共享、准实时、可扫读的任务公告牌
|
|
31
31
|
- **上下文维护**:在不丢关键恢复线索的前提下降低认知负载
|
|
32
32
|
- **回复路由**:在支线/回问语境下,区分回问诉请者、发送最终回贴与普通文本的职责边界
|
|
@@ -56,15 +56,15 @@ control 是 Dominds 的**对话控制工具集**,用于管理对话状态、
|
|
|
56
56
|
- 标记待处理事项
|
|
57
57
|
- 追踪当前下一步/阻塞
|
|
58
58
|
- 记录阻塞问题
|
|
59
|
-
- 在 `clear_mind`
|
|
59
|
+
- 在 `clear_mind` 前承载当前对话范围的接续包;若 Dominds 已提醒当前程吃紧/告急,可先带多条粗略提醒项过桥
|
|
60
60
|
|
|
61
61
|
提醒不用于手工复制 Dominds 会自动维护的系统状态,例如后台进程状态、后台进行中诉请/协作、浏览器/会话附件状态等。这些状态以 Dominds 自动维护的提醒、面板和工具输出为准;手工记录很容易过时并造成认知干扰。
|
|
62
62
|
|
|
63
63
|
scope 规则:
|
|
64
64
|
|
|
65
|
-
- `dialog
|
|
65
|
+
- `dialog`:当前对话手头工作;准备 `clear_mind` 的接续包必须显式使用这个范围,并写明本路对话任务目标
|
|
66
66
|
- `task`:当前差遣牒任务下的手头工作,默认范围
|
|
67
|
-
- `agent
|
|
67
|
+
- `agent`:在由你主理的后续对话里也应继续看到的紧急、短期、全局刺眼提醒
|
|
68
68
|
|
|
69
69
|
### 差遣牒
|
|
70
70
|
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
提醒是临时手头工作提示,但现在分成三个 scope:
|
|
31
31
|
|
|
32
32
|
- `dialog`:仅当前对话可见
|
|
33
|
-
- `task
|
|
34
|
-
- `agent
|
|
33
|
+
- `task`:当前差遣牒任务内跨对话可见
|
|
34
|
+
- `agent`:由你主理的后续对话会继续看到,但只用于紧急、短期、全局刺眼提醒
|
|
35
35
|
|
|
36
36
|
默认用 `task`。只有当这条提醒只对当前对话局部有效时,才降到 `dialog`;只有当它是紧急、短期、全局刺眼提醒时,才升到 `agent`。
|
|
37
37
|
|
|
@@ -39,15 +39,15 @@
|
|
|
39
39
|
|
|
40
40
|
- `dialog` 提醒只留在当前对话
|
|
41
41
|
- `task` 提醒会在当前差遣牒任务内继续可见
|
|
42
|
-
- `agent`
|
|
42
|
+
- `agent` 提醒会在由你主理的后续对话里继续可见
|
|
43
43
|
- 可随时添加、修改、删除
|
|
44
44
|
- 默认应保持少量、可扫读、可直接指导下一步
|
|
45
|
-
- 准备 `clear_mind`
|
|
45
|
+
- 准备 `clear_mind` 时,必须先用当前对话范围(`scope=dialog`)接续包提醒项写明本路对话任务目标;主线对话只把确需同一差遣牒其它对话/队友知会的讨论事实补进差遣牒,再把恢复本路对话容易丢的信息留在 `dialog` 提醒项;支线对话直接维护足够详尽的 `dialog` 接续包提醒项。若 Dominds 已提醒上下文吃紧/告急,支线提醒项没有固定长度限制,也可先保留多条粗略提醒项过桥
|
|
46
46
|
|
|
47
47
|
**与 memory 的区别:**
|
|
48
48
|
| 特性 | dialog reminder | task reminder | agent reminder | personal memory |
|
|
49
49
|
|------|-----------------|---------------|----------------|-----------------|
|
|
50
|
-
| 持久性 | 仅当前对话 | 当前差遣牒任务 |
|
|
50
|
+
| 持久性 | 仅当前对话 | 当前差遣牒任务 | 跨由你主理的后续对话 | 长期 / 文件持久化 |
|
|
51
51
|
| 可见性 | 当前对话 | 当前任务相关对话 | 你当前可见的提醒范围 | 当前智能体 |
|
|
52
52
|
| 最适合 | 当前下一步、阻塞、易丢线索 | 同一任务下的手头工作 | 紧急、短期、全局刺眼提醒 | 稳定事实 / 可复用知识 |
|
|
53
53
|
|
|
@@ -84,16 +84,17 @@
|
|
|
84
84
|
|
|
85
85
|
## 工具概览
|
|
86
86
|
|
|
87
|
-
| 工具
|
|
88
|
-
|
|
|
89
|
-
| add_reminder
|
|
90
|
-
| delete_reminder
|
|
91
|
-
| update_reminder
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
87
|
+
| 工具 | 功能 |
|
|
88
|
+
| ---------------- | --------------------------------- |
|
|
89
|
+
| add_reminder | 添加提醒 |
|
|
90
|
+
| delete_reminder | 删除提醒 |
|
|
91
|
+
| update_reminder | 更新提醒内容 |
|
|
92
|
+
| migrate_reminder | 将误扩散的共享提醒迁回当前对话 |
|
|
93
|
+
| do_mind | 创建新差遣牒章节 |
|
|
94
|
+
| mind_more | 向差遣牒追加条目(默认 progress) |
|
|
95
|
+
| change_mind | 整章替换已有差遣牒章节 |
|
|
96
|
+
| never_mind | 删除差遣牒章节文件 |
|
|
97
|
+
| recall_taskdoc | 读取差遣牒章节 |
|
|
97
98
|
|
|
98
99
|
## 跨对话回复路由
|
|
99
100
|
|
|
@@ -122,9 +123,9 @@
|
|
|
122
123
|
|
|
123
124
|
- **当前手头工作**:当前下一步、阻塞、关键定位信息
|
|
124
125
|
- **易丢细节**:临时路径、id、命令、样例输入
|
|
125
|
-
- **换程接续**:在 `clear_mind`
|
|
126
|
+
- **换程接续**:在 `clear_mind` 前整理当前对话范围(`scope=dialog`)接续包,必须写明本路对话任务目标;若 Dominds 已提醒当前程吃紧/告急,可先保留多条粗略提醒项
|
|
126
127
|
- **任务延续提示**:如果在当前差遣牒任务内都应该继续看到它,用 `task`
|
|
127
|
-
-
|
|
128
|
+
- **全局刺眼提示**:如果它应该在由你主理的后续对话里继续看到,而且是短期、紧急、全局刺眼提醒,用 `agent`
|
|
128
129
|
|
|
129
130
|
### 2. 差遣牒更新时机
|
|
130
131
|
|
|
@@ -139,7 +140,7 @@
|
|
|
139
140
|
- 避免重复系统状态:后台进程状态、后台进行中诉请/协作、浏览器/会话附件状态等 Dominds 会自动维护的信息,不要写进手工提醒项;这些状态以 Dominds 自动维护的提醒、面板和工具输出为准,手工副本容易过时并造成认知干扰
|
|
140
141
|
- 面向全队:`progress` 应保持可扫读、以“当前仍有效”为准,不要退化成个人日志、流水账、临时便签或历史残影堆积;少量新增用 `mind_more`,需要清旧/重排/压缩时先调用 `recall_taskdoc`,再用 `change_mind` 并携带返回的 `content_hash` 作为 `previous_content_hash`
|
|
141
142
|
- 按需整理:`mind_more` 不是默认记账动作。若同一主题已有多条阶段性记录,优先用 `change_mind` 合并成当前摘要;把细节放进 rtws 正式文档,并在差遣牒里保留文档定位 pointer。若会冲掉原有内容,必须有直接人类确认,或已按人类认可 SOP/验收标准充分考虑原有内容后再改写
|
|
142
|
-
-
|
|
143
|
+
- 换程前收束:主线对话先用 `scope=dialog` 接续包提醒项写明本路对话任务目标,再把确需同一差遣牒其它对话/队友知会的讨论事实写入差遣牒合适章节,最后把恢复本路对话容易丢的信息留在 `dialog` 提醒项;支线对话不要维护差遣牒,也不要整理差遣牒更新提案,直接维护足够详尽的 `dialog` 接续包提醒项。若 Dominds 已提醒上下文吃紧/告急,则先保留多条粗略提醒项过桥也可以;当前程只做保信息 + `clear_mind`,Dominds 真正开启新一程后第一步按 `scope=dialog` 提醒项里的任务目标继续本路对话,再收敛
|
|
143
144
|
- 拒绝原料堆积:不要把长日志/大段 tool output 直接塞进提醒项
|
|
144
145
|
- 文档分层:差遣牒写“现在应如何同步/推进”,正式文档写“为什么、怎么做、详细证据和完整过程”。差遣牒需要引用正式文档时,写稳定路径/章节名/相关命令,而不是复制整段内容
|
|
145
146
|
|
|
@@ -160,8 +161,8 @@
|
|
|
160
161
|
|
|
161
162
|
## 限制与注意事项
|
|
162
163
|
|
|
163
|
-
1. `dialog` 提醒会随对话结束而结束;`task` 提醒会在当前差遣牒任务内继续可见;`agent`
|
|
164
|
+
1. `dialog` 提醒会随对话结束而结束;`task` 提醒会在当前差遣牒任务内继续可见;`agent` 提醒会在由你主理的后续对话里继续可见
|
|
164
165
|
2. 缺失差遣牒章节用 `do_mind` 创建;差遣牒少量新增可用 `mind_more` 追加;已有章节整段替换用 `change_mind`,请确保合并已有内容,并先调用 `recall_taskdoc` 取得当前 `content_hash` 作为 `previous_content_hash`;确需删除整章文件时用 `never_mind`。不要把 `mind_more` 当流水账工具;需要整理、去旧、合并同主题记录时先 `recall_taskdoc` 再 `change_mind`
|
|
165
166
|
3. `do_mind` / `mind_more` / `change_mind` / `never_mind` 不开启新 course
|
|
166
|
-
4.
|
|
167
|
+
4. 接续包提醒项必须是当前对话范围(`scope=dialog`)并写明本路任务目标;主线对话只把确需同一差遣牒其它对话/队友知会的事实写入差遣牒,提醒项保留差遣牒仍未覆盖、但恢复本路对话容易丢的细节;支线对话在吃紧/告急时只维护足够详尽的 `dialog` 接续包提醒项
|
|
167
168
|
5. 不要把 `task` / `agent` 提醒堆成长期事实仓库;耐久知识应迁到 `personal_memory`
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
### 场景描述
|
|
17
17
|
|
|
18
|
-
使用 reminders
|
|
18
|
+
使用 reminders 承接当前任务的手头工作:下一步、临时阻塞、易丢细节,而不是把它写成面向全队同步的 Taskdoc 公告牌。准备 `clear_mind` 的接续包是当前对话恢复线索,必须显式 `scope=dialog` 并写明本路对话任务目标。
|
|
19
19
|
|
|
20
20
|
### 示例
|
|
21
21
|
|
|
@@ -31,6 +31,13 @@ add_reminder({
|
|
|
31
31
|
scope: 'dialog',
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
// clear_mind 接续包必须显式 dialog,并写明当前这一路对话的任务目标
|
|
35
|
+
add_reminder({
|
|
36
|
+
content:
|
|
37
|
+
'接续目标:继续复核 control 手册换程引导;下一步先检查 scenarios/index 是否还把接续包暗示成 task',
|
|
38
|
+
scope: 'dialog',
|
|
39
|
+
});
|
|
40
|
+
|
|
34
41
|
// 只有紧急、短期、全局刺眼提醒,才写成 agent
|
|
35
42
|
add_reminder({
|
|
36
43
|
content: '紧急:在删除任何外部资源前必须先向用户确认授权',
|
|
@@ -51,8 +58,8 @@ delete_reminder({
|
|
|
51
58
|
|
|
52
59
|
### 关键点
|
|
53
60
|
|
|
54
|
-
-
|
|
55
|
-
- 真正只对当前对话有效的提醒才用 `dialog`
|
|
61
|
+
- 同一差遣牒任务内的普通下一步、临时阻塞、手头细节默认用 `task`
|
|
62
|
+
- 真正只对当前对话有效的提醒才用 `dialog`;准备 `clear_mind` 的接续包必须显式 `scope=dialog`,并写明本路对话任务目标
|
|
56
63
|
- 只有紧急、短期、全局刺眼提醒才用 `agent`
|
|
57
64
|
- 如果信息需要向全队同步当前有效状态、关键决策、下一步或仍成立阻塞,应写入 Taskdoc `progress`
|
|
58
65
|
- 如果内容本质上是长期知识而不是当前手头工作提示,应改存到 `personal_memory`
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
**适用:**
|
|
46
46
|
|
|
47
47
|
- 添加新的临时手头工作条目
|
|
48
|
-
- 若准备 `clear_mind
|
|
48
|
+
- 若准备 `clear_mind`,必须用 `scope=dialog` 接续包提醒项写明本路对话任务目标;主线对话只把确需同一差遣牒其它对话/队友知会的讨论事实补进差遣牒,再保留恢复本路对话容易丢的信息;支线对话直接维护足够详尽的 `dialog` 接续包提醒项。若 Dominds 已提醒上下文吃紧/告急,支线提醒项没有固定长度限制,先记粗略过桥信息也可以
|
|
49
49
|
- 只记录需要你手工维护的手头工作/接续细节;不要在手工提醒项里记录后台进程状态、后台进行中诉请、会话附件状态等 Dominds 会自动维护的信息
|
|
50
50
|
|
|
51
51
|
**参数:**
|
|
@@ -112,7 +112,30 @@ updated_at: <更新时间戳>
|
|
|
112
112
|
|
|
113
113
|
- `REMINDER_NOT_FOUND`:提醒 id 不存在
|
|
114
114
|
|
|
115
|
-
### 4.
|
|
115
|
+
### 4. migrate_reminder
|
|
116
|
+
|
|
117
|
+
把当前可见的共享 reminder 迁回当前对话范围。
|
|
118
|
+
|
|
119
|
+
**适用:**
|
|
120
|
+
|
|
121
|
+
- 你刚更新 task/agent 共享提醒项后,发现新内容其实只属于当前对话
|
|
122
|
+
- Dominds 已提醒这次共享更新影响了同智能体并行对话,需要从其它并行对话撤下
|
|
123
|
+
|
|
124
|
+
**参数:**
|
|
125
|
+
|
|
126
|
+
- `reminder_id`(必需):提醒 id
|
|
127
|
+
- `scope`(必需):只能是 `dialog`
|
|
128
|
+
|
|
129
|
+
**示例:**
|
|
130
|
+
|
|
131
|
+
```js
|
|
132
|
+
migrate_reminder({
|
|
133
|
+
reminder_id: 'abc123de',
|
|
134
|
+
scope: 'dialog',
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 5. clear_mind
|
|
116
139
|
|
|
117
140
|
开启新一程对话。
|
|
118
141
|
|
|
@@ -352,8 +375,8 @@ message: <错误消息>
|
|
|
352
375
|
## 提醒项内容建议
|
|
353
376
|
|
|
354
377
|
- 默认提醒项应保持短、新、能直接指导下一步,常见 1–3 条
|
|
355
|
-
-
|
|
356
|
-
- 若 Dominds
|
|
357
|
-
-
|
|
378
|
+
- 若用于接续包,必须显式 `scope=dialog`,并默认优先结构化内容:当前对话任务目标、下一步行动、关键定位、运行/验证、容易丢的临时细节
|
|
379
|
+
- 若 Dominds 已提醒上下文吃紧/告急:主线对话先用 `dialog` 接续包提醒项写明本路目标,再把确需同一差遣牒其它对话/队友知会的讨论事实写入差遣牒合适章节,最后保留恢复本路对话必要的接续包提醒项;支线对话不要维护差遣牒,也不要整理差遣牒更新提案,直接维护足够详尽的 `dialog` 接续包提醒项,没有固定长度限制;多条粗略提醒项也可以,Dominds 真正开启新一程后第一步按 `scope=dialog` 提醒项里的任务目标继续本路对话,再收敛整理
|
|
380
|
+
- 接续包只保留差遣牒仍未覆盖、但恢复本路对话容易丢的细节;不要重复团队共享状态。要向全队同步“现在到哪了 / 哪些决策已生效 / 下一步是什么 / 哪些阻塞仍成立”,请写回 Taskdoc `progress`
|
|
358
381
|
- 不要手工记录 Dominds 会自动维护的系统状态,例如后台进程是否仍在运行、后台进行中的诉请/协作、浏览器/会话附件状态等;手工记录很容易过时,并与 Dominds 自动维护的状态冲突,造成认知干扰
|
|
359
382
|
- 不要把长日志、大段 tool output、原始材料直接塞进提醒项
|
|
@@ -79,6 +79,8 @@ Get daemon process output.
|
|
|
79
79
|
- `pid` (required): Daemon process ID (number)
|
|
80
80
|
- `stdout` (optional): Whether to include stdout output (default: `true`)
|
|
81
81
|
- `stderr` (optional): Whether to include stderr output (default: `true`)
|
|
82
|
+
- `wait_for_new_output` (optional): Whether to wait until a requested stdout/stderr stream receives new output before returning (default: `false`; providing `timeout_ms` implies `true`)
|
|
83
|
+
- `timeout_ms` (optional): Maximum milliseconds to wait for new output, capped at `86400000` (24h); on timeout, returns the current snapshot with a timeout notice; cannot be combined with `wait_for_new_output:false`
|
|
82
84
|
|
|
83
85
|
**Returns:**
|
|
84
86
|
|
|
@@ -79,6 +79,8 @@ stopped_at: <停止时间戳>
|
|
|
79
79
|
- `pid`(必需):守护进程 PID(数字)
|
|
80
80
|
- `stdout`(可选):是否包含 stdout 输出(默认 `true`)
|
|
81
81
|
- `stderr`(可选):是否包含 stderr 输出(默认 `true`)
|
|
82
|
+
- `wait_for_new_output`(可选):是否等待所请求的 stdout/stderr 流出现新输出后再返回(默认 `false`;提供 `timeout_ms` 时默认视为 `true`)
|
|
83
|
+
- `timeout_ms`(可选):等待新输出的最长毫秒数,最大 `86400000`(24 小时);超时后返回当前快照并提示超时;不可与 `wait_for_new_output:false` 同时使用
|
|
82
84
|
|
|
83
85
|
**返回:**
|
|
84
86
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dominds",
|
|
3
|
-
"version": "1.27.
|
|
3
|
+
"version": "1.27.4",
|
|
4
4
|
"description": "Dominds CLI and aggregation shell for the LongRun AI kernel/runtime packages.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"publishConfig": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
"ws": "^8.21.0",
|
|
55
55
|
"yaml": "^2.9.0",
|
|
56
56
|
"zod": "^4.4.3",
|
|
57
|
-
"@longrun-ai/
|
|
58
|
-
"@longrun-ai/
|
|
59
|
-
"@longrun-ai/
|
|
57
|
+
"@longrun-ai/codex-auth": "0.14.0",
|
|
58
|
+
"@longrun-ai/kernel": "1.17.3",
|
|
59
|
+
"@longrun-ai/shell": "1.17.3"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@types/node": "^25.9.1",
|