@stardustlc/dsh-suite 0.1.10 → 0.2.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.en.md +2 -2
- package/README.md +2 -2
- package/package.json +12 -8
- package/ptc-minimal.patch.yml +307 -0
package/README.en.md
CHANGED
|
@@ -10,7 +10,7 @@ Bundles five product lines — office flow (with dream-based memory), media stud
|
|
|
10
10
|
|
|
11
11
|
## Compatibility
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
Version 0.2.0 requires Harness 0.1.7 or later; the current tested baseline is official-source **0.1.7-alpha.2**, with a local `Symbol.for` tool-scheduler fix. All 18 plugins register 96 tools and 34 skills; the Minimal PTC preset mounts in a real agent and appears in the mode picker. Settings migration, restart persistence, offline contracts and Web authentication are checked. Live external-service workflows need separate verification. Use suite 0.1.10 on Harness 0.1.5/0.1.6.
|
|
14
14
|
|
|
15
15
|
## Install / Uninstall
|
|
16
16
|
|
|
@@ -91,7 +91,7 @@ node scripts/smoke-harness.mjs --harness-root C:/path/to/deepseek-harness --inst
|
|
|
91
91
|
|
|
92
92
|
Use `--install-tarballs` before release to test installation. The report must contain `{ "ok": true, "packages": [{ "name", "version", "tarball", "integrity" }] }` for the suite and all 18 components, with `sha512-...` integrity values. Only the temporary profile redirects those versions to local tarballs. The official CLI installs the suite; verification requires transitive component dependencies, no duplicate profile layers, successful startup, the complete registry and PTC mounting. Dependency installation can contact npm; this mode is not an offline test.
|
|
93
93
|
|
|
94
|
-
Contracts use the selected Harness's real `ToolRuntime` and `SkillRegistry`: required service declarations, all parameter/output schemas, skill registrations and collisions, both PTC SDKs, and the execution/rendering of 16 health fixtures plus `ppt_themes`.
|
|
94
|
+
Contracts use the selected Harness's real `ToolRuntime` and `SkillRegistry`: required service declarations, all parameter/output schemas, skill registrations and collisions, both PTC SDKs, and the execution/rendering of 16 health fixtures plus `ppt_themes`. Legacy-host checks cover the retired directory format. On 0.1.7, startup verification checks declarative preset registration and module resolution. Startup verification also mounts it in a real agent, requiring `run_code` as the model entry point and retention of plugin tools and the shell. Only these read-only output samples are executed; other business workflows rely on the component unit tests and mocked dependencies.
|
|
95
95
|
|
|
96
96
|
HyperFrames and Remotion also undergo a real registry regression: remove one registered skill and require unhealthy status, then restore the matching registration and require healthy status. The startup smoke check executes both health tools and requires all bundled skills to be active.
|
|
97
97
|
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## 兼容性
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
0.2.0 需要 Harness 0.1.7 及以上,当前实测基线为官方源码构建的 **0.1.7-alpha.2**(含本地工具调度器 `Symbol.for` 修复)。18 个组件共同注册 96 个工具、34 个技能;极简 PTC 可在模式列表选择,并已在真实 Agent 挂载。配置迁移、重启持久化、离线契约和 Web 鉴权已验证。外部服务业务需单独验证;Harness 0.1.5/0.1.6 请使用套件 0.1.10。
|
|
14
14
|
|
|
15
15
|
## 安装
|
|
16
16
|
|
|
@@ -107,7 +107,7 @@ node scripts/smoke-harness.mjs --harness-root C:/path/to/deepseek-harness --inst
|
|
|
107
107
|
|
|
108
108
|
发布前使用 `--install-tarballs` 验证真实安装:报告格式为 `{ "ok": true, "packages": [{ "name", "version", "tarball", "integrity" }] }`,须包含套件和 18 个组件,`integrity` 为 `sha512-...`。验证器只在临时 profile 中将指定版本映射到本地 tarball,经官方 CLI 安装套件,要求组件为传递依赖且不重复启用 profile 层,再检查实际启动、完整目录和 PTC 挂载。开发依赖可能访问 npm;这个安装模式不属于离线测试。
|
|
109
109
|
|
|
110
|
-
契约检查使用指定 Harness 的真实 `ToolRuntime` 和 `SkillRegistry`:逐个校验服务注入声明、全部工具参数与输出 schema、技能注册和重名冲突,生成两种 PTC SDK,再通过宿主执行链运行 16 个 health 与 `ppt_themes`
|
|
110
|
+
契约检查使用指定 Harness 的真实 `ToolRuntime` 和 `SkillRegistry`:逐个校验服务注入声明、全部工具参数与输出 schema、技能注册和重名冲突,生成两种 PTC SDK,再通过宿主执行链运行 16 个 health 与 `ppt_themes` 输出样例。旧宿主兼容测试会校验旧目录预设;0.1.7 启动验收检查声明式预设注册与模块解析,启动验收还会创建真实 agent 挂载预设,确认模型入口为 `run_code` 且保留插件工具与 Shell。这里只覆盖这些只读样例的返回值;发信、合成、渲染等业务流程由组件测试中的模拟依赖验证。
|
|
111
111
|
|
|
112
112
|
HyperFrames 与 Remotion 另有真实注册表回归:卸载一个已注册技能,确认 health 报告异常,再恢复相同注册并确认 health 恢复正常。启动验收也会执行这两个 health,要求全部随包技能实际生效。
|
|
113
113
|
|
package/package.json
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stardustlc/dsh-suite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "DSH 插件全家桶:18 个组件覆盖邮件、日历、媒体创作、开发运维、消息通知与极简 PTC,一条命令安装。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dsh": {
|
|
7
7
|
"bundle": {
|
|
8
|
-
"patch":
|
|
8
|
+
"patch": [
|
|
9
|
+
"./cordis.patch.yml",
|
|
10
|
+
"./ptc-minimal.patch.yml"
|
|
11
|
+
]
|
|
9
12
|
}
|
|
10
13
|
},
|
|
11
14
|
"files": [
|
|
12
15
|
"cordis.patch.yml",
|
|
13
16
|
"README.md",
|
|
14
|
-
"README.en.md"
|
|
17
|
+
"README.en.md",
|
|
18
|
+
"ptc-minimal.patch.yml"
|
|
15
19
|
],
|
|
16
20
|
"scripts": {
|
|
17
21
|
"test": "node --test \"test/*.test.mjs\"",
|
|
@@ -37,19 +41,19 @@
|
|
|
37
41
|
"dependencies": {
|
|
38
42
|
"@stardustlc/dsh-docker": "0.3.3",
|
|
39
43
|
"@stardustlc/dsh-dream": "0.3.3",
|
|
40
|
-
"dsh-calendar": "0.8.
|
|
44
|
+
"dsh-calendar": "0.8.4",
|
|
41
45
|
"dsh-cite": "0.3.3",
|
|
42
46
|
"dsh-code-security": "0.3.3",
|
|
43
47
|
"dsh-codex-port": "0.2.2",
|
|
44
48
|
"dsh-dingtalk": "0.2.1",
|
|
45
|
-
"dsh-email": "0.
|
|
49
|
+
"dsh-email": "0.14.0",
|
|
46
50
|
"dsh-ffmpeg": "0.4.3",
|
|
47
51
|
"dsh-flakefinder": "0.3.3",
|
|
48
52
|
"dsh-hyperframes": "0.3.2",
|
|
49
|
-
"dsh-minimal-ptc": "0.
|
|
50
|
-
"dsh-ppt": "0.4.
|
|
53
|
+
"dsh-minimal-ptc": "0.5.0",
|
|
54
|
+
"dsh-ppt": "0.4.4",
|
|
51
55
|
"dsh-remotion": "0.3.2",
|
|
52
|
-
"dsh-rss": "0.
|
|
56
|
+
"dsh-rss": "0.4.0",
|
|
53
57
|
"dsh-slack": "0.3.1",
|
|
54
58
|
"dsh-sql": "0.4.3",
|
|
55
59
|
"dsh-voice": "0.3.4"
|
|
@@ -0,0 +1,307 @@
|
|
|
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 persona marked `complete: true` with
|
|
19
|
+
# `includeRuntimeContext: false`, so global identity, Web orientation, tool
|
|
20
|
+
# guidance, and later assembly listeners cannot add prompt text, and runtime
|
|
21
|
+
# context snapshots are suppressed. 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 persona is the complete system prompt (minimal-mode prompt policy).
|
|
32
|
+
# dsh 0.1.3 renamed the persona config field `text` to `prefix` (required).
|
|
33
|
+
- id: persona
|
|
34
|
+
name: '@deepseek-ai/dsh-persona'
|
|
35
|
+
config:
|
|
36
|
+
prefix: You are a helpful software engineer assistant.
|
|
37
|
+
complete: true
|
|
38
|
+
includeRuntimeContext: false
|
|
39
|
+
|
|
40
|
+
# ── shell ───────────────────────────────────────────────────────────────────
|
|
41
|
+
|
|
42
|
+
# `shell-env` stays in the HOST composition: `apps/cli/src/web.ts` injects it to
|
|
43
|
+
# publish `DSH_WEB_URL`/`DSH_WEB_MODE`. Both shell tools consume the host
|
|
44
|
+
# registry from here; their executors are host-plane too.
|
|
45
|
+
- id: tool-bash
|
|
46
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
47
|
+
disabled: !!js process.platform === 'win32'
|
|
48
|
+
|
|
49
|
+
- id: tool-pwsh
|
|
50
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
51
|
+
disabled: true
|
|
52
|
+
|
|
53
|
+
# Windows persistent PowerShell PTY stack (rc.1 minimal parity). Replaces the
|
|
54
|
+
# one-shot pwsh row on win32; the gitbash group below keeps a stateless bash
|
|
55
|
+
# tool beside it. The model-facing tool name remains `pwsh`.
|
|
56
|
+
- id: persistent-shell
|
|
57
|
+
name: cordis:group
|
|
58
|
+
group: true
|
|
59
|
+
disabled: !!js process.platform !== 'win32'
|
|
60
|
+
isolate:
|
|
61
|
+
terminals: true
|
|
62
|
+
config:
|
|
63
|
+
- id: pty
|
|
64
|
+
name: '@deepseek-ai/dsh-terminal'
|
|
65
|
+
|
|
66
|
+
- id: terminal-pwsh
|
|
67
|
+
name: '@deepseek-ai/dsh-terminal-bash'
|
|
68
|
+
disabled: !!js process.platform !== 'win32'
|
|
69
|
+
config:
|
|
70
|
+
shellDialect: pwsh
|
|
71
|
+
timeoutMs: 300000
|
|
72
|
+
|
|
73
|
+
- id: persistent-pwsh
|
|
74
|
+
name: '@deepseek-ai/dsh-tool-pwsh-persistent'
|
|
75
|
+
disabled: !!js process.platform !== 'win32'
|
|
76
|
+
config:
|
|
77
|
+
timeoutMs: 300000
|
|
78
|
+
description: |-
|
|
79
|
+
Run commands in a PowerShell shell
|
|
80
|
+
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
81
|
+
* Network access depends on the host environment.
|
|
82
|
+
* State is persistent across command calls and discussions with the user.
|
|
83
|
+
* Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
|
|
84
|
+
* Please avoid commands that may produce a very large amount of output.
|
|
85
|
+
* Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
|
|
86
|
+
|
|
87
|
+
# Windows Git Bash shell stack. The preset-local executor runs every `bash`
|
|
88
|
+
# call through Git for Windows bash, keeping the model-facing tool name and
|
|
89
|
+
# stateless semantics identical to the POSIX `tool-bash` row above. Only
|
|
90
|
+
# mounted on win32; the POSIX host keeps the official bash runner.
|
|
91
|
+
- id: gitbash-shell
|
|
92
|
+
name: cordis:group
|
|
93
|
+
group: true
|
|
94
|
+
disabled: !!js process.platform !== 'win32'
|
|
95
|
+
isolate:
|
|
96
|
+
shell: true
|
|
97
|
+
config:
|
|
98
|
+
- id: gitbash-executor
|
|
99
|
+
name: dsh-minimal-ptc/gitbash-executor
|
|
100
|
+
config:
|
|
101
|
+
# 留空:executor 自动探测 GIT_BASH → 常见安装目录 → PATH → 'bash'
|
|
102
|
+
# 如需固定路径可显式写 shellPath: 'C:\\Program Files\\Git\\bin\\bash.exe'
|
|
103
|
+
timeoutMs: 120000
|
|
104
|
+
maxTimeoutMs: 600000
|
|
105
|
+
maxOutputBytes: 64000
|
|
106
|
+
maxSpillBytes: 67108864
|
|
107
|
+
graceMs: 3000
|
|
108
|
+
|
|
109
|
+
- id: tool-bash-win
|
|
110
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
111
|
+
config:
|
|
112
|
+
enableRunInBackground: false
|
|
113
|
+
|
|
114
|
+
# ── filesystem ──────────────────────────────────────────────────────────────
|
|
115
|
+
|
|
116
|
+
# Both register into the host `tools` registry and provide nothing, so
|
|
117
|
+
# they need no realm. The `fs` service and its policy stay in the host.
|
|
118
|
+
- id: tool-fs
|
|
119
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
120
|
+
|
|
121
|
+
- id: tool-fs-search
|
|
122
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
123
|
+
config:
|
|
124
|
+
sampleOverCapGlobResults: false
|
|
125
|
+
|
|
126
|
+
# ── background jobs ────────────────────────────────────────────────────────
|
|
127
|
+
|
|
128
|
+
# Only the model-facing controls. The task REGISTRY stays on the host plane.
|
|
129
|
+
- id: tool-jobs
|
|
130
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
131
|
+
|
|
132
|
+
# ── skills ──────────────────────────────────────────────────────────────────
|
|
133
|
+
|
|
134
|
+
# The skill REGISTRY lives in the host composition and is layered per scope:
|
|
135
|
+
# these rows register into THIS preset's layer of it, so they need no realm.
|
|
136
|
+
- id: skill-filesystem
|
|
137
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
138
|
+
|
|
139
|
+
- id: tool-skill
|
|
140
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
141
|
+
|
|
142
|
+
# ── goals ───────────────────────────────────────────────────────────────────
|
|
143
|
+
|
|
144
|
+
# Only the model-facing tool plus the human command. The goal SERVICE, its
|
|
145
|
+
# session driver stay on the host plane.
|
|
146
|
+
- id: command-goal
|
|
147
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
148
|
+
|
|
149
|
+
- id: tool-goal
|
|
150
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
151
|
+
|
|
152
|
+
# ── plan mode ───────────────────────────────────────────────────────────────
|
|
153
|
+
|
|
154
|
+
# Plan state is per-agent by nature, so an entry-local realm is not a
|
|
155
|
+
# workaround here — it is the correct lifetime.
|
|
156
|
+
- id: planning
|
|
157
|
+
name: cordis:group
|
|
158
|
+
group: true
|
|
159
|
+
isolate:
|
|
160
|
+
planMode: true
|
|
161
|
+
config:
|
|
162
|
+
- id: plan-mode
|
|
163
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
164
|
+
config:
|
|
165
|
+
section: |
|
|
166
|
+
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.
|
|
167
|
+
|
|
168
|
+
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.
|
|
169
|
+
|
|
170
|
+
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.
|
|
171
|
+
|
|
172
|
+
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.
|
|
173
|
+
|
|
174
|
+
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.
|
|
175
|
+
|
|
176
|
+
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.
|
|
177
|
+
|
|
178
|
+
# ── compaction ──────────────────────────────────────────────────────────────
|
|
179
|
+
|
|
180
|
+
# `compaction-basic` reads `toolResultPrune` through `ctx.get`, so the pruner
|
|
181
|
+
# must share this realm rather than sit outside it. `tokenMeter` stays HOST-side.
|
|
182
|
+
- id: compaction
|
|
183
|
+
name: cordis:group
|
|
184
|
+
group: true
|
|
185
|
+
isolate:
|
|
186
|
+
compaction: true
|
|
187
|
+
toolResultPruner: true
|
|
188
|
+
config:
|
|
189
|
+
- id: compaction-basic
|
|
190
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
191
|
+
|
|
192
|
+
- id: command-compact
|
|
193
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
194
|
+
|
|
195
|
+
- id: tool-result-pruner
|
|
196
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
197
|
+
config:
|
|
198
|
+
thresholdChars: 8192
|
|
199
|
+
headChars: 4096
|
|
200
|
+
tailChars: 1024
|
|
201
|
+
|
|
202
|
+
# ── delegation and workflows ────────────────────────────────────────────────
|
|
203
|
+
|
|
204
|
+
# The `subagents` registry and its spawn/fork backends live in the HOST
|
|
205
|
+
# composition. This preset contributes the delegation TOOLS. `workflows` shares
|
|
206
|
+
# one entry-local realm here, and a consumer left outside would resolve a host
|
|
207
|
+
# registry this preset does not populate.
|
|
208
|
+
- id: delegation
|
|
209
|
+
name: cordis:group
|
|
210
|
+
group: true
|
|
211
|
+
isolate:
|
|
212
|
+
workflowEngine: true
|
|
213
|
+
config:
|
|
214
|
+
- id: tool-subagent-control
|
|
215
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
216
|
+
|
|
217
|
+
- id: tool-subagent-list-agents
|
|
218
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
219
|
+
|
|
220
|
+
- id: tool-subagent
|
|
221
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
222
|
+
config:
|
|
223
|
+
provider: spawn
|
|
224
|
+
toolName: subagent
|
|
225
|
+
modelSelectionSettings: true
|
|
226
|
+
backgroundMode: continuable
|
|
227
|
+
|
|
228
|
+
- id: tool-subagent-fork
|
|
229
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
230
|
+
config:
|
|
231
|
+
provider: fork
|
|
232
|
+
toolName: subagent_fork
|
|
233
|
+
backgroundMode: continuable
|
|
234
|
+
|
|
235
|
+
# Product providers are host-plane singletons. Remove `disabled` from
|
|
236
|
+
# either ordinary tool row to expose that product to agents on this preset.
|
|
237
|
+
- id: tool-subagent-codex
|
|
238
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
239
|
+
disabled: true
|
|
240
|
+
config:
|
|
241
|
+
provider: codex
|
|
242
|
+
toolName: subagent_codex
|
|
243
|
+
backgroundMode: one-shot
|
|
244
|
+
maxDepth: provider-managed
|
|
245
|
+
|
|
246
|
+
- id: tool-subagent-claude-code
|
|
247
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
248
|
+
disabled: true
|
|
249
|
+
config:
|
|
250
|
+
provider: claude-code
|
|
251
|
+
toolName: subagent_claude_code
|
|
252
|
+
backgroundMode: one-shot
|
|
253
|
+
maxDepth: provider-managed
|
|
254
|
+
|
|
255
|
+
- id: workflow-ptc
|
|
256
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
257
|
+
config:
|
|
258
|
+
provider: spawn
|
|
259
|
+
|
|
260
|
+
- id: tool-workflow
|
|
261
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
262
|
+
# Keep the engine above for `ralph`, but do not publish a second
|
|
263
|
+
# model-authored orchestration surface beside `run_code` in PTC mode.
|
|
264
|
+
disabled: true
|
|
265
|
+
|
|
266
|
+
- id: tool-ralph
|
|
267
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
268
|
+
config:
|
|
269
|
+
subagentProvider: spawn
|
|
270
|
+
maxRounds: 64
|
|
271
|
+
|
|
272
|
+
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
273
|
+
|
|
274
|
+
- id: tool-ask-user
|
|
275
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
276
|
+
|
|
277
|
+
- id: tool-todo
|
|
278
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
279
|
+
config:
|
|
280
|
+
allowParallelInProgress: true
|
|
281
|
+
|
|
282
|
+
# The `web` service and its search provider stay in the host composition; only
|
|
283
|
+
# the model-facing tool is per-session.
|
|
284
|
+
- id: tool-web
|
|
285
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
286
|
+
config:
|
|
287
|
+
fetch: true
|
|
288
|
+
searchTimeoutMs: 60000
|
|
289
|
+
|
|
290
|
+
# ── presentation ────────────────────────────────────────────────────────────
|
|
291
|
+
|
|
292
|
+
# PTC for this agent alone. The row waits for the host's `ptcRuntime`
|
|
293
|
+
# rather than assuming it: a deployment that composes no TypeScript runtime
|
|
294
|
+
# fails this preset at mount, naming this id, instead of at the first request.
|
|
295
|
+
- id: tool-presentation
|
|
296
|
+
name: '@deepseek-ai/dsh-agent-tool-presentation'
|
|
297
|
+
config:
|
|
298
|
+
mode: ptc
|
|
299
|
+
|
|
300
|
+
# Official `ptc` parity rows (0.1.6): the deliverables presenter and the
|
|
301
|
+
# plugin-manager tools (off by default, mirroring the official preset).
|
|
302
|
+
- id: present
|
|
303
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
304
|
+
|
|
305
|
+
- id: tool-plugin-manager
|
|
306
|
+
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
307
|
+
disabled: true
|