@stardustlc/dsh-suite 0.2.26 → 0.2.28
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/CHANGELOG.md +9 -0
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/docs/VALIDATION.md +8 -0
- package/docs/validation-2026-10-17-human.md +49 -0
- package/docs/validation-2026-10-17-rc1.md +55 -0
- package/package.json +7 -7
- package/ptc-minimal.patch.yml +301 -301
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
[返回简介](README.md) · [使用说明](docs/USAGE.md) · [验证记录](docs/VALIDATION.md)
|
|
4
4
|
|
|
5
|
+
## 0.2.28(2026-10-17)
|
|
6
|
+
|
|
7
|
+
- 依赖 pin 跟随 `@stardustlc/dsh-dream` **0.9.1**(派生索引紧凑序列化,−32% 体积)与 `@stardustlc/dsh-docker` **0.4.2**(补 `publishConfig.access`)。
|
|
8
|
+
- 其余 16 个组件版本未变;`minimumReleaseAgeExclude` 与 pin 逐条对齐。
|
|
9
|
+
## 0.2.27 (2026-10-17)
|
|
10
|
+
|
|
11
|
+
- 同步日历 0.10.4、邮件 0.16.3 与 RSS 0.6.3:修复标签与输入框关联、快速打开空连接表单、服务商提示误脱敏及英文窄窗口布局。
|
|
12
|
+
- 在官方 DSH 0.2.1-alpha.5 补齐 15 个插件的基础操作记录与同一会话的技能启停检查;Docker、Slack、钉钉业务操作暂缓,其他组件版本保持不变。验收边界见 [逐插件记录](docs/validation-2026-10-17-human.md)。
|
|
13
|
+
|
|
5
14
|
## 0.2.26 (2026-10-17)
|
|
6
15
|
|
|
7
16
|
- 同步极简 PTC 0.5.6 及套件预设:修复完整提示词覆盖工具 SDK,保留极简身份与必要的官方工具声明,按作用域和运行格式生成。
|
package/README.en.md
CHANGED
|
@@ -34,7 +34,7 @@ Install the suite when you need the full set, then configure the accounts and to
|
|
|
34
34
|
|
|
35
35
|
Enable only the suite bundle in the profile; it loads the components. Each component still has its own account, executable and network requirements.
|
|
36
36
|
|
|
37
|
-
This version pins
|
|
37
|
+
This version pins Calendar 0.10.4, Email 0.16.3 and RSS 0.6.3, fixing form labels, setup guidance and the narrow-window English layout. The existing versions are rechecked on official DSH **0.2.1-rc.1** in the [new host record](docs/validation-2026-10-17-rc1.md). Earlier per-plugin fixes and scope remain in the [interaction record](docs/validation-2026-10-17-human.md). Minimal PTC 0.5.6's tool SDK fix remains documented in the [execution record](docs/validation-2026-10-17-alpha5.md).
|
|
38
38
|
|
|
39
39
|
Detailed configuration, tool arguments and troubleshooting are in the [usage guide](docs/USAGE.en.md). For standalone development, follow the Node requirement in [package.json](package.json).
|
|
40
40
|
|
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ dsh plugin --profile desktop add @stardustlc/dsh-suite
|
|
|
34
34
|
|
|
35
35
|
profile 只启用 Suite 这一层,由它加载组件。组件的账号、外部程序与网络要求仍各自适用。
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
本版同步日历 0.10.4、邮件 0.16.3 与 RSS 0.6.3,修复表单标签、配置提示和英文窄窗口布局。现有版本在官方 DSH **0.2.1-rc.1** 的兼容复查见 [新版宿主记录](docs/validation-2026-10-17-rc1.md);之前的逐插件修复和范围见 [基础操作记录](docs/validation-2026-10-17-human.md)。极简 PTC 0.5.6 的工具 SDK 修复见 [执行记录](docs/validation-2026-10-17-alpha5.md)。
|
|
38
38
|
|
|
39
39
|
详细配置、工具参数与排错见[使用说明](docs/USAGE.md)。从源码独立开发时,Node 要求以 [package.json](package.json) 为准。
|
|
40
40
|
|
package/docs/VALIDATION.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
本页整理原 README 的历史验证说明,保留当时的版本、日期与范围。自动测试、启动检查、浏览器操作和真实服务验收分别记录,不能相互替代。更详细的版本验收文件仍保留在仓库中。
|
|
4
4
|
|
|
5
|
+
## DSH 0.2.1-rc.1 复查(2026-10-17)
|
|
6
|
+
|
|
7
|
+
对现有已发布组件复查官方 rc.1。与 alpha.5 的完整源码差异只包含版本号更新;没有为宿主版本号变化给独立插件增加空版本。公开安装、预设执行、浏览器操作及未测试范围见 [rc.1 记录](validation-2026-10-17-rc1.md)。
|
|
8
|
+
|
|
9
|
+
## 0.2.27(2026-10-17)
|
|
10
|
+
|
|
11
|
+
同步日历、邮件及 RSS 的实际操作修复,并补齐 15 个插件在官方 DSH 0.2.1-alpha.5 的基础交互记录;同一已保存会话内的技能启停无需刷新页面。浏览器、合成工具选择、本机 CalDAV/SMTP、真实账号与原生桌面的不同范围见 [逐插件记录](validation-2026-10-17-human.md)。
|
|
12
|
+
|
|
5
13
|
## 0.2.26(2026-10-17)
|
|
6
14
|
|
|
7
15
|
核对官方 DSH 0.2.1-alpha.5,修复极简 PTC 的模型提示词丢失工具 SDK,并同步独立组件与组合预设。18 个组件 1,751 项测试通过、5 项跳过;共同加载新增 SDK 可见性检查。真实执行、公开安装及浏览器操作的范围见 [本次记录](validation-2026-10-17-alpha5.md)。
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DSH alpha.5 · 逐插件操作复查
|
|
2
|
+
|
|
3
|
+
宿主为公开 npm `@deepseek-ai/dsh@0.2.1-alpha.5`,官方标签 `dsh-v0.2.1-alpha.5`,提交 `1517a4dbca0a2789ff1d41ba439600f8547d23fa`。使用 Windows Node 24、独立 DSH profile 与系统 Chrome 无头浏览器;Browser 插件不可用,采用 Playwright。没有切换用户前台窗口。
|
|
4
|
+
|
|
5
|
+
Suite **0.2.27** 精确同步日历 **0.10.4**、邮件 **0.16.3** 与 RSS **0.6.3**。其他组件保持原版;极简 PTC **0.5.6** 的 SDK 修复已在上一版发布。
|
|
6
|
+
|
|
7
|
+
## 实际修复
|
|
8
|
+
|
|
9
|
+
- 日历:关联日程与连接表单标签,点击文字可聚焦输入框;修正英文 Custom CalDAV;首次读取配置完成前暂缓打开连接编辑器,避免快速点击看到空配置。
|
|
10
|
+
- 邮件:配置错误使用逗号分隔服务商选择,避免列表被当作长认证字符串脱敏。真实凭据的脱敏规则保持不变,并增加两者组合的回归。
|
|
11
|
+
- RSS:窄窗口切换为顶部设置导航,并让长英文和筛选控件适应可用列,避免标题截断或按钮挤成过窄一列。样式只作用于当前包含 RSS 面板的设置窗口。
|
|
12
|
+
|
|
13
|
+
## 基础操作矩阵
|
|
14
|
+
|
|
15
|
+
| 独立插件 | 版本 | 浏览器 / 实际入口证据 |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| Calendar | 0.10.4 | 标签点击与输入、新建日程经本机 CalDAV HTTP 服务写入并回读、测试连接、英文与 390px 表单 |
|
|
18
|
+
| Cite | 0.4.2 | BibTeX 本地预览与保存、格式切换、实际下载、无效输入提示 |
|
|
19
|
+
| Code Security | 0.4.1 | 沿用同一 alpha.5 轮次的 14 项操作记录:本机检查引擎、结果、取消、复查、脱敏与导出;代码未变 |
|
|
20
|
+
| Codex Port | 0.3.0 | 在聊天框发起合成调用,发现本地合成插件、只读移植预览、实际移植到隔离技能目录,以及空筛选 |
|
|
21
|
+
| Dream | 0.9.0 | 日记搜索、候选审阅、预览并应用项目规则、保留人工内容、回滚原文 |
|
|
22
|
+
| Email | 0.16.3 | 草稿编辑、附件、发送预览、明确勾选确认、本机 SMTP 唯一回执、禁止再次发送和复制为独立草稿;缺失账号提示 |
|
|
23
|
+
| FFmpeg | 0.5.0 | 聊天入口读取本地 WAV、实际裁剪文件、缺失文件提示;使用宿主 subprocess |
|
|
24
|
+
| FlakeFinder | 0.3.5 | 聊天入口重复运行本地 node:test 三次并显示稳定通过,拒绝选项形式的非法目标 |
|
|
25
|
+
| HyperFrames | 0.6.0 | 模板建档、竖屏保存、音频上传、未保存输入保护、归档和恢复;本轮不重渲染 MP4 |
|
|
26
|
+
| Minimal PTC | 0.5.6 | 沿用同一 alpha.5 轮次的模式选择、公开包 SDK 与两种实际运行模式;代码未变 |
|
|
27
|
+
| PPT | 0.10.0 | 沿用同一 alpha.5 轮次的 21 项复制/删除/撤销、最后一页及未保存保护、中英文与窄窗记录;代码未变 |
|
|
28
|
+
| Remotion | 0.5.0 | 模板建档、竖屏保存、音频上传、未保存输入保护、归档和恢复;本轮不重渲染 MP4 |
|
|
29
|
+
| RSS | 0.6.3 | 来源目录与搜索、嵌套分类 OPML 预览导入、编辑、实际导出、英文窄窗 |
|
|
30
|
+
| SQL | 0.4.5 | 聊天入口查询 SQLite、点击允许一次后写入、查询不存在表的错误;只使用隔离数据库 |
|
|
31
|
+
| Voice | 0.3.6 | 聊天入口显示音色清单、拒绝非法音色;本轮没有远程 TTS/ASR |
|
|
32
|
+
|
|
33
|
+
聊天工具路径使用显式标注的本地合成模型适配器来稳定选择工具,再交给真实 DSH 执行。它证明聊天、工具、审批和渲染的连接,不是远程模型自主选择工具的证据。
|
|
34
|
+
|
|
35
|
+
七个工作台补查英文导航、按钮和 390px 可用列,保留用户原始中文内容。未配置账号的 Calendar / Email 用例有预期 HTTP 400,不把该业务拒绝当作页面崩溃。
|
|
36
|
+
|
|
37
|
+
## 启停、回归与发布
|
|
38
|
+
|
|
39
|
+
在同一已保存会话、同一文档中,关闭 PPT 后 `/dsh-ppt` 从技能菜单消失;重新启用后返回。没有刷新页面来绕过缓存。
|
|
40
|
+
|
|
41
|
+
组件自动测试、共同加载、公开 npm 文件与 CI 产物摘要、官方 CLI 全新安装分别检查。共同加载仍包含全部 18 个组件及 Suite 的 SDK、调度、工具和技能清单;这不要求连接未配置的外部服务。
|
|
42
|
+
|
|
43
|
+
## 明确未验收的范围
|
|
44
|
+
|
|
45
|
+
- 按用户要求,Docker、Slack、钉钉的业务操作暂缓,三个独立包没有改动或重新发布。
|
|
46
|
+
- 没有操作原生桌面窗口,没有调用真实远程模型,没有使用真实 CalDAV、邮箱、OAuth、MySQL/PostgreSQL 或 TTS/ASR 账号。
|
|
47
|
+
- RSS 本轮不重测真实网站,也不声称无 VPN 连接已验证;视频工作台本轮验证工程操作,不代替最终渲染验收。
|
|
48
|
+
|
|
49
|
+
自动测试、基础交互、真实账号业务与原生桌面验收是不同证据。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# DSH 0.2.1-rc.1 兼容复查
|
|
2
|
+
|
|
3
|
+
宿主使用公开 npm `@deepseek-ai/dsh@0.2.1-rc.1`,对应官方标签 [`dsh-v0.2.1-rc.1`](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.1-rc.1)、提交 `1600d8a1e140dcde43a1a0941940a0480712c011`。环境为 Windows、Node 24,使用独立 profile 和系统 Chrome 无头浏览器;没有切换用户的前台窗口。
|
|
4
|
+
|
|
5
|
+
## 变化与版本决定
|
|
6
|
+
|
|
7
|
+
与已验收的 alpha.5 比较,完整官方差异包含 355 个 `package.json`,所有修改都是 `version` 字段。没有应用代码或插件接口变更。现有组件无需为这次宿主更新修改业务代码,也没有新增 npm 版本。
|
|
8
|
+
|
|
9
|
+
Suite 保持 **0.2.27**,日历 **0.10.4**、邮件 **0.16.3**、RSS **0.6.3**、极简 PTC **0.5.6** 及其余组件的精确版本不变。此次仓库变更只补充兼容记录,并让全新安装验收脚本在隔离 profile 中明确使用公开 npm 源,避免本机镜像同步延迟影响判断;用户的全局配置不变。
|
|
10
|
+
|
|
11
|
+
## 分别核验的结果
|
|
12
|
+
|
|
13
|
+
- 19 个包的官方兼容性预检通过;18 个组件的 Windows 自动测试 **1,752 项通过、5 项跳过**。跳过项为 Code Security 的 3 项原生引擎用例、Dream 1 项与 Minimal PTC 1 项,保留原自动测试的跳过记录。
|
|
14
|
+
- 另行使用真实 Windows 检查程序完成 Code Security 工作台操作;这与上述离线测试的跳过记录分别保存。
|
|
15
|
+
- 通过仓库中的官方 CLI 安装验收入口,从公开 npm 全新安装 Suite 及其 18 个传递组件。版本与 19 个包的 tarball 摘要一致;共同加载 **111 个工具、36 个技能**,完整清单、预设 SDK、调度、HTTP 登录交换、未登录拒绝与进程退出通过。
|
|
16
|
+
- 极简 PTC 的实际模型提示词包含当前工具 SDK,模型侧只暴露 `run_code`。函数体模式执行带 TypeScript 类型和工具桥接的代码,返回 42 并显示日志;REPL 模式验证 41 → 42、不同 owner 隔离和释放后清空状态。仅隔离合成会话使用 Full 权限,没有修改用户权限。
|
|
17
|
+
- Suite 自身 **12 项测试通过**。
|
|
18
|
+
|
|
19
|
+
离线契约宿主仅注册 110 个工具、35 个技能;完整宿主加载额外的调度功能,因此清单数不同。不能将两类数量混用。
|
|
20
|
+
|
|
21
|
+
## 15 个插件的实际入口
|
|
22
|
+
|
|
23
|
+
| 插件 | 版本 | rc.1 上的基础操作 |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| Calendar | 0.10.4 | 标签聚焦与输入;本机 CalDAV 建立日程、回读及测试连接;英文表单和 390px 窄窗 |
|
|
26
|
+
| Cite | 0.4.2 | 输入 BibTeX、本地预览与保存、格式切换、下载和无效输入 |
|
|
27
|
+
| Code Security | 0.4.1 | 真实原生引擎、扫描/错误/取消/复查、脱敏证据、SARIF 导出、自动检查事件与中英文窄窗 |
|
|
28
|
+
| Codex Port | 0.3.0 | 发现合成插件、移植预览、实际移植到隔离目录、空筛选 |
|
|
29
|
+
| Dream | 0.9.0 | 搜索、候选审阅、预览/应用项目规则、保留人工内容和回滚 |
|
|
30
|
+
| Email | 0.16.3 | 草稿、附件、预览、明确确认发送、本机 SMTP 唯一回执、禁止重复发送和复制为新草稿 |
|
|
31
|
+
| FFmpeg | 0.5.0 | 本地音频检查、实际裁剪、缺失文件错误 |
|
|
32
|
+
| FlakeFinder | 0.3.5 | 三次执行本地测试并显示结果,拒绝选项形式的非法目标 |
|
|
33
|
+
| HyperFrames | 0.6.0 | 建立竖屏工程、保存、上传音频、未保存保护、归档与恢复 |
|
|
34
|
+
| Minimal PTC | 0.5.6 | 公开包预设挂载、实际 SDK、函数体与 REPL 工具执行 |
|
|
35
|
+
| PPT | 0.10.0 | 21 项页面复制/删除/撤销、最后一页保护、未保存保护、中英文和 390px 操作 |
|
|
36
|
+
| Remotion | 0.5.0 | 建立竖屏工程、保存、上传音频、未保存保护、归档与恢复 |
|
|
37
|
+
| RSS | 0.6.3 | 来源目录搜索、嵌套分类 OPML 预览/导入、改名、导出和英文窄窗 |
|
|
38
|
+
| SQL | 0.4.5 | SQLite 查询、点击允许一次后写入、错误查询 |
|
|
39
|
+
| Voice | 0.3.6 | 音色清单、非法音色错误;不请求远程合成 |
|
|
40
|
+
|
|
41
|
+
聊天工具使用标明“本地操作验收(合成)”的适配器选择工具,再交给真实宿主执行。此结果不是远程模型自主选择工具的证明。七个工作台另行核对英文和 390px 布局;表单截图在入场动画结束后复查。日历和邮件缺失账号时的 HTTP 400 属于预期业务拒绝,未计为页面崩溃。
|
|
42
|
+
|
|
43
|
+
同一已保存会话、同一网页文档中,停用 PPT 后技能从 `/` 菜单消失,启用后返回,没有刷新页面。
|
|
44
|
+
|
|
45
|
+
安全工作台首次脚本在扫描刷新后直接编辑已折叠的设置而超时;复跑又受到此前合成工程选择的影响。最后改用全新公开安装的 profile,并通过正常控件展开设置,保留全部原扫描和错误处理断言。原始失败输出保留,不将脚本修正记成产品修复。
|
|
46
|
+
|
|
47
|
+
## 未覆盖与暂缓
|
|
48
|
+
|
|
49
|
+
Docker、Slack、钉钉按用户要求暂缓业务验收,三个包未修改或发布。共同加载和原样回归不代表已连接这些服务。
|
|
50
|
+
|
|
51
|
+
本轮没有操作原生桌面窗口,没有使用真实模型、云日历、邮箱、OAuth、数据库服务器或远程语音账号。视频工作台的工程操作不等于最终 MP4 渲染;RSS 没有重测外部来源或无 VPN 网络。
|
|
52
|
+
|
|
53
|
+
仓库复查时没有未关闭 PR;仍有 RSS #2、HyperFrames #2、Email #19 三个已有 Issue,没有代替使用者发表或关闭反馈。
|
|
54
|
+
|
|
55
|
+
本机详细证据位于 `E:/deepseek/output/dsh-rc1-20261017/`:完整上游差异、自动测试、公开安装清单、逐项操作结果、截图、预期错误和脚本重试记录分别保存。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stardustlc/dsh-suite",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.28",
|
|
4
4
|
"description": "一次安装 18 个独立 DSH 插件,并统一组合它们的默认配置。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dsh": {
|
|
@@ -50,21 +50,21 @@
|
|
|
50
50
|
"node": "^22.19.0 || >=24.0.0"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@stardustlc/dsh-docker": "0.4.
|
|
54
|
-
"@stardustlc/dsh-dream": "0.9.
|
|
55
|
-
"dsh-calendar": "0.10.
|
|
53
|
+
"@stardustlc/dsh-docker": "0.4.2",
|
|
54
|
+
"@stardustlc/dsh-dream": "0.9.1",
|
|
55
|
+
"dsh-calendar": "0.10.4",
|
|
56
56
|
"dsh-cite": "0.4.2",
|
|
57
|
-
"dsh-code-security": "0.4.1",
|
|
57
|
+
"dsh-code-security": "0.4.1",
|
|
58
58
|
"dsh-codex-port": "0.3.0",
|
|
59
59
|
"dsh-dingtalk": "0.2.2",
|
|
60
|
-
"dsh-email": "0.16.
|
|
60
|
+
"dsh-email": "0.16.3",
|
|
61
61
|
"dsh-ffmpeg": "0.5.0",
|
|
62
62
|
"dsh-flakefinder": "0.3.5",
|
|
63
63
|
"dsh-hyperframes": "0.6.0",
|
|
64
64
|
"dsh-minimal-ptc": "0.5.6",
|
|
65
65
|
"dsh-ppt": "0.10.0",
|
|
66
66
|
"dsh-remotion": "0.5.0",
|
|
67
|
-
"dsh-rss": "0.6.
|
|
67
|
+
"dsh-rss": "0.6.3",
|
|
68
68
|
"dsh-slack": "0.3.4",
|
|
69
69
|
"dsh-sql": "0.4.5",
|
|
70
70
|
"dsh-voice": "0.3.6"
|
package/ptc-minimal.patch.yml
CHANGED
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
# Harness 0.1.7 declarative preset; generated from the bundled agent composition.
|
|
2
|
-
- insert:
|
|
3
|
-
- id: preset-ptc-minimal
|
|
4
|
-
name: "@deepseek-ai/dsh-agent-preset"
|
|
5
|
-
config:
|
|
6
|
-
id: ptc-minimal
|
|
7
|
-
name: 极简 PTC 模式
|
|
8
|
-
description: 简洁提示词、完整插件工具与 PTC 编排;Windows 支持 Git Bash 和持久 PowerShell。
|
|
9
|
-
order: 4
|
|
10
|
-
plugins:
|
|
11
|
-
# The `ptc-minimal` agent preset: the `ptc` (PTC 模式) capabilities with the
|
|
12
|
-
# `minimal` (极简模式) prompt.
|
|
13
|
-
#
|
|
14
|
-
# Everything in `ptc` is here unchanged — full standard capabilities plus the
|
|
15
|
-
# PTC tool presentation (`tool-presentation` with `mode: ptc`), where the
|
|
16
|
-
# model composes a TypeScript program against a generated SDK and `run_code`
|
|
17
|
-
# executes it. What differs is the persona row, taken verbatim from `minimal`:
|
|
18
|
-
# a fixed one-line identity plus the Host-generated PTC SDK, marked complete
|
|
19
|
-
# with `includeRuntimeContext: false`. Other identity and workspace guidance
|
|
20
|
-
# cannot add prompt text, and runtime context snapshots are suppressed.
|
|
21
|
-
# The `agent-instructions` row from `ptc` is
|
|
22
|
-
# dropped for the same reason — its workspace instruction baselines would add
|
|
23
|
-
# user-role text the minimal prompt policy excludes.
|
|
24
|
-
#
|
|
25
|
-
# This file is an AGENT-PLANE composition. It is mounted under one agent's
|
|
26
|
-
# scope context, so every tool it registers belongs to that session alone.
|
|
27
|
-
# A service row here MUST sit inside a group carrying an `isolate` realm.
|
|
28
|
-
|
|
29
|
-
# ── identity ────────────────────────────────────────────────────────────────
|
|
30
|
-
|
|
31
|
-
# The complete prompt keeps the minimal identity and the callable tool SDK.
|
|
32
|
-
- id: persona
|
|
33
|
-
name: dsh-minimal-ptc/ptc-persona
|
|
34
|
-
config:
|
|
35
|
-
prefix: You are a helpful software engineer assistant.
|
|
36
|
-
complete: true
|
|
37
|
-
includeRuntimeContext: false
|
|
38
|
-
|
|
39
|
-
# ── shell ───────────────────────────────────────────────────────────────────
|
|
40
|
-
|
|
41
|
-
# `shell-env` stays in the HOST composition: `apps/cli/src/web.ts` injects it to
|
|
42
|
-
# publish `DSH_WEB_URL`/`DSH_WEB_MODE`. Both shell tools consume the host
|
|
43
|
-
# registry from here; their executors are host-plane too.
|
|
44
|
-
- id: tool-bash
|
|
45
|
-
name: '@deepseek-ai/dsh-tool-bash'
|
|
46
|
-
disabled: !!js process.platform === 'win32'
|
|
47
|
-
|
|
48
|
-
- id: tool-pwsh
|
|
49
|
-
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
50
|
-
disabled: true
|
|
51
|
-
|
|
52
|
-
# Windows persistent PowerShell PTY stack (rc.1 minimal parity). Replaces the
|
|
53
|
-
# one-shot pwsh row on win32; the gitbash group below keeps a stateless bash
|
|
54
|
-
# tool beside it. The model-facing tool name remains `pwsh`.
|
|
55
|
-
- id: persistent-shell
|
|
56
|
-
name: cordis:group
|
|
57
|
-
group: true
|
|
58
|
-
disabled: !!js process.platform !== 'win32'
|
|
59
|
-
isolate:
|
|
60
|
-
terminals: true
|
|
61
|
-
config:
|
|
62
|
-
- id: pty
|
|
63
|
-
name: '@deepseek-ai/dsh-terminal'
|
|
64
|
-
|
|
65
|
-
- id: terminal-pwsh
|
|
66
|
-
name: '@deepseek-ai/dsh-terminal-bash'
|
|
67
|
-
disabled: !!js process.platform !== 'win32'
|
|
68
|
-
config:
|
|
69
|
-
shellDialect: pwsh
|
|
70
|
-
timeoutMs: 300000
|
|
71
|
-
|
|
72
|
-
- id: persistent-pwsh
|
|
73
|
-
name: '@deepseek-ai/dsh-tool-pwsh-persistent'
|
|
74
|
-
disabled: !!js process.platform !== 'win32'
|
|
75
|
-
config:
|
|
76
|
-
timeoutMs: 300000
|
|
77
|
-
description: |-
|
|
78
|
-
Run commands in a PowerShell shell
|
|
79
|
-
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
80
|
-
* Network access depends on the host environment.
|
|
81
|
-
* State is persistent across command calls and discussions with the user.
|
|
82
|
-
* Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
|
|
83
|
-
* Please avoid commands that may produce a very large amount of output.
|
|
84
|
-
* Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
|
|
85
|
-
|
|
86
|
-
# Windows Git Bash shell stack. The preset-local executor runs every `bash`
|
|
87
|
-
# call through Git for Windows bash, keeping the model-facing tool name and
|
|
88
|
-
# stateless semantics identical to the POSIX `tool-bash` row above. Only
|
|
89
|
-
# mounted on win32; the POSIX host keeps the official bash runner.
|
|
90
|
-
- id: gitbash-shell
|
|
91
|
-
name: cordis:group
|
|
92
|
-
group: true
|
|
93
|
-
disabled: !!js process.platform !== 'win32'
|
|
94
|
-
isolate:
|
|
95
|
-
shell: true
|
|
96
|
-
config:
|
|
97
|
-
- id: gitbash-executor
|
|
98
|
-
name: dsh-minimal-ptc/gitbash-executor
|
|
99
|
-
config:
|
|
100
|
-
# 留空:executor 自动探测 GIT_BASH → 常见安装目录 → PATH → 'bash'
|
|
101
|
-
# 如需固定路径可显式写 shellPath: 'C:\\Program Files\\Git\\bin\\bash.exe'
|
|
102
|
-
timeoutMs: 120000
|
|
103
|
-
maxTimeoutMs: 600000
|
|
104
|
-
maxOutputBytes: 64000
|
|
105
|
-
maxSpillBytes: 67108864
|
|
106
|
-
graceMs: 3000
|
|
107
|
-
|
|
108
|
-
- id: tool-bash-win
|
|
109
|
-
name: '@deepseek-ai/dsh-tool-bash'
|
|
110
|
-
config:
|
|
111
|
-
enableRunInBackground: false
|
|
112
|
-
|
|
113
|
-
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
114
|
-
|
|
115
|
-
# Both register into the host `tools` registry and provide nothing, so
|
|
116
|
-
# they need no realm. The `fs` service and its policy stay in the host.
|
|
117
|
-
- id: tool-fs
|
|
118
|
-
name: '@deepseek-ai/dsh-tool-fs'
|
|
119
|
-
|
|
120
|
-
- id: tool-fs-search
|
|
121
|
-
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
122
|
-
config:
|
|
123
|
-
sampleOverCapGlobResults: false
|
|
124
|
-
|
|
125
|
-
# ── background jobs ────────────────────────────────────────────────────────
|
|
126
|
-
|
|
127
|
-
# Only the model-facing controls. The task REGISTRY stays on the host plane.
|
|
1
|
+
# Harness 0.1.7 declarative preset; generated from the bundled agent composition.
|
|
2
|
+
- insert:
|
|
3
|
+
- id: preset-ptc-minimal
|
|
4
|
+
name: "@deepseek-ai/dsh-agent-preset"
|
|
5
|
+
config:
|
|
6
|
+
id: ptc-minimal
|
|
7
|
+
name: 极简 PTC 模式
|
|
8
|
+
description: 简洁提示词、完整插件工具与 PTC 编排;Windows 支持 Git Bash 和持久 PowerShell。
|
|
9
|
+
order: 4
|
|
10
|
+
plugins:
|
|
11
|
+
# The `ptc-minimal` agent preset: the `ptc` (PTC 模式) capabilities with the
|
|
12
|
+
# `minimal` (极简模式) prompt.
|
|
13
|
+
#
|
|
14
|
+
# Everything in `ptc` is here unchanged — full standard capabilities plus the
|
|
15
|
+
# PTC tool presentation (`tool-presentation` with `mode: ptc`), where the
|
|
16
|
+
# model composes a TypeScript program against a generated SDK and `run_code`
|
|
17
|
+
# executes it. What differs is the persona row, taken verbatim from `minimal`:
|
|
18
|
+
# a fixed one-line identity plus the Host-generated PTC SDK, marked complete
|
|
19
|
+
# with `includeRuntimeContext: false`. Other identity and workspace guidance
|
|
20
|
+
# cannot add prompt text, and runtime context snapshots are suppressed.
|
|
21
|
+
# The `agent-instructions` row from `ptc` is
|
|
22
|
+
# dropped for the same reason — its workspace instruction baselines would add
|
|
23
|
+
# user-role text the minimal prompt policy excludes.
|
|
24
|
+
#
|
|
25
|
+
# This file is an AGENT-PLANE composition. It is mounted under one agent's
|
|
26
|
+
# scope context, so every tool it registers belongs to that session alone.
|
|
27
|
+
# A service row here MUST sit inside a group carrying an `isolate` realm.
|
|
28
|
+
|
|
29
|
+
# ── identity ────────────────────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
# The complete prompt keeps the minimal identity and the callable tool SDK.
|
|
32
|
+
- id: persona
|
|
33
|
+
name: dsh-minimal-ptc/ptc-persona
|
|
34
|
+
config:
|
|
35
|
+
prefix: You are a helpful software engineer assistant.
|
|
36
|
+
complete: true
|
|
37
|
+
includeRuntimeContext: false
|
|
38
|
+
|
|
39
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
40
|
+
|
|
41
|
+
# `shell-env` stays in the HOST composition: `apps/cli/src/web.ts` injects it to
|
|
42
|
+
# publish `DSH_WEB_URL`/`DSH_WEB_MODE`. Both shell tools consume the host
|
|
43
|
+
# registry from here; their executors are host-plane too.
|
|
44
|
+
- id: tool-bash
|
|
45
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
46
|
+
disabled: !!js process.platform === 'win32'
|
|
47
|
+
|
|
48
|
+
- id: tool-pwsh
|
|
49
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
50
|
+
disabled: true
|
|
51
|
+
|
|
52
|
+
# Windows persistent PowerShell PTY stack (rc.1 minimal parity). Replaces the
|
|
53
|
+
# one-shot pwsh row on win32; the gitbash group below keeps a stateless bash
|
|
54
|
+
# tool beside it. The model-facing tool name remains `pwsh`.
|
|
55
|
+
- id: persistent-shell
|
|
56
|
+
name: cordis:group
|
|
57
|
+
group: true
|
|
58
|
+
disabled: !!js process.platform !== 'win32'
|
|
59
|
+
isolate:
|
|
60
|
+
terminals: true
|
|
61
|
+
config:
|
|
62
|
+
- id: pty
|
|
63
|
+
name: '@deepseek-ai/dsh-terminal'
|
|
64
|
+
|
|
65
|
+
- id: terminal-pwsh
|
|
66
|
+
name: '@deepseek-ai/dsh-terminal-bash'
|
|
67
|
+
disabled: !!js process.platform !== 'win32'
|
|
68
|
+
config:
|
|
69
|
+
shellDialect: pwsh
|
|
70
|
+
timeoutMs: 300000
|
|
71
|
+
|
|
72
|
+
- id: persistent-pwsh
|
|
73
|
+
name: '@deepseek-ai/dsh-tool-pwsh-persistent'
|
|
74
|
+
disabled: !!js process.platform !== 'win32'
|
|
75
|
+
config:
|
|
76
|
+
timeoutMs: 300000
|
|
77
|
+
description: |-
|
|
78
|
+
Run commands in a PowerShell shell
|
|
79
|
+
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
80
|
+
* Network access depends on the host environment.
|
|
81
|
+
* State is persistent across command calls and discussions with the user.
|
|
82
|
+
* Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
|
|
83
|
+
* Please avoid commands that may produce a very large amount of output.
|
|
84
|
+
* Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
|
|
85
|
+
|
|
86
|
+
# Windows Git Bash shell stack. The preset-local executor runs every `bash`
|
|
87
|
+
# call through Git for Windows bash, keeping the model-facing tool name and
|
|
88
|
+
# stateless semantics identical to the POSIX `tool-bash` row above. Only
|
|
89
|
+
# mounted on win32; the POSIX host keeps the official bash runner.
|
|
90
|
+
- id: gitbash-shell
|
|
91
|
+
name: cordis:group
|
|
92
|
+
group: true
|
|
93
|
+
disabled: !!js process.platform !== 'win32'
|
|
94
|
+
isolate:
|
|
95
|
+
shell: true
|
|
96
|
+
config:
|
|
97
|
+
- id: gitbash-executor
|
|
98
|
+
name: dsh-minimal-ptc/gitbash-executor
|
|
99
|
+
config:
|
|
100
|
+
# 留空:executor 自动探测 GIT_BASH → 常见安装目录 → PATH → 'bash'
|
|
101
|
+
# 如需固定路径可显式写 shellPath: 'C:\\Program Files\\Git\\bin\\bash.exe'
|
|
102
|
+
timeoutMs: 120000
|
|
103
|
+
maxTimeoutMs: 600000
|
|
104
|
+
maxOutputBytes: 64000
|
|
105
|
+
maxSpillBytes: 67108864
|
|
106
|
+
graceMs: 3000
|
|
107
|
+
|
|
108
|
+
- id: tool-bash-win
|
|
109
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
110
|
+
config:
|
|
111
|
+
enableRunInBackground: false
|
|
112
|
+
|
|
113
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
114
|
+
|
|
115
|
+
# Both register into the host `tools` registry and provide nothing, so
|
|
116
|
+
# they need no realm. The `fs` service and its policy stay in the host.
|
|
117
|
+
- id: tool-fs
|
|
118
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
119
|
+
|
|
120
|
+
- id: tool-fs-search
|
|
121
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
122
|
+
config:
|
|
123
|
+
sampleOverCapGlobResults: false
|
|
124
|
+
|
|
125
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
126
|
+
|
|
127
|
+
# Only the model-facing controls. The task REGISTRY stays on the host plane.
|
|
128
128
|
- id: tool-jobs
|
|
129
129
|
name: '@deepseek-ai/dsh-tool-jobs'
|
|
130
130
|
|
|
@@ -132,180 +132,180 @@
|
|
|
132
132
|
# Wait for service activation; do not freeze an early readiness
|
|
133
133
|
# check into a disabled row while the Host is still booting.
|
|
134
134
|
name: dsh-minimal-ptc/schedule-tools
|
|
135
|
-
|
|
136
|
-
# ── skills ──────────────────────────────────────────────────────────────────
|
|
137
|
-
|
|
138
|
-
# The skill REGISTRY lives in the host composition and is layered per scope:
|
|
139
|
-
# these rows register into THIS preset's layer of it, so they need no realm.
|
|
140
|
-
- id: skill-filesystem
|
|
141
|
-
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
142
|
-
|
|
143
|
-
- id: tool-skill
|
|
144
|
-
name: '@deepseek-ai/dsh-tool-skill'
|
|
145
|
-
|
|
146
|
-
# ── goals ───────────────────────────────────────────────────────────────────
|
|
147
|
-
|
|
148
|
-
# Only the model-facing tool plus the human command. The goal SERVICE, its
|
|
149
|
-
# session driver stay on the host plane.
|
|
150
|
-
- id: command-goal
|
|
151
|
-
name: '@deepseek-ai/dsh-command-goal'
|
|
152
|
-
|
|
153
|
-
- id: tool-goal
|
|
154
|
-
name: '@deepseek-ai/dsh-tool-goal'
|
|
155
|
-
|
|
156
|
-
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
157
|
-
|
|
158
|
-
# Plan state is per-agent by nature, so an entry-local realm is not a
|
|
159
|
-
# workaround here — it is the correct lifetime.
|
|
160
|
-
- id: planning
|
|
161
|
-
name: cordis:group
|
|
162
|
-
group: true
|
|
163
|
-
isolate:
|
|
164
|
-
planMode: true
|
|
165
|
-
config:
|
|
166
|
-
- id: plan-mode
|
|
167
|
-
name: '@deepseek-ai/dsh-plan-mode'
|
|
168
|
-
config:
|
|
169
|
-
section: |
|
|
170
|
-
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.
|
|
171
|
-
|
|
172
|
-
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.
|
|
173
|
-
|
|
174
|
-
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.
|
|
175
|
-
|
|
176
|
-
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.
|
|
177
|
-
|
|
178
|
-
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.
|
|
179
|
-
|
|
180
|
-
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.
|
|
181
|
-
|
|
182
|
-
# ── compaction ──────────────────────────────────────────────────────────────
|
|
183
|
-
|
|
184
|
-
# `compaction-basic` reads `toolResultPrune` through `ctx.get`, so the pruner
|
|
185
|
-
# must share this realm rather than sit outside it. `tokenMeter` stays HOST-side.
|
|
186
|
-
- id: compaction
|
|
187
|
-
name: cordis:group
|
|
188
|
-
group: true
|
|
189
|
-
isolate:
|
|
190
|
-
compaction: true
|
|
191
|
-
toolResultPruner: true
|
|
192
|
-
config:
|
|
193
|
-
- id: compaction-basic
|
|
194
|
-
name: '@deepseek-ai/dsh-compaction-basic'
|
|
195
|
-
|
|
196
|
-
- id: command-compact
|
|
197
|
-
name: '@deepseek-ai/dsh-command-compact'
|
|
198
|
-
|
|
199
|
-
- id: tool-result-pruner
|
|
200
|
-
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
201
|
-
config:
|
|
202
|
-
thresholdChars: 8192
|
|
203
|
-
headChars: 4096
|
|
204
|
-
tailChars: 1024
|
|
205
|
-
|
|
206
|
-
# ── delegation and workflows ────────────────────────────────────────────────
|
|
207
|
-
|
|
208
|
-
# The `subagents` registry and its spawn/fork backends live in the HOST
|
|
209
|
-
# composition. This preset contributes the delegation TOOLS. `workflows` shares
|
|
210
|
-
# one entry-local realm here, and a consumer left outside would resolve a host
|
|
211
|
-
# registry this preset does not populate.
|
|
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
|
-
modelSelectionSettings: true
|
|
135
|
+
|
|
136
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
137
|
+
|
|
138
|
+
# The skill REGISTRY lives in the host composition and is layered per scope:
|
|
139
|
+
# these rows register into THIS preset's layer of it, so they need no realm.
|
|
140
|
+
- id: skill-filesystem
|
|
141
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
142
|
+
|
|
143
|
+
- id: tool-skill
|
|
144
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
145
|
+
|
|
146
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
147
|
+
|
|
148
|
+
# Only the model-facing tool plus the human command. The goal SERVICE, its
|
|
149
|
+
# session driver stay on the host plane.
|
|
150
|
+
- id: command-goal
|
|
151
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
152
|
+
|
|
153
|
+
- id: tool-goal
|
|
154
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
155
|
+
|
|
156
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
157
|
+
|
|
158
|
+
# Plan state is per-agent by nature, so an entry-local realm is not a
|
|
159
|
+
# workaround here — it is the correct lifetime.
|
|
160
|
+
- id: planning
|
|
161
|
+
name: cordis:group
|
|
162
|
+
group: true
|
|
163
|
+
isolate:
|
|
164
|
+
planMode: true
|
|
165
|
+
config:
|
|
166
|
+
- id: plan-mode
|
|
167
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
168
|
+
config:
|
|
169
|
+
section: |
|
|
170
|
+
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.
|
|
171
|
+
|
|
172
|
+
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.
|
|
173
|
+
|
|
174
|
+
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.
|
|
175
|
+
|
|
176
|
+
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.
|
|
177
|
+
|
|
178
|
+
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.
|
|
179
|
+
|
|
180
|
+
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.
|
|
181
|
+
|
|
182
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
183
|
+
|
|
184
|
+
# `compaction-basic` reads `toolResultPrune` through `ctx.get`, so the pruner
|
|
185
|
+
# must share this realm rather than sit outside it. `tokenMeter` stays HOST-side.
|
|
186
|
+
- id: compaction
|
|
187
|
+
name: cordis:group
|
|
188
|
+
group: true
|
|
189
|
+
isolate:
|
|
190
|
+
compaction: true
|
|
191
|
+
toolResultPruner: true
|
|
192
|
+
config:
|
|
193
|
+
- id: compaction-basic
|
|
194
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
195
|
+
|
|
196
|
+
- id: command-compact
|
|
197
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
198
|
+
|
|
199
|
+
- id: tool-result-pruner
|
|
200
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
201
|
+
config:
|
|
202
|
+
thresholdChars: 8192
|
|
203
|
+
headChars: 4096
|
|
204
|
+
tailChars: 1024
|
|
205
|
+
|
|
206
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
207
|
+
|
|
208
|
+
# The `subagents` registry and its spawn/fork backends live in the HOST
|
|
209
|
+
# composition. This preset contributes the delegation TOOLS. `workflows` shares
|
|
210
|
+
# one entry-local realm here, and a consumer left outside would resolve a host
|
|
211
|
+
# registry this preset does not populate.
|
|
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
|
+
modelSelectionSettings: true
|
|
230
230
|
backgroundMode: continuable
|
|
231
|
-
|
|
232
|
-
- id: tool-subagent-fork
|
|
233
|
-
name: '@deepseek-ai/dsh-tool-subagent'
|
|
234
|
-
config:
|
|
235
|
-
provider: fork
|
|
231
|
+
|
|
232
|
+
- id: tool-subagent-fork
|
|
233
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
234
|
+
config:
|
|
235
|
+
provider: fork
|
|
236
236
|
toolName: subagent_fork
|
|
237
237
|
backgroundMode: continuable
|
|
238
|
-
|
|
239
|
-
# Product providers are host-plane singletons. Remove `disabled` from
|
|
240
|
-
# either ordinary tool row to expose that product to agents on this preset.
|
|
241
|
-
- id: tool-subagent-codex
|
|
242
|
-
name: '@deepseek-ai/dsh-tool-subagent'
|
|
243
|
-
disabled: true
|
|
244
|
-
config:
|
|
245
|
-
provider: codex
|
|
246
|
-
toolName: subagent_codex
|
|
247
|
-
backgroundMode: one-shot
|
|
248
|
-
maxDepth: provider-managed
|
|
249
|
-
|
|
250
|
-
- id: tool-subagent-claude-code
|
|
251
|
-
name: '@deepseek-ai/dsh-tool-subagent'
|
|
252
|
-
disabled: true
|
|
253
|
-
config:
|
|
254
|
-
provider: claude-code
|
|
255
|
-
toolName: subagent_claude_code
|
|
256
|
-
backgroundMode: one-shot
|
|
257
|
-
maxDepth: provider-managed
|
|
258
|
-
|
|
259
|
-
- id: workflow-ptc
|
|
260
|
-
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
261
|
-
config:
|
|
262
|
-
provider: spawn
|
|
263
|
-
|
|
264
|
-
- id: tool-workflow
|
|
265
|
-
name: '@deepseek-ai/dsh-tool-workflow'
|
|
266
|
-
# Keep the engine above for `ralph`, but do not publish a second
|
|
267
|
-
# model-authored orchestration surface beside `run_code` in PTC mode.
|
|
268
|
-
disabled: true
|
|
269
|
-
|
|
270
|
-
- id: tool-ralph
|
|
271
|
-
name: '@deepseek-ai/dsh-tool-ralph'
|
|
272
|
-
config:
|
|
273
|
-
subagentProvider: spawn
|
|
274
|
-
maxRounds: 64
|
|
275
|
-
|
|
276
|
-
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
277
|
-
|
|
278
|
-
- id: tool-ask-user
|
|
279
|
-
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
280
|
-
|
|
281
|
-
- id: tool-todo
|
|
282
|
-
name: '@deepseek-ai/dsh-tool-todo'
|
|
283
|
-
config:
|
|
284
|
-
allowParallelInProgress: true
|
|
285
|
-
|
|
286
|
-
# The `web` service and its search provider stay in the host composition; only
|
|
287
|
-
# the model-facing tool is per-session.
|
|
288
|
-
- id: tool-web
|
|
289
|
-
name: '@deepseek-ai/dsh-tool-web'
|
|
290
|
-
config:
|
|
291
|
-
fetch: true
|
|
292
|
-
searchTimeoutMs: 60000
|
|
293
|
-
|
|
294
|
-
# ── presentation ────────────────────────────────────────────────────────────
|
|
295
|
-
|
|
296
|
-
# PTC for this agent alone. The row waits for the host's `ptcRuntime`
|
|
297
|
-
# rather than assuming it: a deployment that composes no TypeScript runtime
|
|
298
|
-
# fails this preset at mount, naming this id, instead of at the first request.
|
|
299
|
-
- id: tool-presentation
|
|
300
|
-
name: '@deepseek-ai/dsh-agent-tool-presentation'
|
|
301
|
-
config:
|
|
302
|
-
mode: ptc
|
|
303
|
-
|
|
304
|
-
# Official `ptc` parity rows (0.1.6): the deliverables presenter and the
|
|
305
|
-
# plugin-manager tools (off by default, mirroring the official preset).
|
|
306
|
-
- id: present
|
|
307
|
-
name: '@deepseek-ai/dsh-tool-present'
|
|
308
|
-
|
|
309
|
-
- id: tool-plugin-manager
|
|
310
|
-
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
311
|
-
disabled: true
|
|
238
|
+
|
|
239
|
+
# Product providers are host-plane singletons. Remove `disabled` from
|
|
240
|
+
# either ordinary tool row to expose that product to agents on this preset.
|
|
241
|
+
- id: tool-subagent-codex
|
|
242
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
243
|
+
disabled: true
|
|
244
|
+
config:
|
|
245
|
+
provider: codex
|
|
246
|
+
toolName: subagent_codex
|
|
247
|
+
backgroundMode: one-shot
|
|
248
|
+
maxDepth: provider-managed
|
|
249
|
+
|
|
250
|
+
- id: tool-subagent-claude-code
|
|
251
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
252
|
+
disabled: true
|
|
253
|
+
config:
|
|
254
|
+
provider: claude-code
|
|
255
|
+
toolName: subagent_claude_code
|
|
256
|
+
backgroundMode: one-shot
|
|
257
|
+
maxDepth: provider-managed
|
|
258
|
+
|
|
259
|
+
- id: workflow-ptc
|
|
260
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
261
|
+
config:
|
|
262
|
+
provider: spawn
|
|
263
|
+
|
|
264
|
+
- id: tool-workflow
|
|
265
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
266
|
+
# Keep the engine above for `ralph`, but do not publish a second
|
|
267
|
+
# model-authored orchestration surface beside `run_code` in PTC mode.
|
|
268
|
+
disabled: true
|
|
269
|
+
|
|
270
|
+
- id: tool-ralph
|
|
271
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
272
|
+
config:
|
|
273
|
+
subagentProvider: spawn
|
|
274
|
+
maxRounds: 64
|
|
275
|
+
|
|
276
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
277
|
+
|
|
278
|
+
- id: tool-ask-user
|
|
279
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
280
|
+
|
|
281
|
+
- id: tool-todo
|
|
282
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
283
|
+
config:
|
|
284
|
+
allowParallelInProgress: true
|
|
285
|
+
|
|
286
|
+
# The `web` service and its search provider stay in the host composition; only
|
|
287
|
+
# the model-facing tool is per-session.
|
|
288
|
+
- id: tool-web
|
|
289
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
290
|
+
config:
|
|
291
|
+
fetch: true
|
|
292
|
+
searchTimeoutMs: 60000
|
|
293
|
+
|
|
294
|
+
# ── presentation ────────────────────────────────────────────────────────────
|
|
295
|
+
|
|
296
|
+
# PTC for this agent alone. The row waits for the host's `ptcRuntime`
|
|
297
|
+
# rather than assuming it: a deployment that composes no TypeScript runtime
|
|
298
|
+
# fails this preset at mount, naming this id, instead of at the first request.
|
|
299
|
+
- id: tool-presentation
|
|
300
|
+
name: '@deepseek-ai/dsh-agent-tool-presentation'
|
|
301
|
+
config:
|
|
302
|
+
mode: ptc
|
|
303
|
+
|
|
304
|
+
# Official `ptc` parity rows (0.1.6): the deliverables presenter and the
|
|
305
|
+
# plugin-manager tools (off by default, mirroring the official preset).
|
|
306
|
+
- id: present
|
|
307
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
308
|
+
|
|
309
|
+
- id: tool-plugin-manager
|
|
310
|
+
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
311
|
+
disabled: true
|