dsh-vibe-math 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -341
- package/cordis.patch.yml +7 -43
- package/installer.js +51 -0
- package/package.json +14 -7
- package/{vibe-math.js → vibe-math-v1/vibe-math.js} +2 -2
- package/vibe-math-v1//345/256/236/347/216/260/346/226/271/346/241/210-/345/244/232/344/273/243/347/220/206/346/225/260/345/255/246/351/227/256/351/242/230/346/261/202/350/247/243/344/270/216/351/252/214/350/257/201/346/241/206/346/236/266.md +159 -0
- package/vibe-math-v2/agent.cordis.yml +201 -0
- package/vibe-math-v2/preset.yml +2 -0
- package/vibe-math-v2/vibe-math-v2.js +1046 -0
- package/vibe-math-v2//345/256/236/347/216/260/346/226/271/346/241/210.md +180 -0
- /package/{agent.cordis.yml → vibe-math-v1/agent.cordis.yml} +0 -0
- /package/{preset.yml → vibe-math-v1/preset.yml} +0 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
整个项目需具有下述功能:
|
|
5
|
+
|
|
6
|
+
- 1. 断点后继续:如储存各个代理的对话记录、储存任务栈,支持恢复之前状态。
|
|
7
|
+
- 2. 允许中途人工干预(并继续)工作流:如允许中途人工决策一些控制、代理的一些参数设置、代理的会话、每一个关键节点的决策。可随时切换“人工 / 自动(预设)”。
|
|
8
|
+
|
|
9
|
+
每隔一段时间(如:当有变动、出现新进展或发生新调用,或者当有代理的会话结束时),委托主代理总结汇告当前进展、各代理情况/进度等信息。
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# Vibe Mathematics —— 多代理数学问题求解与验证框架
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
> **核心原则**:严格遵循“广度探索 → 深度迭代 → 交叉验证 → 知识沉淀”的闭环。
|
|
17
|
+
> **并发约束(全局铁律)**:严禁两个及以上进程/代理同时对**同一文件**进行写入操作。所有“待验证”、“正在验证”、“已验证”路径下的文件移动与合并,均需通过**临时原子交换(tmp原子交换)**完成。
|
|
18
|
+
|
|
19
|
+
## 全局设置
|
|
20
|
+
|
|
21
|
+
- **路径映射(需设定好统一的文件格式规范)**:
|
|
22
|
+
- `qs/qs.csv`:待解决问题清单,格式为“问题id,问题描述,问题优先级(数值越小越优先),当前状态(是否解决)”。
|
|
23
|
+
- `Verified/`:已验证正确的结论、解法、引理(**绝对可信知识库**)。
|
|
24
|
+
- `Pending_Verification/`:待验证的原始输出文件。
|
|
25
|
+
- `Under_Verification/`:正在被验证器拆解的单体验证对象。
|
|
26
|
+
- `Temp/`:临时写入与合并工作区。
|
|
27
|
+
- `Progress_Logs/`:存放所有问题的进度概述文件(`{q_id}_progress.csv`)。
|
|
28
|
+
- **权限**(允许通过参数调控各代理权限):下述所有任务、子代理在运行过程中,**默认允许**:
|
|
29
|
+
1. 读取 `Verified/` 路径下的任何文件作为已知依赖;
|
|
30
|
+
2. 不限次数调用外部工具(搜索引擎、符号计算库、论文数据库)进行文献检索或数值辅助验证。
|
|
31
|
+
- **参数**:
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## 主程序(调度器)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
注意:
|
|
43
|
+
1 .过程中所有涉及调用新代理的操作都要等待到 `active_sub_agents_count < MAX_PARALLEL_THRESHOLD` 时才可进行。
|
|
44
|
+
2 .主程序的控制主要通过编程来实现,而不是通过代理来控制、调度。
|
|
45
|
+
|
|
46
|
+
主循环中可进行/调度的任务:
|
|
47
|
+
1 .从 `qs.csv` 中取出优先级最高的未解决问题 q 执行 `solve(q)`,若没有未解决问题则终止主程序/终止整个项目进程。
|
|
48
|
+
2 .执行函数: `“验证和结果处理”` (见后文定义)。
|
|
49
|
+
3 .当 `Verified` 出现新文件时,调用一个代理,告诉它我们当前的背景,然后提出需求:让它根据 `Verified` 的这个新文件,判断是否是问题清单中某未解决问题的解法,如果是那么就更新问题清单 `qs.csv` 中该问题的状态(“未解决”→“已解决”),并将这个新文件重命名为 `{q}-的解法_{唯一标识}.csv` 。
|
|
50
|
+
(默认按顺序循环执行)
|
|
51
|
+
|
|
52
|
+
## 核心函数定义
|
|
53
|
+
|
|
54
|
+
### 1. `solve(q)`
|
|
55
|
+
|
|
56
|
+
**前置检查**:若 `Verified/` 目录下已存在 `q` 的完整解决方案(唯一标识匹配),则直接终止本函数,返回已有结果。
|
|
57
|
+
|
|
58
|
+
**构建大方向集 `M_q`**(数学方法论分类):
|
|
59
|
+
|
|
60
|
+
- **若 `Progress_Logs/{q}_progress.csv` 不存在**:
|
|
61
|
+
1. 进行第一阶段**元认知头脑风暴**(约束分解、边界极端测试、相似问题映射);
|
|
62
|
+
2. 将解法拆分为数个**大相径庭**的尝试方向 `m_i`(例如:解析法、构造性证明、反证法、数值逼近+极限过渡、范畴论抽象等);
|
|
63
|
+
3. 记录每个方向的核心假设与初始可行性预估至 `{q}_progress.csv`,形成初始集合 `M_q = {m_i}`。
|
|
64
|
+
|
|
65
|
+
- **若 `Progress_Logs/{q}_progress.csv` 存在**:
|
|
66
|
+
1. 读取并解析已有进度,对各方向的**历史进展、遇阻原因、可行性衰减曲线**进行量化分析;
|
|
67
|
+
2. 筛除已被充分证明为“死路”的方向(除非有新工具引入);
|
|
68
|
+
3. 基于当前痛点,**深度推导**出 1~3 个从未尝试过的崭新大方向(需附上推导动机);
|
|
69
|
+
4. 将“遗留高潜方向”与“新生方向”取并集,重构为新的 `M_q`。
|
|
70
|
+
|
|
71
|
+
**任务分配与迭代求解**:
|
|
72
|
+
将 `M_q` 中的每个 `m_i` 独立分配给一个**专属子代理**(类型标识为 `Solver-{q}`),并发执行 `agent_self_iteration(q, m_i)`。
|
|
73
|
+
|
|
74
|
+
### 2. `agent_self_iteration(q, m)`
|
|
75
|
+
|
|
76
|
+
**角色定位**:专注执行方向 `m` 的深度研究,具备自主切换子路线、设定临时假设、自我批判的能力。
|
|
77
|
+
|
|
78
|
+
**执行流程**(同 Session 内持续迭代):
|
|
79
|
+
|
|
80
|
+
1. **起点定位**:参考 `{q}_progress.csv` 中方向 `m` 的最后记录节点,决定是继承进度继续深挖,还是在大方向下另辟蹊径。
|
|
81
|
+
2. **单次迭代动作**(每轮对话):
|
|
82
|
+
- 尝试推进证明/计算;
|
|
83
|
+
- **必须产出**(即使未完全解决):
|
|
84
|
+
- 本次推导出的**新引理/中间结论**及完整证明过程;
|
|
85
|
+
- 尝试过的各具体子路线,及它们的进度(概述整个子路线的所有经历及当前进度)、可行性情况、**明确的可行性信号**(如“遇到不可消除的奇点”、“与某已知定理冲突”等)、遇到的障碍、不可行的原因等等;
|
|
86
|
+
- 更新对方向 `m` 的整体存活概率评估。
|
|
87
|
+
3. **分支递归**:若在执行过程中遇到**复杂度极高**的附属猜想/子问题 `q_sub`:
|
|
88
|
+
- 可将其加入`qs.csv`,然后**异步调用** `solve(q_sub)` 启动新求解线程(并记录依赖关系);
|
|
89
|
+
- 在当前线程中,**临时假设 `q_sub` 成立**,继续推进主线(将此假设明确标记为 `Aux_Hypothesis`);
|
|
90
|
+
- 待 `q_sub` 被正式解决后,回填此假设为已验证,并刷新当前进度。
|
|
91
|
+
4. **终止条件(进入 `END` 状态)**:
|
|
92
|
+
- **成功**:得到完整的 `q` 解法,并对其执行严格的**自我对抗性检查**(尝试构造反例,检查边界条件)。若自检不通过,修正后重新计数迭代;
|
|
93
|
+
- **失败/超时**:迭代次数达到预设上限(如 20 轮),或判定方向 `m` 已无可行路径。
|
|
94
|
+
5. **最终输出(原子写入)**:
|
|
95
|
+
- 将所有产出(完整解法、当前最接近的碎片结论、所有失败路线的详细归因、有用引理及其证明)整理为 **唯一标识的 CSV 文件**(命名:`temp_{UUID}.csv`),写入 `Temp/`;
|
|
96
|
+
- **原子操作**:根据 `temp_{UUID}.csv` ,将其中的 “完整解法(如果有)、所有有价值发现、碎片结论、有用引理及其证明” 整理为文件 `{UUID}.csv` 到 `Pending_Verification/` 路径下;
|
|
97
|
+
- **同步更新进度日志**:将本轮所有尝试、经验教训(如整体可行性评价及障碍、所有失败路线及它们的详细归因、各路线过程中遇到的障碍)、假设依赖合并入 `Progress_Logs/{q}_progress.csv`。
|
|
98
|
+
|
|
99
|
+
### 3. 验证和结果处理(异步常驻进程)
|
|
100
|
+
|
|
101
|
+
**触发条件**:检测到 `Pending_Verification/` 路径下存在待验证文件。
|
|
102
|
+
|
|
103
|
+
**执行步骤**:
|
|
104
|
+
|
|
105
|
+
1. **合并与拆解**:
|
|
106
|
+
- 将 `Pending_Verification/` 下的新文件进行**逻辑合并**(去重、整合引用);
|
|
107
|
+
- 将合并后的内容拆解为若干个**最小验证单元** `a_i`(如“单个结论+其证明”、“仅经验性解法”、“某条孤立引理”,以及标明依赖)。每个单元存入 `Under_Verification/`,命名格式为:`{unique_obj_id}_{brief_title}.csv`。
|
|
108
|
+
- **注意**:拆解时必须显式提取该单元的**依赖链**(引用了哪些外部对象/结论)。若依赖不在 `Verified/` 中,在单元内标记为 `Unverified_Dependency`。
|
|
109
|
+
- 删除原合并文件。
|
|
110
|
+
|
|
111
|
+
2. **并行验证分配**:
|
|
112
|
+
- 针对 `Under_Verification/` 下的每个 `a_i`,**分配多个独立子代理**执行 `验证器(a_i)` ,得到各 `a_i` 最终验证器验证结果。最后删除原 `Under_Verification` 下 `a_i` 对应文件(当后续对它的操作都完成后)。
|
|
113
|
+
|
|
114
|
+
3. **结果归并与知识晋升**:
|
|
115
|
+
- 将验证结果为 **“真”**(含依赖假定的情况)的单元,写入 `Temp_Validated/` 路径下,内容格式强制为:
|
|
116
|
+
```
|
|
117
|
+
Dependencies (Assumed or Verified): [列表,仅结论标题,不含证明]
|
|
118
|
+
---
|
|
119
|
+
Target Content: [a_i 的完整内容]
|
|
120
|
+
```
|
|
121
|
+
- **晋升至 `Verified/`**:后台进程持续扫描 `Temp_Validated/`,若发现某个待晋升对象的**全部依赖链**均已存在于 `Verified/` 中,则将该对象及其全部依赖的完整文件**原子移动**至 `Verified/`,并从 `Temp_Validated/` 移除。
|
|
122
|
+
|
|
123
|
+
### 4. `验证器(r)`
|
|
124
|
+
|
|
125
|
+
**核心机制**:多代理独立审查 → 同步辩论(“交流群”)→ 共识达成(或强制裁决)。
|
|
126
|
+
|
|
127
|
+
**输入**:单个验证对象 `r`(包含结论及证明,或仅结论)。
|
|
128
|
+
|
|
129
|
+
**执行策略**:
|
|
130
|
+
|
|
131
|
+
1. **独立审查阶段**
|
|
132
|
+
- 向 **多个子代理**(身份为“严苛审稿人”)分别发送 `r`,每个代理多次检查在假定其依赖成立下待验证对象是否成立。要求各代理独立输出初始审查报告,包含:
|
|
133
|
+
- `Verdict`:`True` / `False` / `Uncertain`;
|
|
134
|
+
- `Reason`:详细逻辑链、潜在反例或对依赖的质疑;
|
|
135
|
+
- `Strictness_Level`:对 `Unverified_Dependency` 的容忍度(严格/宽松)。
|
|
136
|
+
- 所有代理在收到彼此报告前,不得互相通信,确保初始判断独立无偏。
|
|
137
|
+
|
|
138
|
+
2. **辩论阶段(“交流群”轮流发言)**
|
|
139
|
+
- 所有代理进入同一虚拟“交流群”,按照**随机或某顺序**依次发言,每轮发言内容需包含:
|
|
140
|
+
- 当前自己的 `Verdict` 与 `Reason`;
|
|
141
|
+
- 对其他代理先前发言的回应(赞同、反驳或提出新证据);
|
|
142
|
+
- 若因他人意见而改变立场,需明确说明转变理由。
|
|
143
|
+
- 辩论持续 **多轮**(例如上限 5 轮),每轮每个代理必须发言一次。
|
|
144
|
+
- 每轮结束后,检查是否所有代理的 `Verdict` 已达成一致(全部为 `True` 或全部为 `False`)。
|
|
145
|
+
- **若一致**:立即终止辩论,进入最终输出;
|
|
146
|
+
- **若未一致**:继续下一轮,直至达到最大轮数。
|
|
147
|
+
|
|
148
|
+
3. **共识判定与强制裁决**
|
|
149
|
+
- 若达到最大轮数后仍未一致,则按照预设的参数采用下述方式之一:
|
|
150
|
+
- 直接否决制:判定为 `False` (数学严谨性)
|
|
151
|
+
- 启动强制裁决机制:
|
|
152
|
+
- 采用**加权投票**,权重基于各代理的历史准确率 + 本次推理严谨性评分(由系统动态评估);
|
|
153
|
+
- 当票数持平或存在 `False` 票时,严格遵循 **“证伪优先”** 原则:只要有一个代理坚持 `False` 且其理由未被有效驳倒,则最终判定为 `False`(数学严谨性优先);
|
|
154
|
+
- 若所有代理均为 `Uncertain` 或 `True` 与 `Uncertain` 混合,则视为未通过验证,返回 `False`(因证据不足)。
|
|
155
|
+
|
|
156
|
+
4. **最终输出**
|
|
157
|
+
- **判定为真**:输出 `True` ;
|
|
158
|
+
- **判定为假**:输出 `False` ,并把 `r` 及其 不可行原因(如 **详细的反例构造或逻辑断裂点**),记录到 `Progress_Logs/` 来供后续方向避坑。 (注意:若是采用的“直接否决制”,则还需标注来说明:这个 `r` 的正确与否情况存疑,不可行原因未得到充分验证)
|
|
159
|
+
- 辩论全过程的发言记录将被存入 `Progress_Logs/` 下的对应验证日志(便于复盘与审计)。
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# The `vibe-math-v2` agent preset: the full coding agent (`standard`), plus the
|
|
2
|
+
# NEW-architecture multi-agent mathematical problem-solving & verification
|
|
3
|
+
# framework (see 新架构-vibe-math-实现方案.md).
|
|
4
|
+
#
|
|
5
|
+
# The vibe-math-v2 plugin row consumes the HOST subagents/agents/fs/tools/commands
|
|
6
|
+
# services and publishes nothing, so it needs no isolate realm.
|
|
7
|
+
|
|
8
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
9
|
+
|
|
10
|
+
- id: persona
|
|
11
|
+
name: '@deepseek-ai/dsh-persona'
|
|
12
|
+
config:
|
|
13
|
+
text: |-
|
|
14
|
+
You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.
|
|
15
|
+
|
|
16
|
+
## Vibe Math V2 toolkit
|
|
17
|
+
|
|
18
|
+
This session includes the "Vibe Math V2" multi-agent mathematical problem-solving and
|
|
19
|
+
verification framework (NEW architecture). It is driven by a background scheduler (code),
|
|
20
|
+
NOT by the model: you only issue the control tools below and read status; the scheduler
|
|
21
|
+
programmatically runs explorer (direction setting) → per-direction solvers (agent_self_iteration)
|
|
22
|
+
→ multi-reviewer independent review → debate → verdict, and promotes/updates data itself.
|
|
23
|
+
|
|
24
|
+
- vibe_math_add_problem {id, description, priority} — add a problem to qs/qs.json.
|
|
25
|
+
- vibe_math_add_proposition {id, 概述, 布尔估计, 优先级, 价值/关键性} — add a proposition to Propos/.
|
|
26
|
+
- vibe_math_list_propositions — list the proposition knowledge base (summary index).
|
|
27
|
+
- vibe_math_start / vibe_math_resume — start / resume the scheduler (resume = continue after a checkpoint or restart).
|
|
28
|
+
- vibe_math_status / vibe_math_report — read scheduler status / full progress report (report also writes Progress_Logs/report.json).
|
|
29
|
+
- vibe_math_pause / vibe_math_abort — pause / abort (abort interrupts all children).
|
|
30
|
+
- vibe_math_set_mode {mode: manual|auto} — switch manual / auto control.
|
|
31
|
+
- 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).
|
|
32
|
+
- vibe_math_setup / vibe_math_save_settings / vibe_math_template — guided configuration / persist defaults / generate template.
|
|
33
|
+
- vibe_math_new_project / vibe_math_set_project / vibe_math_list_projects — per-project folders.
|
|
34
|
+
- vibe_math_list_decisions / vibe_math_decide {id, action: approve|reject|override, verdict?} — resolve manual decisions.
|
|
35
|
+
- vibe_math_list_agents / vibe_math_message_agent / vibe_math_interrupt_agent — inspect / steer / interrupt subagents.
|
|
36
|
+
|
|
37
|
+
A /vibe slash command mirrors the main controls. Data lives under {{cwd}}/VibeMath/Projects/<project>/
|
|
38
|
+
(qs/qs.json, Propos/<分类>_Propos.json, Reliable/, Verified/, Verification_logs/, Progress_Logs/, VibeMath_State/)
|
|
39
|
+
and survives restarts via vibe_math_resume.
|
|
40
|
+
|
|
41
|
+
Key rules to remember when reporting: a problem is "solved" when one of its solutions reaches
|
|
42
|
+
正确概率 = 1; a proposition reaches 布尔估计 = 1/0 when a proof/refutation in its lists reaches
|
|
43
|
+
正确概率 = 1; Propos propositions with 价值/关键性 ≥ promoteValueThreshold auto-promote to qs.json.
|
|
44
|
+
When the user asks about progress, call vibe_math_report and summarize in plain language.
|
|
45
|
+
|
|
46
|
+
- id: agent-instructions
|
|
47
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
48
|
+
config:
|
|
49
|
+
maxBytes: 65536
|
|
50
|
+
|
|
51
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
- id: tool-bash
|
|
54
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
55
|
+
disabled: !!js process.platform === 'win32'
|
|
56
|
+
|
|
57
|
+
- id: tool-pwsh
|
|
58
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
59
|
+
disabled: !!js process.platform !== 'win32'
|
|
60
|
+
|
|
61
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
62
|
+
|
|
63
|
+
- id: tool-fs
|
|
64
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
65
|
+
|
|
66
|
+
- id: tool-fs-search
|
|
67
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
68
|
+
config:
|
|
69
|
+
sampleOverCapGlobResults: false
|
|
70
|
+
|
|
71
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
72
|
+
|
|
73
|
+
- id: tool-jobs
|
|
74
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
75
|
+
|
|
76
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
77
|
+
|
|
78
|
+
- id: skill-filesystem
|
|
79
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
80
|
+
|
|
81
|
+
- id: tool-skill
|
|
82
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
83
|
+
|
|
84
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
85
|
+
|
|
86
|
+
- id: tool-goal
|
|
87
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
88
|
+
|
|
89
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
90
|
+
|
|
91
|
+
- id: planning
|
|
92
|
+
name: cordis:group
|
|
93
|
+
group: true
|
|
94
|
+
isolate:
|
|
95
|
+
planMode: true
|
|
96
|
+
config:
|
|
97
|
+
- id: plan-mode
|
|
98
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
99
|
+
config:
|
|
100
|
+
section: |
|
|
101
|
+
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.
|
|
102
|
+
|
|
103
|
+
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.
|
|
104
|
+
|
|
105
|
+
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.
|
|
106
|
+
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
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.
|
|
110
|
+
|
|
111
|
+
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.
|
|
112
|
+
|
|
113
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
114
|
+
|
|
115
|
+
- id: compaction
|
|
116
|
+
name: cordis:group
|
|
117
|
+
group: true
|
|
118
|
+
isolate:
|
|
119
|
+
compaction: true
|
|
120
|
+
toolResultPruner: true
|
|
121
|
+
config:
|
|
122
|
+
- id: compaction-basic
|
|
123
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
124
|
+
|
|
125
|
+
- id: command-compact
|
|
126
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
127
|
+
|
|
128
|
+
- id: tool-result-pruner
|
|
129
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
130
|
+
config:
|
|
131
|
+
thresholdChars: 8192
|
|
132
|
+
headChars: 4096
|
|
133
|
+
tailChars: 1024
|
|
134
|
+
|
|
135
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
136
|
+
|
|
137
|
+
- id: delegation
|
|
138
|
+
name: cordis:group
|
|
139
|
+
group: true
|
|
140
|
+
isolate:
|
|
141
|
+
workflowEngine: true
|
|
142
|
+
config:
|
|
143
|
+
- id: tool-subagent-control
|
|
144
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
145
|
+
|
|
146
|
+
- id: tool-subagent-list-agents
|
|
147
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
148
|
+
|
|
149
|
+
- id: tool-subagent
|
|
150
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
151
|
+
config:
|
|
152
|
+
provider: spawn
|
|
153
|
+
toolName: subagent
|
|
154
|
+
backgroundMode: continuable
|
|
155
|
+
|
|
156
|
+
- id: tool-subagent-fork
|
|
157
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
158
|
+
config:
|
|
159
|
+
provider: fork
|
|
160
|
+
toolName: subagent_fork
|
|
161
|
+
backgroundMode: continuable
|
|
162
|
+
|
|
163
|
+
- id: workflow-worker-thread
|
|
164
|
+
name: '@deepseek-ai/dsh-workflow-worker-thread'
|
|
165
|
+
config:
|
|
166
|
+
provider: spawn
|
|
167
|
+
|
|
168
|
+
- id: tool-workflow
|
|
169
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
170
|
+
|
|
171
|
+
- id: tool-ralph
|
|
172
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
173
|
+
config:
|
|
174
|
+
subagentProvider: spawn
|
|
175
|
+
maxRounds: 64
|
|
176
|
+
|
|
177
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
178
|
+
|
|
179
|
+
- id: tool-ask-user
|
|
180
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
181
|
+
|
|
182
|
+
- id: tool-todo
|
|
183
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
184
|
+
config:
|
|
185
|
+
allowParallelInProgress: true
|
|
186
|
+
|
|
187
|
+
- id: tool-web
|
|
188
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
189
|
+
config:
|
|
190
|
+
fetch: false
|
|
191
|
+
searchTimeoutMs: 60000
|
|
192
|
+
|
|
193
|
+
# ── Vibe Math V2 ────────────────────────────────────────────────────────────
|
|
194
|
+
|
|
195
|
+
# The NEW-architecture framework: a preset-local plugin (./vibe-math-v2.js)
|
|
196
|
+
# that registers the vibe_math_* tools, a /vibe slash command, and a background
|
|
197
|
+
# scheduler (explorer → per-direction solvers → multi-reviewer verification).
|
|
198
|
+
# It consumes the HOST subagents/agents/fs/tools/commands services and provides
|
|
199
|
+
# nothing, so it sits loose (no isolate realm).
|
|
200
|
+
- id: vibe-math-v2
|
|
201
|
+
name: './vibe-math-v2.js'
|