dsh-vibe-math 2.3.16 → 2.4.1
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.en.md +64 -61
- package/README.md +64 -61
- package/SECURITY.md +56 -0
- package/cordis.patch.yml +1123 -10
- package/docs/AUDIT-CHECKLIST.md +499 -384
- package/docs/COMPAT-AUDIT-ROUND2.md +3 -0
- package/docs/COMPAT-AUDIT-ROUND3.md +139 -0
- package/docs/generate_framework_diagram_v5.mjs +27 -27
- package/docs/release-notes/RELEASE-NOTES-2.4.0.md +172 -0
- package/docs/release-notes/RELEASE-NOTES-2.4.1.md +129 -0
- package/docs/test-timing.md +2 -1
- package/installer.js +89 -21
- package/package.json +36 -10
- package/preset-declaration.js +62 -0
- package/prompt-corpus-persona/persona-corpus.json +2 -2
- package/prompt-corpus-persona/persona-corpus.md +2 -2
- package/prompt-corpus-v5/prompt-corpus-v5.json +7 -7
- package/prompt-corpus-v5/prompt-corpus-v5.md +8 -129
- package/scripts/build-preset-rows.mjs +146 -0
- package/tests/audit-installer-compat.test.mjs +9 -3
- package/tests/audit-preset-rows.test.mjs +185 -0
- package/tests/audit-v5-integrity.mjs +49 -3
- package/tests/e2e-v5-round2.test.mjs +137 -67
- package/tests/formal-verify-v5.test.mjs +43 -35
- package/tests/prompt-v5-integrity.test.mjs +49 -47
- package/tests/selfdrive-v5.mjs +42 -55
- package/vibe-math-v2/agent.cordis.yml +5 -5
- package/vibe-math-v2/preset.yml +1 -1
- package/vibe-math-v2/vibe-math-v2.js +111 -64
- package/vibe-math-v3/vibe-math-v3.js +213 -150
- package/vibe-math-v3//345/256/236/347/216/260/346/226/271/346/241/210.md +2 -2
- package/vibe-math-v4/vibe-math-v4.js +257 -34
- package/vibe-math-v5/agent.cordis.yml +8 -8
- package/vibe-math-v5/preset.yml +1 -1
- package/vibe-math-v5/vibe-math-v5.js +292 -129
- package/vibe-math-v5//345/256/236/347/216/260/346/226/271/346/241/210.md +56 -44
- package/vibe-math-v5//346/236/266/346/236/204/345/233/276.md +24 -22
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v5-en.svg +14 -14
- package//347/244/272/344/276/213/345/233/276//346/241/206/346/236/266/345/233/276-v5.svg +14 -14
package/cordis.patch.yml
CHANGED
|
@@ -1,10 +1,1123 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
# dsh-vibe-math bundle patch — the profile layer this package contributes.
|
|
2
|
+
#
|
|
3
|
+
# It inserts the preset installer plus one agent-preset declaration per shipped preset, and it is
|
|
4
|
+
# GENERATED: edit scripts/build-preset-rows.mjs, not this file (tests/audit-preset-rows.test.mjs fails
|
|
5
|
+
# on drift).
|
|
6
|
+
#
|
|
7
|
+
# TWO DSH LINES, ONE FILE:
|
|
8
|
+
# · DSH >= 0.1.7 — an agent preset is a composition row (`agentPresets.register({id,plugins,…})`).
|
|
9
|
+
# The declarations below carry the full composition in `config.plugins` and name this package's
|
|
10
|
+
# own preset-declaration.js, which performs that registration. The installer row then reports the
|
|
11
|
+
# mechanism and skips the legacy directory.
|
|
12
|
+
# · DSH <= 0.1.6 — nothing reads preset declarations; presets are directories under
|
|
13
|
+
# <DSH_HOME>/.agent-presets, which the installer row writes (its directory branch). The four
|
|
14
|
+
# declaration rows still load (they name our own module, which exists on both lines) but find no
|
|
15
|
+
# `agentPresets` service and register nothing, so the older line boots without warnings.
|
|
16
|
+
#
|
|
17
|
+
# Composition source of truth: each preset's frozen vibe-math-vN/agent.cordis.yml. The only
|
|
18
|
+
# differences applied to it here:
|
|
19
|
+
# · @deepseek-ai/dsh-workflow-worker-thread was removed after 0.1.6; @deepseek-ai/dsh-workflow-ptc replaces it
|
|
20
|
+
# · the legacy `persona.text` key (kept in the frozen file for DSH <= 0.1.2) is unknown from 0.1.3 on — `prefix` carries the same text
|
|
21
|
+
# · the framework row must name an installed package subpath: a declaration row's `name` is NOT rewritten to a file URL by app-boot (it only recurses into group configs), so a relative path would be resolved against the profile directory
|
|
22
|
+
# · comment follows the row above (`./vibe-math-vN.js` → the package subpath)
|
|
23
|
+
# · `command-goal` (the human's /goal) is part of every shipped full preset and must be declared in-preset to reach the agent's scoped command registry
|
|
24
|
+
# · `present` (deliverable cards) has no host row — it must be declared inside the preset
|
|
25
|
+
#
|
|
26
|
+
# Usage of the installer row's bare specifier: `dsh-vibe-math/installer` resolves through the profile's
|
|
27
|
+
# node_modules (where this package is installed) and is exported by package.json.
|
|
28
|
+
|
|
29
|
+
- insert:
|
|
30
|
+
- id: vibe-math-preset-installer
|
|
31
|
+
name: dsh-vibe-math/installer
|
|
32
|
+
|
|
33
|
+
# ── Vibe Math V2 ──────────────────────────────────────────────────────────────
|
|
34
|
+
- insert:
|
|
35
|
+
- id: preset-vibe-math-v2
|
|
36
|
+
name: dsh-vibe-math/preset-declaration
|
|
37
|
+
config:
|
|
38
|
+
id: vibe-math-v2
|
|
39
|
+
name: "Vibe Math V2"
|
|
40
|
+
description: "多代理数学问题求解与验证框架(经典):概率驱动调度 —— qs.json 问题清单 + Propos/ 命题库 + Reliable/ 参考文献,explorer 拆方向 → 逐方向 Solver 迭代 → 多验证器独立审查→辩论→裁决;断点续跑、人工/自动干预、file/push 双模式进度汇报。"
|
|
41
|
+
order: 20
|
|
42
|
+
plugins:
|
|
43
|
+
# The `vibe-math-v2` agent preset: the full coding agent (`standard`), plus the
|
|
44
|
+
# classic-architecture multi-agent mathematical problem-solving & verification
|
|
45
|
+
# framework (see vibe-math-v2/实现方案.md).
|
|
46
|
+
#
|
|
47
|
+
# The vibe-math-v2 plugin row consumes the HOST subagents/agents/fs/tools/commands
|
|
48
|
+
# services and publishes nothing, so it needs no isolate realm.
|
|
49
|
+
|
|
50
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
51
|
+
|
|
52
|
+
- id: persona
|
|
53
|
+
name: '@deepseek-ai/dsh-persona'
|
|
54
|
+
config:
|
|
55
|
+
prefix: |-
|
|
56
|
+
You are a coding agent powered by the {{model}} model.
|
|
57
|
+
|
|
58
|
+
## Vibe Math V2 toolkit
|
|
59
|
+
|
|
60
|
+
This session includes the "Vibe Math V2" multi-agent mathematical problem-solving and
|
|
61
|
+
verification framework (classic architecture). It is driven by a background scheduler (code),
|
|
62
|
+
NOT by the model: you only issue the control tools below and read status; the scheduler
|
|
63
|
+
programmatically runs explorer (direction setting) → per-direction solvers (agent_self_iteration)
|
|
64
|
+
→ multi-reviewer independent review → debate → verdict, and promotes/updates data itself.
|
|
65
|
+
|
|
66
|
+
- vibe_math_add_problem {id, description, priority} — add a problem to qs/qs.json.
|
|
67
|
+
- vibe_math_add_proposition {id, 概述, 布尔估计, 优先级, 价值/关键性} — add a proposition to Propos/.
|
|
68
|
+
- vibe_math_list_propositions — list the proposition knowledge base (summary index).
|
|
69
|
+
- vibe_math_start / vibe_math_resume — start / resume the scheduler (resume = continue after a checkpoint or restart).
|
|
70
|
+
- vibe_math_status / vibe_math_report — read scheduler status / full progress report (report also writes Progress_Logs/report.json).
|
|
71
|
+
- vibe_math_pause / vibe_math_abort — pause / abort (abort interrupts all children).
|
|
72
|
+
- vibe_math_set_mode {mode: manual|auto} — switch manual / auto control.
|
|
73
|
+
- vibe_math_set_params {...} — tune any parameter (see vibe_math_setup for the full schema; e.g. reportMode file|push|both, promoteValueThreshold, verdictMode flat|forced, formalVerify off|encourage|require).
|
|
74
|
+
- vibe_math_setup / vibe_math_save_settings / vibe_math_template — guided configuration / persist defaults / generate template.
|
|
75
|
+
- vibe_math_new_project / vibe_math_set_project / vibe_math_list_projects — per-project folders.
|
|
76
|
+
- vibe_math_list_decisions / vibe_math_decide {id, action: approve|reject|override, verdict?} — resolve manual decisions.
|
|
77
|
+
- vibe_math_list_agents / vibe_math_message_agent / vibe_math_interrupt_agent — inspect / steer / interrupt subagents.
|
|
78
|
+
- vibe_math_lean_run / vibe_math_lean_archive / vibe_math_lean_lib — Lean formal
|
|
79
|
+
verification (execute / archive / list the reuse library). The scheduler's child agents
|
|
80
|
+
use them too; they work in every mode.
|
|
81
|
+
|
|
82
|
+
A /vibe slash command mirrors the main controls. Data lives under {{cwd}}/VibeMath/Projects/<project>/
|
|
83
|
+
(qs/qs.json, Propos/<分类>_Propos.json, Reliable/, Verified/, Verification_logs/, Progress_Logs/, VibeMath_State/)
|
|
84
|
+
and survives restarts via vibe_math_resume.
|
|
85
|
+
|
|
86
|
+
Key rules to remember when reporting: a problem is "solved" when one of its solutions reaches
|
|
87
|
+
正确概率 = 1; a proposition reaches 布尔估计 = 1/0 when a proof/refutation in its lists reaches
|
|
88
|
+
正确概率 = 1; Propos propositions with 价值/关键性 ≥ promoteValueThreshold auto-promote to qs.json.
|
|
89
|
+
When the user asks about progress, call vibe_math_report and summarize in plain language.
|
|
90
|
+
|
|
91
|
+
Configuration highlights (all tunable via vibe_math_set_params / the settings file):
|
|
92
|
+
`knowledgeContext` overrides the shared data-model explanation injected into every child prompt
|
|
93
|
+
(empty = built-in full version); `explorerPersona` / `solverPersona` / `verifierPersona` prepend
|
|
94
|
+
role instructions; `solverAllowNetwork` / `verifierAllowNetwork` / `solverAllowScripts` /
|
|
95
|
+
`verifierAllowScripts` toggle network / script tools (empty = inherit, true = allow, false = deny);
|
|
96
|
+
`directionsPerSolver` = how many directions each solver's prompt includes (1 = own direction only).
|
|
97
|
+
Data behaviors: an auto-promoted proposition becomes the problem "判断下述命题是否成立:<命题>"
|
|
98
|
+
with its proofs/refutations transferred into the solution list (verification results sync back to the
|
|
99
|
+
source proposition); a solver-reported sub-question q_sub registers THREE objects — the q_sub problem,
|
|
100
|
+
the temporary-assumption proposition p_{q-tmp}, and the problem "判断下述命题是否成立:p_{q-tmp}".
|
|
101
|
+
|
|
102
|
+
LEAN FORMAL VERIFICATION (formalVerify, a tunable parameter):
|
|
103
|
+
- 'off' (default, no extra requirement) | 'encourage' (solver/verifier agents decide by
|
|
104
|
+
implementation difficulty whether to formalize in Lean; once a Lean run passes, the review
|
|
105
|
+
subject becomes FIDELITY — do the Lean definitions/objects/conditions/assumptions/conclusion
|
|
106
|
+
match the proposition as stated) | 'require' (same, plus a gate: a true/false verdict is
|
|
107
|
+
recorded as 未定论 with reason formal-required until the object is Lean-passed or carries an
|
|
108
|
+
explicit, reasoned blocker record; the scheduler is never wedged by it).
|
|
109
|
+
- Paths: work file Formal/<id>.lean; archived proof Verified/Lean/<id>.lean; reusable
|
|
110
|
+
definitions VibeMath/Formal/Lib/; proved lemmas VibeMath/Formal/Proved/.
|
|
111
|
+
- The toolchain knobs leanCommand / leanArgs / leanTimeoutMs are tunable as well
|
|
112
|
+
(e.g. leanCommand='lake' with leanArgs=['env','lean']); a missing Lean binary is
|
|
113
|
+
reported as LEAN_NOT_FOUND and still lets the code be written and archived.
|
|
114
|
+
- vibe_math_status / vibe_math_report show the mode, the per-object formal status and the
|
|
115
|
+
formalization TODO (Formal/TODO.md). The framework never installs Lean and never judges
|
|
116
|
+
fidelity for you.
|
|
117
|
+
suffix: Your working directory is {{cwd}}.
|
|
118
|
+
- id: agent-instructions
|
|
119
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
120
|
+
config:
|
|
121
|
+
maxBytes: 65536
|
|
122
|
+
|
|
123
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
124
|
+
|
|
125
|
+
- id: tool-bash
|
|
126
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
127
|
+
disabled: !!js process.platform === 'win32'
|
|
128
|
+
|
|
129
|
+
- id: tool-pwsh
|
|
130
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
131
|
+
disabled: !!js process.platform !== 'win32'
|
|
132
|
+
|
|
133
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
134
|
+
|
|
135
|
+
- id: tool-fs
|
|
136
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
137
|
+
|
|
138
|
+
- id: tool-fs-search
|
|
139
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
140
|
+
config:
|
|
141
|
+
sampleOverCapGlobResults: false
|
|
142
|
+
|
|
143
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
144
|
+
|
|
145
|
+
- id: tool-jobs
|
|
146
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
147
|
+
|
|
148
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
149
|
+
|
|
150
|
+
- id: skill-filesystem
|
|
151
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
152
|
+
|
|
153
|
+
- id: tool-skill
|
|
154
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
155
|
+
|
|
156
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
157
|
+
|
|
158
|
+
- id: command-goal
|
|
159
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
160
|
+
|
|
161
|
+
- id: tool-goal
|
|
162
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
163
|
+
|
|
164
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
165
|
+
|
|
166
|
+
- id: planning
|
|
167
|
+
name: cordis:group
|
|
168
|
+
group: true
|
|
169
|
+
isolate:
|
|
170
|
+
planMode: true
|
|
171
|
+
config:
|
|
172
|
+
- id: plan-mode
|
|
173
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
174
|
+
config:
|
|
175
|
+
section: |
|
|
176
|
+
You are in plan mode. Stay in plan mode until exit_plan_mode succeeds or the user switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
|
|
177
|
+
|
|
178
|
+
Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
|
|
179
|
+
|
|
180
|
+
The tool catalog stays the same across modes for request-cache stability. These plan-mode rules override any later tool description or guidance that suggests using mutation tools; those tools remain listed to keep the tool catalog unchanged. Do not use todo_write to track this planning phase: it tracks implementation after an approved plan, while the plan itself belongs in exit_plan_mode.
|
|
181
|
+
|
|
182
|
+
Resolve discoverable facts by inspection. Use ask_user_question only for user-owned choices or material ambiguity that inspection cannot answer. Do not ask the user where code lives or how current behavior works when you can find out.
|
|
183
|
+
|
|
184
|
+
Make the plan decision-complete: state the goal and success criteria; group implementation changes by subsystem; identify public API, schema, and data-flow changes; cover edge cases, failure modes, tests, acceptance criteria, and explicit assumptions. Keep it concise enough to review but detailed enough that another engineer can implement it without making design decisions.
|
|
185
|
+
|
|
186
|
+
When ready, call exit_plan_mode with the complete plan markdown, starting with a # title. Make exit_plan_mode the only and final tool call in that assistant response: it presents the plan for approval, and implementation begins only in a later step after approval. Do not paste the final plan as a plain reply or ask "should I proceed?" through prose or ask_user_question. If review rejects it, incorporate the feedback and present again. If the review channel is unavailable or aborted, stay in plan mode and ask the user to switch modes manually; do not proceed with implementation.
|
|
187
|
+
|
|
188
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
189
|
+
|
|
190
|
+
- id: compaction
|
|
191
|
+
name: cordis:group
|
|
192
|
+
group: true
|
|
193
|
+
isolate:
|
|
194
|
+
compaction: true
|
|
195
|
+
toolResultPruner: true
|
|
196
|
+
config:
|
|
197
|
+
- id: compaction-basic
|
|
198
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
199
|
+
|
|
200
|
+
- id: command-compact
|
|
201
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
202
|
+
|
|
203
|
+
- id: tool-result-pruner
|
|
204
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
205
|
+
config:
|
|
206
|
+
thresholdChars: 8192
|
|
207
|
+
headChars: 4096
|
|
208
|
+
tailChars: 1024
|
|
209
|
+
|
|
210
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
211
|
+
|
|
212
|
+
- id: delegation
|
|
213
|
+
name: cordis:group
|
|
214
|
+
group: true
|
|
215
|
+
isolate:
|
|
216
|
+
workflowEngine: true
|
|
217
|
+
config:
|
|
218
|
+
- id: tool-subagent-control
|
|
219
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
220
|
+
|
|
221
|
+
- id: tool-subagent-list-agents
|
|
222
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
223
|
+
|
|
224
|
+
- id: tool-subagent
|
|
225
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
226
|
+
config:
|
|
227
|
+
provider: spawn
|
|
228
|
+
toolName: subagent
|
|
229
|
+
backgroundMode: continuable
|
|
230
|
+
|
|
231
|
+
- id: tool-subagent-fork
|
|
232
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
233
|
+
config:
|
|
234
|
+
provider: fork
|
|
235
|
+
toolName: subagent_fork
|
|
236
|
+
backgroundMode: continuable
|
|
237
|
+
|
|
238
|
+
- id: workflow-ptc
|
|
239
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
240
|
+
config:
|
|
241
|
+
provider: spawn
|
|
242
|
+
|
|
243
|
+
- id: tool-workflow
|
|
244
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
245
|
+
|
|
246
|
+
- id: tool-ralph
|
|
247
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
248
|
+
config:
|
|
249
|
+
subagentProvider: spawn
|
|
250
|
+
maxRounds: 64
|
|
251
|
+
|
|
252
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
253
|
+
|
|
254
|
+
- id: tool-ask-user
|
|
255
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
256
|
+
|
|
257
|
+
- id: tool-todo
|
|
258
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
259
|
+
config:
|
|
260
|
+
allowParallelInProgress: true
|
|
261
|
+
|
|
262
|
+
- id: tool-web
|
|
263
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
264
|
+
config:
|
|
265
|
+
fetch: false
|
|
266
|
+
searchTimeoutMs: 60000
|
|
267
|
+
|
|
268
|
+
- id: present
|
|
269
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
270
|
+
|
|
271
|
+
# ── Vibe Math V2 ────────────────────────────────────────────────────────────
|
|
272
|
+
|
|
273
|
+
# The classic-architecture framework: this package's plugin (dsh-vibe-math/vibe-math-v2/vibe-math-v2.js)
|
|
274
|
+
# that registers the vibe_math_* tools, a /vibe slash command, and a background
|
|
275
|
+
# scheduler (explorer → per-direction solvers → multi-reviewer verification).
|
|
276
|
+
# It consumes the HOST subagents/agents/fs/tools/commands services and provides
|
|
277
|
+
# nothing, so it sits loose (no isolate realm).
|
|
278
|
+
- id: vibe-math-v2
|
|
279
|
+
name: 'dsh-vibe-math/vibe-math-v2/vibe-math-v2.js'
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
# ── Vibe Math V3 ──────────────────────────────────────────────────────────────
|
|
283
|
+
- insert:
|
|
284
|
+
- id: preset-vibe-math-v3
|
|
285
|
+
name: dsh-vibe-math/preset-declaration
|
|
286
|
+
config:
|
|
287
|
+
id: vibe-math-v3
|
|
288
|
+
name: "Vibe Math V3"
|
|
289
|
+
description: "多代理数学研究与验证框架(第三代架构):论文式 Markdown 知识库(Problems/ 问题清单+依赖+来源动机、Progress/ 研究日志、Propos/ 命题库、Methods/ 通用理论发明库、Verified/ 绝对可信)+ 规划代理自主调度(一次安排接下来 n 次各代理任务)+ 方法库沉淀循环(Method Keeper 提炼理论/框架/工具/方法/思想);断点续跑、人工/自动干预、多会话并行隔离。"
|
|
290
|
+
order: 21
|
|
291
|
+
plugins:
|
|
292
|
+
# The `vibe-math-v3` agent preset: the full coding agent (`standard`), plus the
|
|
293
|
+
# THIRD-generation multi-agent mathematical problem-solving & verification
|
|
294
|
+
# framework (see 实现方案.md): paper-style Markdown knowledge base
|
|
295
|
+
# (Problems/ Progress/ Propos/ Methods/ Verified/), planner-agent scheduling
|
|
296
|
+
# (one planner call decides the next N actions), and a universal theory/method
|
|
297
|
+
# invention library (Method Keeper distills reusable theories/tools/methods).
|
|
298
|
+
#
|
|
299
|
+
# The vibe-math-v3 plugin row consumes the HOST subagents/agents/fs/tools/commands
|
|
300
|
+
# services and publishes nothing, so it needs no isolate realm.
|
|
301
|
+
|
|
302
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
303
|
+
|
|
304
|
+
- id: persona
|
|
305
|
+
name: '@deepseek-ai/dsh-persona'
|
|
306
|
+
config:
|
|
307
|
+
prefix: |-
|
|
308
|
+
You are a coding agent powered by the {{model}} model.
|
|
309
|
+
|
|
310
|
+
## Vibe Math V3 toolkit
|
|
311
|
+
|
|
312
|
+
This session includes the "Vibe Math V3" multi-agent mathematical research and
|
|
313
|
+
verification framework (third-generation architecture). It is driven by a background
|
|
314
|
+
scheduler (code) + a PLANNER AGENT: the code builds a state brief and a planner agent
|
|
315
|
+
autonomously decides the next up-to-N actions (spawn solver/verifier/explorer/method-keeper,
|
|
316
|
+
interrupt, promote, wait), then the code validates and executes them. You do NOT schedule
|
|
317
|
+
manually — you only issue the control tools below and read status.
|
|
318
|
+
|
|
319
|
+
Data is a PAPER-STYLE MARKDOWN knowledge base under {{cwd}}/VibeMath/Projects/<project>/:
|
|
320
|
+
Problems/ (问题清单, one md per problem: 陈述/状态/依赖/被依赖/来源与动机/计划/解法候选),
|
|
321
|
+
Progress/ (研究日志, per-direction round narratives), Propos/ (结论/命题库, one md per
|
|
322
|
+
proposition), Methods/ (通用理论发明库: 理论体系/框架/工具/方法/思想 invented during
|
|
323
|
+
solving, distilled by the Method Keeper), Verified/ (绝对可信, scheduler-generated read-only),
|
|
324
|
+
Reliable/ (user references), Notes/, Logs/, State/ (scheduler-private).
|
|
325
|
+
TRUST RULE: only Verified/ (and Propos/ entries marked 已验证·真/假) are absolutely
|
|
326
|
+
trustworthy; everything else — unverified propositions, Progress/ journals, Method claims —
|
|
327
|
+
is experiential reference.
|
|
328
|
+
|
|
329
|
+
- vibe_math_add_problem {id, description, priority, dependencies?} — add a problem (creates Problems/<id>.md).
|
|
330
|
+
- vibe_math_add_proposition {id, 概述, 概率, 优先级, 价值/关键性, 分类} — add a proposition (Propos/<分类>/<id>.md).
|
|
331
|
+
- vibe_math_list_propositions — list the proposition knowledge base.
|
|
332
|
+
- vibe_math_start / vibe_math_resume — start / resume the scheduler (resume = continue after checkpoint/restart).
|
|
333
|
+
- vibe_math_status / vibe_math_report — read status / full progress report (report writes Progress_Logs/report.json + Logs/报告.md).
|
|
334
|
+
- vibe_math_pause / vibe_math_abort — pause / abort.
|
|
335
|
+
- vibe_math_set_mode {mode: manual|auto} — switch manual / auto (manual gates: 计划审批 / 裁决 / 方法晋升).
|
|
336
|
+
- vibe_math_set_params {...} — tune any parameter (see vibe_math_setup; V3 additions: planningHorizon,
|
|
337
|
+
plannerEnabled/plannerProvider/plannerModel/plannerPersona, planMinIntervalMs, plannerMaxFails,
|
|
338
|
+
methodKeepIntervalMs/methodKeepEvery, methodAutoPromote, indexAutoRebuild, projectLockTimeoutMs,
|
|
339
|
+
formalVerify/leanCommand/leanArgs/leanTimeoutMs — Lean 形式化验证(off = 默认不额外要求,
|
|
340
|
+
encourage = 按实现难度自行形式化、Lean 通过后审查对象变为忠实性,require = 同上并加结论门禁)).
|
|
341
|
+
- vibe_math_setup / vibe_math_save_settings / vibe_math_template — guided configuration / persist defaults / generate template.
|
|
342
|
+
- vibe_math_plan {force?} — show queued plan / last plan, or force a planning round.
|
|
343
|
+
- vibe_math_index — rebuild State/index.json from the Markdown knowledge base.
|
|
344
|
+
- vibe_math_method_add / vibe_math_method_list — manually add / list method cards (Methods/ + global).
|
|
345
|
+
- vibe_math_lock_status — project lock occupancy.
|
|
346
|
+
- vibe_math_new_project / vibe_math_set_project / vibe_math_list_projects — per-project folders.
|
|
347
|
+
- vibe_math_list_decisions / vibe_math_decide {id, action: approve|reject|override, verdict?} — resolve manual decisions.
|
|
348
|
+
- vibe_math_list_agents / vibe_math_message_agent / vibe_math_interrupt_agent — inspect / steer / interrupt subagents.
|
|
349
|
+
- vibe_math_lean_run / vibe_math_lean_archive / vibe_math_lean_lib — Lean formal
|
|
350
|
+
verification (execute / archive / list the reuse library). The scheduler's child agents
|
|
351
|
+
use them too; they work in every mode.
|
|
352
|
+
|
|
353
|
+
A /vibe slash command mirrors the main controls (/vibe start|resume|pause|abort|status|report|mode
|
|
354
|
+
<auto|manual>|setup|save|add <id> <desc>|add-proposition <id> <概述>|list-propositions|methods|index|plan|lock|...).
|
|
355
|
+
Data survives restarts via vibe_math_resume.
|
|
356
|
+
|
|
357
|
+
Key rules when reporting: a problem is "solved" when one of its 解法候选 entries reaches 概率 = 1
|
|
358
|
+
(the scheduler writes Verified/问题/<id>.md); a proposition reaches 已验证·真/假 when a 证明/证伪
|
|
359
|
+
entry reaches 概率 = 1 (Verified/命题/<id>.md); Propos propositions with 价值/关键性 ≥
|
|
360
|
+
promoteValueThreshold auto-promote into Problems/ as "判断下述命题是否成立:<命题>" (verification
|
|
361
|
+
results sync back to the source proposition); a solver-reported sub-question q_sub registers THREE
|
|
362
|
+
objects (q_sub problem + judge problem + p-tmp temporary-assumption proposition) with full 来源与动机.
|
|
363
|
+
|
|
364
|
+
LEAN FORMAL VERIFICATION (formalVerify, a tunable parameter):
|
|
365
|
+
- 'off' (default, no extra requirement) | 'encourage' (solver/verifier agents decide by
|
|
366
|
+
implementation difficulty whether to formalize in Lean; once a Lean run passes, the review
|
|
367
|
+
subject becomes FIDELITY — do the Lean definitions/objects/conditions/assumptions/conclusion
|
|
368
|
+
match the proposition as stated) | 'require' (same, plus a gate: a true/false verdict is
|
|
369
|
+
withheld as 未定论 with reason formal-required until the object is Lean-passed or carries an
|
|
370
|
+
explicit, reasoned blocker record; the scheduler is never wedged by it).
|
|
371
|
+
- Paths: work file Formal/<id>.lean; archived proof Verified/Lean/<id>.lean; reusable
|
|
372
|
+
definitions VibeMath/Formal/Lib/; proved lemmas VibeMath/Formal/Proved/.
|
|
373
|
+
- The toolchain knobs leanCommand / leanArgs / leanTimeoutMs are tunable as well
|
|
374
|
+
(e.g. leanCommand='lake' with leanArgs=['env','lean']); a missing Lean binary is
|
|
375
|
+
reported as LEAN_NOT_FOUND and still lets the code be written and archived.
|
|
376
|
+
- vibe_math_status / vibe_math_report show the mode, the per-object formal status and the
|
|
377
|
+
formalization TODO (Formal/TODO.md). The framework never installs Lean and never judges
|
|
378
|
+
fidelity for you.
|
|
379
|
+
When the user asks about progress, call vibe_math_report and summarize in plain language.
|
|
380
|
+
suffix: Your working directory is {{cwd}}.
|
|
381
|
+
- id: agent-instructions
|
|
382
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
383
|
+
config:
|
|
384
|
+
maxBytes: 65536
|
|
385
|
+
|
|
386
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
387
|
+
|
|
388
|
+
- id: tool-bash
|
|
389
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
390
|
+
disabled: !!js process.platform === 'win32'
|
|
391
|
+
|
|
392
|
+
- id: tool-pwsh
|
|
393
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
394
|
+
disabled: !!js process.platform !== 'win32'
|
|
395
|
+
|
|
396
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
397
|
+
|
|
398
|
+
- id: tool-fs
|
|
399
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
400
|
+
|
|
401
|
+
- id: tool-fs-search
|
|
402
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
403
|
+
config:
|
|
404
|
+
sampleOverCapGlobResults: false
|
|
405
|
+
|
|
406
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
407
|
+
|
|
408
|
+
- id: tool-jobs
|
|
409
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
410
|
+
|
|
411
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
412
|
+
|
|
413
|
+
- id: skill-filesystem
|
|
414
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
415
|
+
|
|
416
|
+
- id: tool-skill
|
|
417
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
418
|
+
|
|
419
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
420
|
+
|
|
421
|
+
- id: command-goal
|
|
422
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
423
|
+
|
|
424
|
+
- id: tool-goal
|
|
425
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
426
|
+
|
|
427
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
428
|
+
|
|
429
|
+
- id: planning
|
|
430
|
+
name: cordis:group
|
|
431
|
+
group: true
|
|
432
|
+
isolate:
|
|
433
|
+
planMode: true
|
|
434
|
+
config:
|
|
435
|
+
- id: plan-mode
|
|
436
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
437
|
+
config:
|
|
438
|
+
section: |
|
|
439
|
+
You are in plan mode. Stay in plan mode until exit_plan_mode succeeds or the user switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
|
|
440
|
+
|
|
441
|
+
Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
|
|
442
|
+
|
|
443
|
+
The tool catalog stays the same across modes for request-cache stability. These plan-mode rules override any later tool description or guidance that suggests using mutation tools; those tools remain listed to keep the tool catalog unchanged. Do not use todo_write to track this planning phase: it tracks implementation after an approved plan, while the plan itself belongs in exit_plan_mode.
|
|
444
|
+
|
|
445
|
+
Resolve discoverable facts by inspection. Use ask_user_question only for user-owned choices or material ambiguity that inspection cannot answer. Do not ask the user where code lives or how current behavior works when you can find out.
|
|
446
|
+
|
|
447
|
+
Make the plan decision-complete: state the goal and success criteria; group implementation changes by subsystem; identify public API, schema, and data-flow changes; cover edge cases, failure modes, tests, acceptance criteria, and explicit assumptions. Keep it concise enough to review but detailed enough that another engineer can implement it without making design decisions.
|
|
448
|
+
|
|
449
|
+
When ready, call exit_plan_mode with the complete plan markdown, starting with a # title. Make exit_plan_mode the only and final tool call in that assistant response: it presents the plan for approval, and implementation begins only in a later step after approval. Do not paste the final plan as a plain reply or ask "should I proceed?" through prose or ask_user_question. If review rejects it, incorporate the feedback and present again. If the review channel is unavailable or aborted, stay in plan mode and ask the user to switch modes manually; do not proceed with implementation.
|
|
450
|
+
|
|
451
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
452
|
+
|
|
453
|
+
- id: compaction
|
|
454
|
+
name: cordis:group
|
|
455
|
+
group: true
|
|
456
|
+
isolate:
|
|
457
|
+
compaction: true
|
|
458
|
+
toolResultPruner: true
|
|
459
|
+
config:
|
|
460
|
+
- id: compaction-basic
|
|
461
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
462
|
+
|
|
463
|
+
- id: command-compact
|
|
464
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
465
|
+
|
|
466
|
+
- id: tool-result-pruner
|
|
467
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
468
|
+
config:
|
|
469
|
+
thresholdChars: 8192
|
|
470
|
+
headChars: 4096
|
|
471
|
+
tailChars: 1024
|
|
472
|
+
|
|
473
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
474
|
+
|
|
475
|
+
- id: delegation
|
|
476
|
+
name: cordis:group
|
|
477
|
+
group: true
|
|
478
|
+
isolate:
|
|
479
|
+
workflowEngine: true
|
|
480
|
+
config:
|
|
481
|
+
- id: tool-subagent-control
|
|
482
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
483
|
+
|
|
484
|
+
- id: tool-subagent-list-agents
|
|
485
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
486
|
+
|
|
487
|
+
- id: tool-subagent
|
|
488
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
489
|
+
config:
|
|
490
|
+
provider: spawn
|
|
491
|
+
toolName: subagent
|
|
492
|
+
backgroundMode: continuable
|
|
493
|
+
|
|
494
|
+
- id: tool-subagent-fork
|
|
495
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
496
|
+
config:
|
|
497
|
+
provider: fork
|
|
498
|
+
toolName: subagent_fork
|
|
499
|
+
backgroundMode: continuable
|
|
500
|
+
|
|
501
|
+
- id: workflow-ptc
|
|
502
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
503
|
+
config:
|
|
504
|
+
provider: spawn
|
|
505
|
+
|
|
506
|
+
- id: tool-workflow
|
|
507
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
508
|
+
|
|
509
|
+
- id: tool-ralph
|
|
510
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
511
|
+
config:
|
|
512
|
+
subagentProvider: spawn
|
|
513
|
+
maxRounds: 64
|
|
514
|
+
|
|
515
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
516
|
+
|
|
517
|
+
- id: tool-ask-user
|
|
518
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
519
|
+
|
|
520
|
+
- id: tool-todo
|
|
521
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
522
|
+
config:
|
|
523
|
+
allowParallelInProgress: true
|
|
524
|
+
|
|
525
|
+
- id: tool-web
|
|
526
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
527
|
+
config:
|
|
528
|
+
fetch: false
|
|
529
|
+
searchTimeoutMs: 60000
|
|
530
|
+
|
|
531
|
+
- id: present
|
|
532
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
533
|
+
|
|
534
|
+
# ── Vibe Math V3 ────────────────────────────────────────────────────────────
|
|
535
|
+
|
|
536
|
+
# The THIRD-generation framework: this package's plugin (dsh-vibe-math/vibe-math-v3/vibe-math-v3.js)
|
|
537
|
+
# that registers the vibe_math_* tools, a /vibe slash command, and a background
|
|
538
|
+
# scheduler (planner-agent scheduling → explorer → per-direction solvers →
|
|
539
|
+
# multi-reviewer verification; method library + Method Keeper; paper-style
|
|
540
|
+
# Markdown knowledge base). It consumes the HOST subagents/agents/fs/tools/commands
|
|
541
|
+
# services and provides nothing, so it sits loose (no isolate realm).
|
|
542
|
+
- id: vibe-math-v3
|
|
543
|
+
name: 'dsh-vibe-math/vibe-math-v3/vibe-math-v3.js'
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
# ── Vibe Math V4 ──────────────────────────────────────────────────────────────
|
|
547
|
+
- insert:
|
|
548
|
+
- id: preset-vibe-math-v4
|
|
549
|
+
name: dsh-vibe-math/preset-declaration
|
|
550
|
+
config:
|
|
551
|
+
id: vibe-math-v4
|
|
552
|
+
name: "Vibe Math V4"
|
|
553
|
+
description: "常驻自组织合作研究框架(第四代架构):一组持久化常驻子代理互相留言、集体开会,自主决定一切任务安排;各自沉淀 progress/命题/方法/子问题库并互相查阅;验证仅当全体常驻一致(真或假)才写入 Verified/,否则留库附概率;上下文达阈值自动 /compact;仅当全体一致认为原问题已解决才停止;断点续跑、多会话隔离、可随时人工干预/增开关闭常驻。"
|
|
554
|
+
order: 22
|
|
555
|
+
plugins:
|
|
556
|
+
# The `vibe-math-v4` agent preset: the full coding agent (`standard`), plus the
|
|
557
|
+
# FOURTH-generation "persistent self-organizing collaborative research" framework
|
|
558
|
+
# (see 实现方案.md): a set of PERSISTENT resident subagents that decide ALL task
|
|
559
|
+
# allocation among themselves (message/meeting), persist their own progress /
|
|
560
|
+
# proposition / method / sub-problem libraries, verify ONLY by unanimous
|
|
561
|
+
# consensus (else keep as unverified with a probability), self-compact at a
|
|
562
|
+
# context threshold, and stop only when all residents agree the original problem
|
|
563
|
+
# is solved. The framework is a FACILITATOR (message bus / meeting / persist /
|
|
564
|
+
# consensus-verify / context management / resume) — it NEVER assigns tasks.
|
|
565
|
+
#
|
|
566
|
+
# The vibe-math-v4 plugin row consumes HOST subagents/agents/fs/tools/commands
|
|
567
|
+
# services and publishes nothing, so it needs no isolate realm.
|
|
568
|
+
|
|
569
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
570
|
+
|
|
571
|
+
- id: persona
|
|
572
|
+
name: '@deepseek-ai/dsh-persona'
|
|
573
|
+
config:
|
|
574
|
+
prefix: |-
|
|
575
|
+
You are a coding agent powered by the {{model}} model.
|
|
576
|
+
|
|
577
|
+
## Vibe Math V4 toolkit
|
|
578
|
+
|
|
579
|
+
This session includes the "Vibe Math V4" persistent self-organizing collaborative
|
|
580
|
+
research framework (fourth-generation architecture). It is a REAL research group that
|
|
581
|
+
works by talking: a set of RESIDENT subagents message each other and hold meetings,
|
|
582
|
+
and they decide ALL task allocation, division of labor, priorities, what to verify, and
|
|
583
|
+
when to stop — through their own discussion. There is NO central scheduler assigning
|
|
584
|
+
tasks. Each resident persists its own progress / proposition / method / sub-problem
|
|
585
|
+
library and WRITES those files DIRECTLY (via fs) in a documented format; anyone may READ
|
|
586
|
+
everyone else's files (read-only). Anything is "established" only when ALL residents
|
|
587
|
+
agree (unanimous true or false); otherwise it stays in a library with a probability.
|
|
588
|
+
|
|
589
|
+
The framework is just a facilitator: it relays the group's conversation (a resident's
|
|
590
|
+
`input` is forwarded to the others, and meetings forward everyone's contribution so the
|
|
591
|
+
team genuinely discusses/debates), convenes and records meetings, exposes a shared task
|
|
592
|
+
board, and stops the run only when the whole team agrees the problem is solved.
|
|
593
|
+
|
|
594
|
+
At brainstorm, residents are told they MAY (but are never forced to) autonomously build a
|
|
595
|
+
NEW general theory/framework/tool — by abstracting/generalising a structure (like inventing
|
|
596
|
+
group theory to solve polynomial equations, or building functional analysis as a general
|
|
597
|
+
framework). If they do, they must state its value to the original problem and may refine /
|
|
598
|
+
generalise it over time; such artifacts go in their Methods/<resident>/ library. This is an
|
|
599
|
+
encouragement, not an assignment.
|
|
600
|
+
|
|
601
|
+
**YOUR ROLE — LET THEM SELF-ORGANIZE (hands-off):** you are NOT a moderator/coordinator.
|
|
602
|
+
Do NOT inject agendas, priorities, division-of-labor, or verification decisions, and do
|
|
603
|
+
NOT direct the residents' work. After `vibe_v4_start`, stay passive: read `vibe_v4_status`
|
|
604
|
+
/ `vibe_v4_report` and summarize in plain language when asked. Use `vibe_v4_message` /
|
|
605
|
+
`vibe_v4_meeting` ONLY when the user explicitly asks you to intervene, or when the group
|
|
606
|
+
is visibly deadlocked (all idle & nothing progressing for a long time) — and even then,
|
|
607
|
+
only relay/nudge the group to decide, never decide for them.
|
|
608
|
+
|
|
609
|
+
Data lives under {{cwd}}/VibeMath/Projects/<project>/:
|
|
610
|
+
Problems/ (original problem card), Progress/<resident>/ (each resident's progress),
|
|
611
|
+
Propos/<resident>/ (each resident's propositions, "- ID: p-<id>" / "- 概率:" / "- 价值程度:" ...),
|
|
612
|
+
Methods/<resident>/ (theories/tools), Subproblems/<resident>/, Shared/ (meeting transcripts /
|
|
613
|
+
task board / debates), Verified/ (read-only, ONLY after unanimous consensus),
|
|
614
|
+
State/ (framework-private), Reliable/ (references), Notes/.
|
|
615
|
+
|
|
616
|
+
Main controls (recommended flow: configure FIRST, then start):
|
|
617
|
+
- vibe_v4_configure {project?, problem?, params?} — create/configure the project (name, problem, params) WITHOUT starting a run; set everything here first.
|
|
618
|
+
- vibe_v4_start {problem?, residentCount?, seedDirections?} — begin the run (spawn residents, brainstorm). If problem was configured, omit it.
|
|
619
|
+
- vibe_v4_set {residentCount, compactThreshold, compactAfterRounds, meetingKeepEvery, maxParallel, activityTimeoutMs, stallAutoMeetingMs, verdictMaxRounds, provider, model, residentPersona, toolAllow, toolDeny, formalVerify, leanCommand, leanArgs, leanTimeoutMs} — tune params (persisted to the settings file). provider/model override the residents' LLM route (empty = they inherit YOUR model/provider); toolAllow/toolDeny are per-resident tool permissions (empty = they inherit all tools). stallAutoMeetingMs is the stalled-group auto-sync-meeting threshold (分级保活 B). formalVerify (off|encourage|require, default off) enables Lean formal verification; leanCommand/leanArgs/leanTimeoutMs configure the toolchain.
|
|
620
|
+
- vibe_v4_resume / vibe_v4_pause / vibe_v4_abort / vibe_v4_status / vibe_v4_report.
|
|
621
|
+
- vibe_v4_message {to|all, content} — inject a message to a resident (human/assistant intervention).
|
|
622
|
+
- vibe_v4_meeting {agenda} — force a meeting.
|
|
623
|
+
- vibe_v4_add_member {direction?} / vibe_v4_remove_member {id} — add / close a resident.
|
|
624
|
+
- vibe_v4_list_members — list residents.
|
|
625
|
+
- vibe_v4_lean_run / vibe_v4_lean_archive / vibe_v4_lean_lib — Lean formal verification
|
|
626
|
+
(execute / archive / list the reuse library). Residents use them too; they work in every mode.
|
|
627
|
+
- vibe_v4_formal_report — human-readable Lean formal-verification mirror (mode, Lean-passed
|
|
628
|
+
objects, recorded blockers, formalization TODO, library paths).
|
|
629
|
+
- vibe_v4_prompts {which: brainstorm|normal|heartbeat|verify|coreRules, member?, target?, stage?} — read the exact prompt text a resident would receive (prompt auditing; prompt text is the product).
|
|
630
|
+
A /v4 slash command mirrors the main controls (configure|start|resume|pause|abort|status|report|message <to|all> <content>|meeting|members|add|remove|set).
|
|
631
|
+
|
|
632
|
+
TRUST RULE: only Verified/ (and Propos/ entries marked 已验证·真/假) are absolutely
|
|
633
|
+
trustworthy; everything else — unverified resident claims, Progress/, Method claims —
|
|
634
|
+
is experiential reference. A proposition / method / theory only reaches Verified/ when
|
|
635
|
+
ALL residents unanimously agree true (or all agree false); otherwise it stays in its
|
|
636
|
+
library with a probability estimate.
|
|
637
|
+
|
|
638
|
+
LEAN FORMAL VERIFICATION (formalVerify, a tunable parameter):
|
|
639
|
+
- 'off' (default, no extra requirement) | 'encourage' (the residents decide by implementation
|
|
640
|
+
difficulty whether to formalize in Lean; once a Lean run passes, their unanimous vote becomes
|
|
641
|
+
a FIDELITY review — do the Lean definitions/objects/conditions/assumptions/conclusion match
|
|
642
|
+
the proposition as stated) | 'require' (same, plus a gate: a unanimous true/false verdict is
|
|
643
|
+
withheld as 未定论 with reason formal-required until the object is Lean-passed or carries an
|
|
644
|
+
explicit, reasoned blocker record; the run is never wedged by it).
|
|
645
|
+
- Paths: work file Formal/<id>.lean; archived proof Verified/Lean/<id>.lean; reusable
|
|
646
|
+
definitions VibeMath/Formal/Lib/; proved lemmas VibeMath/Formal/Proved/.
|
|
647
|
+
- The toolchain knobs leanCommand / leanArgs / leanTimeoutMs are tunable as well
|
|
648
|
+
(e.g. leanCommand='lake' with leanArgs=['env','lean']); a missing Lean binary is
|
|
649
|
+
reported as LEAN_NOT_FOUND and still lets the code be written and archived.
|
|
650
|
+
- vibe_v4_status / vibe_v4_report / vibe_v4_formal_report show the mode, the per-object formal
|
|
651
|
+
status and the formalization TODO (Formal/TODO.md). The framework never installs Lean and
|
|
652
|
+
never judges fidelity for you.
|
|
653
|
+
|
|
654
|
+
When the user asks about progress, call vibe_v4_report and summarize in plain language.
|
|
655
|
+
suffix: Your working directory is {{cwd}}.
|
|
656
|
+
- id: agent-instructions
|
|
657
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
658
|
+
config:
|
|
659
|
+
maxBytes: 65536
|
|
660
|
+
|
|
661
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
662
|
+
|
|
663
|
+
- id: tool-bash
|
|
664
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
665
|
+
disabled: !!js process.platform === 'win32'
|
|
666
|
+
|
|
667
|
+
- id: tool-pwsh
|
|
668
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
669
|
+
disabled: !!js process.platform !== 'win32'
|
|
670
|
+
|
|
671
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
672
|
+
|
|
673
|
+
- id: tool-fs
|
|
674
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
675
|
+
|
|
676
|
+
- id: tool-fs-search
|
|
677
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
678
|
+
config:
|
|
679
|
+
sampleOverCapGlobResults: false
|
|
680
|
+
|
|
681
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
682
|
+
|
|
683
|
+
- id: tool-jobs
|
|
684
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
685
|
+
|
|
686
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
687
|
+
|
|
688
|
+
- id: skill-filesystem
|
|
689
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
690
|
+
|
|
691
|
+
- id: tool-skill
|
|
692
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
693
|
+
|
|
694
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
695
|
+
|
|
696
|
+
- id: command-goal
|
|
697
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
698
|
+
|
|
699
|
+
- id: tool-goal
|
|
700
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
701
|
+
|
|
702
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
703
|
+
|
|
704
|
+
- id: planning
|
|
705
|
+
name: cordis:group
|
|
706
|
+
group: true
|
|
707
|
+
isolate:
|
|
708
|
+
planMode: true
|
|
709
|
+
config:
|
|
710
|
+
- id: plan-mode
|
|
711
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
712
|
+
config:
|
|
713
|
+
section: |
|
|
714
|
+
You are in plan mode. Stay in plan mode until exit_plan_mode succeeds or the user switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
|
|
715
|
+
|
|
716
|
+
Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
|
|
717
|
+
|
|
718
|
+
The tool catalog stays the same across modes for request-cache stability. These plan-mode rules override any later tool description or guidance that suggests using mutation tools; those tools remain listed to keep the tool catalog unchanged. Do not use todo_write to track this planning phase: it tracks implementation after an approved plan, while the plan itself belongs in exit_plan_mode.
|
|
719
|
+
|
|
720
|
+
Resolve discoverable facts by inspection. Use ask_user_question only for user-owned choices or material ambiguity that inspection cannot answer. Do not ask the user where code lives or how current behavior works when you can find out.
|
|
721
|
+
|
|
722
|
+
Make the plan decision-complete: state the goal and success criteria; group implementation changes by subsystem; identify public API, schema, and data-flow changes; cover edge cases, failure modes, tests, acceptance criteria, and explicit assumptions. Keep it concise enough to review but detailed enough that another engineer can implement it without making design decisions.
|
|
723
|
+
|
|
724
|
+
When ready, call exit_plan_mode with the complete plan markdown, starting with a # title. Make exit_plan_mode the only and final tool call in that assistant response: it presents the plan for approval, and implementation begins only in a later step after approval. Do not paste the final plan as a plain reply or ask "should I proceed?" through prose or ask_user_question. If review rejects it, incorporate the feedback and present again. If the review channel is unavailable or aborted, stay in plan mode and ask the user to switch modes manually; do not proceed with implementation.
|
|
725
|
+
|
|
726
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
727
|
+
|
|
728
|
+
- id: compaction
|
|
729
|
+
name: cordis:group
|
|
730
|
+
group: true
|
|
731
|
+
isolate:
|
|
732
|
+
compaction: true
|
|
733
|
+
toolResultPruner: true
|
|
734
|
+
config:
|
|
735
|
+
- id: compaction-basic
|
|
736
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
737
|
+
|
|
738
|
+
- id: command-compact
|
|
739
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
740
|
+
|
|
741
|
+
- id: tool-result-pruner
|
|
742
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
743
|
+
config:
|
|
744
|
+
thresholdChars: 8192
|
|
745
|
+
headChars: 4096
|
|
746
|
+
tailChars: 1024
|
|
747
|
+
|
|
748
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
749
|
+
|
|
750
|
+
- id: delegation
|
|
751
|
+
name: cordis:group
|
|
752
|
+
group: true
|
|
753
|
+
isolate:
|
|
754
|
+
workflowEngine: true
|
|
755
|
+
config:
|
|
756
|
+
- id: tool-subagent-control
|
|
757
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
758
|
+
|
|
759
|
+
- id: tool-subagent-list-agents
|
|
760
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
761
|
+
|
|
762
|
+
- id: tool-subagent
|
|
763
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
764
|
+
config:
|
|
765
|
+
provider: spawn
|
|
766
|
+
toolName: subagent
|
|
767
|
+
backgroundMode: continuable
|
|
768
|
+
|
|
769
|
+
- id: tool-subagent-fork
|
|
770
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
771
|
+
config:
|
|
772
|
+
provider: fork
|
|
773
|
+
toolName: subagent_fork
|
|
774
|
+
backgroundMode: continuable
|
|
775
|
+
|
|
776
|
+
- id: workflow-ptc
|
|
777
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
778
|
+
config:
|
|
779
|
+
provider: spawn
|
|
780
|
+
|
|
781
|
+
- id: tool-workflow
|
|
782
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
783
|
+
|
|
784
|
+
- id: tool-ralph
|
|
785
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
786
|
+
config:
|
|
787
|
+
subagentProvider: spawn
|
|
788
|
+
maxRounds: 64
|
|
789
|
+
|
|
790
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
791
|
+
|
|
792
|
+
- id: tool-ask-user
|
|
793
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
794
|
+
|
|
795
|
+
- id: tool-todo
|
|
796
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
797
|
+
config:
|
|
798
|
+
allowParallelInProgress: true
|
|
799
|
+
|
|
800
|
+
- id: tool-web
|
|
801
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
802
|
+
config:
|
|
803
|
+
fetch: false
|
|
804
|
+
searchTimeoutMs: 60000
|
|
805
|
+
|
|
806
|
+
- id: present
|
|
807
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
808
|
+
|
|
809
|
+
# ── Vibe Math V4 ────────────────────────────────────────────────────────────
|
|
810
|
+
|
|
811
|
+
# THE FOURTH-GENERATION framework: this package's plugin (dsh-vibe-math/vibe-math-v4/vibe-math-v4.js)
|
|
812
|
+
# that registers the vibe_v4_* tools + a /v4 slash command, and facilitates a
|
|
813
|
+
# persistent self-organizing band of resident subagents (message bus / meetings /
|
|
814
|
+
# per-resident artifact libraries / unanimous-consensus verification / context
|
|
815
|
+
# compaction / resume / human intervention). It consumes HOST
|
|
816
|
+
# subagents/agents/fs/tools/commands services and provides nothing, so it sits
|
|
817
|
+
# loose (no isolate realm).
|
|
818
|
+
- id: vibe-math-v4
|
|
819
|
+
name: 'dsh-vibe-math/vibe-math-v4/vibe-math-v4.js'
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
# ── Vibe Math V5 ──────────────────────────────────────────────────────────────
|
|
823
|
+
- insert:
|
|
824
|
+
- id: preset-vibe-math-v5
|
|
825
|
+
name: dsh-vibe-math/preset-declaration
|
|
826
|
+
config:
|
|
827
|
+
id: vibe-math-v5
|
|
828
|
+
name: "Vibe Math V5"
|
|
829
|
+
description: "研究所体系(第五代架构):设院士(领头人/组织协调中心)、常驻研究员、临时工三类职员;成员可群聊/开会、自主分工与雇佣解雇临时工;院士统筹全所、拆解并分派任务、设定优先级、主持会议、督导进度;每位成员有自己的 Progress/命题/方法/子问题库(progress 有完整定义与用途说明);任何结论须至少 m 名有表决权者一致给出布尔概率 1 或 0 才写入 Verified/,否则留库附全组平均概率;上下文达阈值自动压缩;仅当全体有表决权者一致认为原问题已解决才停止;状态存于加固 JSON(State/<研究所>.v5state.json),支持断点续跑与多会话隔离。"
|
|
830
|
+
order: 23
|
|
831
|
+
plugins:
|
|
832
|
+
# The `vibe-math-v5` agent preset: the full coding agent (`standard`), plus the
|
|
833
|
+
# FIFTH-generation "research institute" framework (see 实现方案.md).
|
|
834
|
+
#
|
|
835
|
+
# V5 turns v4's band of residents into a RESEARCH INSTITUTE with real offices:
|
|
836
|
+
# · 院士 (academician) — the leader and organizational centre: builds the
|
|
837
|
+
# institute-wide view, decomposes the problem into tasks and ASSIGNS them,
|
|
838
|
+
# sets priorities, chairs meetings, supervises progress, reallocates temps.
|
|
839
|
+
# · 常驻研究员 (permanent researchers) — vote, hire/fire their own temps.
|
|
840
|
+
# · 临时工 (temp workers) — hired per task by the academician or a researcher;
|
|
841
|
+
# no vote.
|
|
842
|
+
# Members talk in a group chat and hold meetings; anyone may propose verifying an
|
|
843
|
+
# object, but an object enters Verified/ ONLY when at least m voting members
|
|
844
|
+
# (academician + permanent researchers) agree AND every one of those votes is the
|
|
845
|
+
# boolean probability 1 (true) or every one is 0 (false). Anything else stays in
|
|
846
|
+
# its library with the group's mean probability.
|
|
847
|
+
#
|
|
848
|
+
# The framework is only the MEDIUM (message relay / meetings / task board /
|
|
849
|
+
# artifact libraries / consensus tally / context / resume). It NEVER assigns
|
|
850
|
+
# tasks — the academician does that, as a member subject to the same m-vote rule.
|
|
851
|
+
#
|
|
852
|
+
# The vibe-math-v5 plugin row consumes HOST subagents/agents/fs/tools/commands/
|
|
853
|
+
# timer services and publishes nothing, so it needs no isolate realm. Institute
|
|
854
|
+
# state lives in its own hardened JSON file (State/<institute>.v5state.json):
|
|
855
|
+
# the plugin appends NOTHING to any host session log.
|
|
856
|
+
|
|
857
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
858
|
+
|
|
859
|
+
- id: persona
|
|
860
|
+
name: '@deepseek-ai/dsh-persona'
|
|
861
|
+
config:
|
|
862
|
+
prefix: |-
|
|
863
|
+
You are a coding agent powered by the {{model}} model.
|
|
864
|
+
|
|
865
|
+
## Vibe Math V5 toolkit — the research-institute framework
|
|
866
|
+
|
|
867
|
+
This session includes "Vibe Math V5": a self-organizing RESEARCH INSTITUTE
|
|
868
|
+
that solves a research problem by talking. It is NOT a scheduler. It has
|
|
869
|
+
three kinds of staff:
|
|
870
|
+
|
|
871
|
+
· 院士 (academician, code `acad`) — ONE. The leader and the ORGANIZATIONAL
|
|
872
|
+
CENTRE of the institute. It researches too, but it is chiefly responsible
|
|
873
|
+
for the institute-wide view, decomposing the problem into tasks and
|
|
874
|
+
ASSIGNING them to suitable members, setting priorities, chairing
|
|
875
|
+
meetings, supervising progress and unblocking stalled directions, and
|
|
876
|
+
reallocating temp workers. It has NO extra voting weight and cannot
|
|
877
|
+
decide truth by fiat.
|
|
878
|
+
· 常驻研究员 (permanent researchers, `r-<n>`) — hold the vote, and may
|
|
879
|
+
hire/fire their OWN temp workers freely.
|
|
880
|
+
· 临时工 (temp workers, `t-<n>`) — hired for a specific task by the
|
|
881
|
+
academician or a researcher. They may read, think, speak, keep their own
|
|
882
|
+
library and claim/be assigned tasks, but they have NO vote.
|
|
883
|
+
|
|
884
|
+
Members talk in a group chat (`vibe_v5_say`), hold meetings, keep their own
|
|
885
|
+
Progress/Propos/Methods/Subproblems libraries (written directly with fs in a
|
|
886
|
+
documented format — the charter explains the exact fields and why progress
|
|
887
|
+
matters), and share a compare-and-set task DAG (`vibe_v5_task_*`).
|
|
888
|
+
|
|
889
|
+
**TRUTH IS HARD BY DESIGN.** An object enters `Verified/` ONLY when at least
|
|
890
|
+
m voting members (academician + permanent researchers) return a BOOLEAN
|
|
891
|
+
probability and ALL of them return the same one — every vote exactly 1
|
|
892
|
+
(true), or every vote exactly 0 (false). A vote strictly between 0 and 1 is
|
|
893
|
+
recorded as an abstention: it does not count toward m, but it does count
|
|
894
|
+
toward the group's mean probability. Any vote pointing the other way blocks
|
|
895
|
+
the verdict. Otherwise the object stays in its library labelled 未定论 with
|
|
896
|
+
the mean probability and the full debate record. There is no forced closure.
|
|
897
|
+
|
|
898
|
+
**YOUR ROLE — HANDS-OFF.** You are the institute's EXTERNAL INTERFACE (所办),
|
|
899
|
+
not a member. You do NOT research, do NOT vote, and hold no library. Report
|
|
900
|
+
status in plain language, relay the user's instructions into the institute,
|
|
901
|
+
and hold the creation authority the platform requires. Do NOT inject
|
|
902
|
+
agendas, priorities, division of labour, or verification verdicts — the
|
|
903
|
+
academician and the researchers decide all of that. After
|
|
904
|
+
`vibe_v5_start`, stay passive: read `vibe_v5_report` / `vibe_v5_status` and
|
|
905
|
+
summarise. Use `vibe_v5_message` / `vibe_v5_meeting` ONLY when the user
|
|
906
|
+
explicitly asks, or when the institute is visibly deadlocked — and even then
|
|
907
|
+
only relay/nudge, never decide for them.
|
|
908
|
+
|
|
909
|
+
Data lives under {{cwd}}/VibeMath/Projects/<project>/Institutes/<institute>/:
|
|
910
|
+
Members/<id>/Progress/progress.md, Members/<id>/Propos/<id>.md,
|
|
911
|
+
Members/<id>/Methods/<id>.md, Members/<id>/Subproblems/<id>.md,
|
|
912
|
+
Shared/TaskBoard.md (human view), Shared/Chat/<day>.md,
|
|
913
|
+
Shared/Meetings/<id>.md, Shared/Debates/<target>.md,
|
|
914
|
+
Problems/<id>.md, Verified/<kind>/<id>.md (read-only; m-vote only),
|
|
915
|
+
State/ (a human-readable MIRROR only — the authoritative state is the
|
|
916
|
+
session log projection; never hand-edit State/).
|
|
917
|
+
|
|
918
|
+
Main controls (recommended flow: configure FIRST, then start):
|
|
919
|
+
- vibe_v5_configure {project?, institute?, problem?, params?} — create/configure the institute WITHOUT starting it.
|
|
920
|
+
- vibe_v5_start {problem?, researcherCount?, academician?, seedDirections?} — found the institute (academician + researchers) and begin.
|
|
921
|
+
- vibe_v5_set {…} — tune params (persisted). provider/model override staff LLM routes (empty = inherit YOUR route); toolAllow/toolDeny restrict staff tools.
|
|
922
|
+
- vibe_v5_pause / vibe_v5_resume / vibe_v5_stop / vibe_v5_status / vibe_v5_report.
|
|
923
|
+
- vibe_v5_message {to|all, content} — relay a human message into the institute.
|
|
924
|
+
- vibe_v5_meeting {agenda, kind} — convene a meeting.
|
|
925
|
+
- vibe_v5_members — roster (office/employer/status/direction).
|
|
926
|
+
- vibe_v5_hire / vibe_v5_fire — temp workers: hire one (office, academician or a permanent researcher) / dismiss one for real.
|
|
927
|
+
- vibe_v5_add_researcher / vibe_v5_remove_researcher — OFFICE only: add or dismiss a PERMANENT researcher (the academician can only propose those).
|
|
928
|
+
- vibe_v5_lean_run / vibe_v5_lean_archive / vibe_v5_lean_lib — Lean formal
|
|
929
|
+
verification (execute / archive / list the reuse library). Members use them
|
|
930
|
+
too; they work in every mode.
|
|
931
|
+
A /v5 slash command mirrors these (configure|start|resume|pause|stop|status|report|members|message|meeting|hire|fire|add|remove|set).
|
|
932
|
+
|
|
933
|
+
LEAN FORMAL VERIFICATION (formalVerify, a tunable parameter):
|
|
934
|
+
- 'off' (default, no extra requirement) | 'encourage' (members decide by
|
|
935
|
+
implementation difficulty whether to formalize; a passing Lean run turns the
|
|
936
|
+
vote into a FIDELITY review of the Lean statements) | 'require' (same, plus a
|
|
937
|
+
gate: a true/false verdict is withheld as 未定论 until the object is Lean-passed
|
|
938
|
+
or carries an explicit, reasoned blocker record).
|
|
939
|
+
- Paths: work file Formal/<id>.lean; archived proof Verified/Lean/<id>.lean;
|
|
940
|
+
reusable definitions VibeMath/Formal/Lib/; proved lemmas VibeMath/Formal/Proved/.
|
|
941
|
+
- The toolchain knobs leanCommand / leanArgs / leanTimeoutMs are tunable as well
|
|
942
|
+
(e.g. leanCommand='lake' with leanArgs=['env','lean']); a missing Lean binary is
|
|
943
|
+
reported as LEAN_NOT_FOUND, a host with no subprocess service as NO_SUBPROCESS
|
|
944
|
+
(on a timeout the process is terminated first), and in every one of those cases the
|
|
945
|
+
code can still be written down and archived.
|
|
946
|
+
- vibe_v5_status / vibe_v5_report show the mode, per-object formal status and the
|
|
947
|
+
formalization TODO. The framework never installs Lean and never judges fidelity.
|
|
948
|
+
|
|
949
|
+
TRUST RULE: only Verified/ (and library cards marked 已验证·真/假) is
|
|
950
|
+
absolutely trustworthy. Everything else — unverified claims, Progress/,
|
|
951
|
+
unverified Methods/ assertions — is experiential reference.
|
|
952
|
+
|
|
953
|
+
When the user asks about progress, call vibe_v5_report and summarise in
|
|
954
|
+
plain language. Never present an unverified claim as established.
|
|
955
|
+
suffix: Your working directory is {{cwd}}.
|
|
956
|
+
- id: agent-instructions
|
|
957
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
958
|
+
config:
|
|
959
|
+
maxBytes: 65536
|
|
960
|
+
|
|
961
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
962
|
+
|
|
963
|
+
- id: tool-bash
|
|
964
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
965
|
+
disabled: !!js process.platform === 'win32'
|
|
966
|
+
|
|
967
|
+
- id: tool-pwsh
|
|
968
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
969
|
+
disabled: !!js process.platform !== 'win32'
|
|
970
|
+
|
|
971
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
972
|
+
|
|
973
|
+
- id: tool-fs
|
|
974
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
975
|
+
|
|
976
|
+
- id: tool-fs-search
|
|
977
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
978
|
+
config:
|
|
979
|
+
sampleOverCapGlobResults: false
|
|
980
|
+
|
|
981
|
+
# ── background jobs ─────────────────────────────────────────────────────────
|
|
982
|
+
|
|
983
|
+
- id: tool-jobs
|
|
984
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
985
|
+
|
|
986
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
987
|
+
|
|
988
|
+
- id: skill-filesystem
|
|
989
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
990
|
+
|
|
991
|
+
- id: tool-skill
|
|
992
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
993
|
+
|
|
994
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
995
|
+
|
|
996
|
+
- id: command-goal
|
|
997
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
998
|
+
|
|
999
|
+
- id: tool-goal
|
|
1000
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
1001
|
+
|
|
1002
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
1003
|
+
|
|
1004
|
+
- id: planning
|
|
1005
|
+
name: cordis:group
|
|
1006
|
+
group: true
|
|
1007
|
+
isolate:
|
|
1008
|
+
planMode: true
|
|
1009
|
+
config:
|
|
1010
|
+
- id: plan-mode
|
|
1011
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
1012
|
+
config:
|
|
1013
|
+
section: |
|
|
1014
|
+
You are in plan mode. Stay in plan mode until exit_plan_mode succeeds or the user switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
|
|
1015
|
+
|
|
1016
|
+
Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
|
|
1017
|
+
|
|
1018
|
+
The tool catalog stays the same across modes for request-cache stability. These plan-mode rules override any later tool description or guidance that suggests using mutation tools; those tools remain listed to keep the tool catalog unchanged. Do not use todo_write to track this planning phase: it tracks implementation after an approved plan, while the plan itself belongs in exit_plan_mode.
|
|
1019
|
+
|
|
1020
|
+
Resolve discoverable facts by inspection. Use ask_user_question only for user-owned choices or material ambiguity that inspection cannot answer. Do not ask the user where code lives or how current behavior works when you can find out.
|
|
1021
|
+
|
|
1022
|
+
Make the plan decision-complete: state the goal and success criteria; group implementation changes by subsystem; identify public API, schema, and data-flow changes; cover edge cases, failure modes, tests, acceptance criteria, and explicit assumptions. Keep it concise enough to review but detailed enough that another engineer can implement it without making design decisions.
|
|
1023
|
+
|
|
1024
|
+
When ready, call exit_plan_mode with the complete plan markdown, starting with a # title. Make exit_plan_mode the only and final tool call in that assistant response: it presents the plan for approval, and implementation begins only in a later step after approval. Do not paste the final plan as a plain reply or ask "should I proceed?" through prose or ask_user_question. If review rejects it, incorporate the feedback and present again. If the review channel is unavailable or aborted, stay in plan mode and ask the user to switch modes manually; do not proceed with implementation.
|
|
1025
|
+
|
|
1026
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
1027
|
+
|
|
1028
|
+
- id: compaction
|
|
1029
|
+
name: cordis:group
|
|
1030
|
+
group: true
|
|
1031
|
+
isolate:
|
|
1032
|
+
compaction: true
|
|
1033
|
+
toolResultPruner: true
|
|
1034
|
+
config:
|
|
1035
|
+
- id: compaction-basic
|
|
1036
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
1037
|
+
|
|
1038
|
+
- id: command-compact
|
|
1039
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
1040
|
+
|
|
1041
|
+
- id: tool-result-pruner
|
|
1042
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
1043
|
+
config:
|
|
1044
|
+
thresholdChars: 8192
|
|
1045
|
+
headChars: 4096
|
|
1046
|
+
tailChars: 1024
|
|
1047
|
+
|
|
1048
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
1049
|
+
|
|
1050
|
+
- id: delegation
|
|
1051
|
+
name: cordis:group
|
|
1052
|
+
group: true
|
|
1053
|
+
isolate:
|
|
1054
|
+
workflowEngine: true
|
|
1055
|
+
config:
|
|
1056
|
+
- id: tool-subagent-control
|
|
1057
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
1058
|
+
|
|
1059
|
+
- id: tool-subagent-list-agents
|
|
1060
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
1061
|
+
|
|
1062
|
+
- id: tool-subagent
|
|
1063
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
1064
|
+
config:
|
|
1065
|
+
provider: spawn
|
|
1066
|
+
toolName: subagent
|
|
1067
|
+
backgroundMode: continuable
|
|
1068
|
+
|
|
1069
|
+
- id: tool-subagent-fork
|
|
1070
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
1071
|
+
config:
|
|
1072
|
+
provider: fork
|
|
1073
|
+
toolName: subagent_fork
|
|
1074
|
+
backgroundMode: continuable
|
|
1075
|
+
|
|
1076
|
+
- id: workflow-ptc
|
|
1077
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
1078
|
+
config:
|
|
1079
|
+
provider: spawn
|
|
1080
|
+
|
|
1081
|
+
- id: tool-workflow
|
|
1082
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
1083
|
+
|
|
1084
|
+
- id: tool-ralph
|
|
1085
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
1086
|
+
config:
|
|
1087
|
+
subagentProvider: spawn
|
|
1088
|
+
maxRounds: 64
|
|
1089
|
+
|
|
1090
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
1091
|
+
|
|
1092
|
+
- id: tool-ask-user
|
|
1093
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
1094
|
+
|
|
1095
|
+
- id: tool-todo
|
|
1096
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
1097
|
+
config:
|
|
1098
|
+
allowParallelInProgress: true
|
|
1099
|
+
|
|
1100
|
+
- id: tool-web
|
|
1101
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
1102
|
+
config:
|
|
1103
|
+
fetch: false
|
|
1104
|
+
searchTimeoutMs: 60000
|
|
1105
|
+
|
|
1106
|
+
- id: present
|
|
1107
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
1108
|
+
|
|
1109
|
+
# ── Vibe Math V5 ────────────────────────────────────────────────────────────
|
|
1110
|
+
|
|
1111
|
+
# THE FIFTH-GENERATION framework: this package's plugin (dsh-vibe-math/vibe-math-v5/vibe-math-v5.js) that
|
|
1112
|
+
# registers the vibe_v5_* tools + a /v5 slash command and runs the research
|
|
1113
|
+
# institute (group chat / meetings / per-member artifact libraries / the academician's
|
|
1114
|
+
# organization & task assignment / m-vote boolean consensus verification /
|
|
1115
|
+
# hire & fire / context compaction / resume / human intervention).
|
|
1116
|
+
#
|
|
1117
|
+
# It consumes HOST subagents/agents/fs/tools/commands/timer services; it provides
|
|
1118
|
+
# no service of its own, so it sits loose (no isolate realm). Institute state is
|
|
1119
|
+
# persisted by the plugin itself in State/<institute>.v5state.json — the host
|
|
1120
|
+
# session log is never written (DSH refuses to load a session that carries an
|
|
1121
|
+
# unknown event type, and Session.append cannot mark one ignorable).
|
|
1122
|
+
- id: vibe-math-v5
|
|
1123
|
+
name: 'dsh-vibe-math/vibe-math-v5/vibe-math-v5.js'
|