@deepseek-ai/dsh-web-app 0.1.6-alpha.1 → 0.1.7-alpha.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.i18n.yaml +2 -2
- package/README.md +10 -7
- package/README.zh.md +10 -7
- package/cordis.patch.yml +82 -29
- package/package.json +150 -90
- package/presets/cordis.patch.yml +154 -0
- package/presets/minimal.patch.yml +61 -0
- package/presets/ptc.patch.yml +152 -0
- package/presets/standard.patch.yml +146 -0
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/bundle/web-app/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 9fd7cda152a2ca50eca253c54feb97b01d35e0ff
|
|
6
|
+
README.zh.md: e07e0556c1bd8b0869253add1ae591ce1c060ee0
|
package/README.md
CHANGED
|
@@ -34,11 +34,11 @@ dsh --profile web
|
|
|
34
34
|
dsh --profile web --no-open --port 8080
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
After startup you see a `dsh web:` line whose root URL carries a fresh process token. Unless `--no-open` or an SSH session suppresses it, the default browser opens that URL, receives a signed cookie, and redirects to the
|
|
37
|
+
After startup you see a `dsh web:` line whose root URL carries a fresh process token. Unless `--no-open` or an SSH session suppresses it, the default browser opens that URL, receives a signed cookie, and redirects to the same directory without the token. You know it worked when the page loads and you can chat with the agent. Two failures to expect: if the frontend is not built, startup stops with a build hint (`pnpm run build` in a checkout); if the browser cannot be opened, a credential-free diagnostic prints to stderr while the server keeps running — open the printed startup URL yourself.
|
|
38
38
|
|
|
39
|
-
**Settings → Models** displays **DeepSeek**, using `DEEPSEEK_API_KEY`. The default is `deepseek-official` / `deepseek-flash` (DeepSeek-V41-Flash). The [DeepSeek plugin](../../llm/llm-deepseek/README.md#
|
|
39
|
+
**Settings → Models** displays **DeepSeek**, using `DEEPSEEK_API_KEY`. The default is `deepseek-official` / `deepseek-flash` (DeepSeek-V41-Flash). The [DeepSeek plugin](../../llm/llm-deepseek/README.md#endpoint-and-wire-format) uses the Messages API.
|
|
40
40
|
|
|
41
|
-
Saved model selections override the composition default.
|
|
41
|
+
Saved model selections override the composition default. The settings card accepts a Messages-compatible API address and a credential reference.
|
|
42
42
|
|
|
43
43
|
### Configuration
|
|
44
44
|
|
|
@@ -63,7 +63,7 @@ When you launch `dsh --profile web` over SSH, the URL line still prints but the
|
|
|
63
63
|
|
|
64
64
|
### Per-session agent setup
|
|
65
65
|
|
|
66
|
-
Each browser session
|
|
66
|
+
Each browser session selects a shipped preset (`standard` by default). The Agent presets settings page changes the default and edits preset child plugins; saves persist in `$DSH_HOME/profiles/web/cordis.patch.yml`. Creator's plugin-management tool is enabled only when the Host provides an editable profile.
|
|
67
67
|
|
|
68
68
|
-----
|
|
69
69
|
|
|
@@ -73,7 +73,7 @@ Each browser session composes its own agent from the shipped presets (the `stand
|
|
|
73
73
|
<details>
|
|
74
74
|
<summary>Implementation internals — click to expand</summary>
|
|
75
75
|
|
|
76
|
-
The bundle is one patch plus one runtime glue plugin. The storage stack and projection cache come from `dsh-base`; the web overlay's workspace and message-feedback rows consume that shared `storageDomain` service. The patch restates the surface-specific values the base deliberately omits, inserts the web-only host rows and browser roster, then moves the agent plane behind presets. The glue plugin owns dist serving, trust sampling, prompt sections, the bash variable, and the readiness announcements.
|
|
76
|
+
The bundle is one patch layer of five files plus one runtime glue plugin: `cordis.patch.yml` carries the host rows and the preset registry, and each `presets/<id>.patch.yml` inserts one shipped preset declaration, applied in the order `dsh.bundle.patch` lists them. The storage stack and projection cache come from `dsh-base`; the web overlay's workspace and message-feedback rows consume that shared `storageDomain` service. The patch restates the surface-specific values the base deliberately omits, inserts the web-only host rows and browser roster, then moves the agent plane behind presets. The glue plugin owns dist serving, trust sampling, prompt sections, the bash variable, and the readiness announcements. The `office-to-pdf` row mounts one lazy [Office conversion provider](../../document/office-to-pdf/README.md) for Host consumers, including Desktop compositions using this bundle. The conversion service's Remote methods authorize preview reads, while Document Preview owns the Office viewer and Client cache.
|
|
77
77
|
|
|
78
78
|
### Patch semantics
|
|
79
79
|
|
|
@@ -81,7 +81,7 @@ A patch replaces the targeted row's whole `config`, so each web row restates eve
|
|
|
81
81
|
|
|
82
82
|
### Readiness
|
|
83
83
|
|
|
84
|
-
The URL line and browser handoff are readiness signals: supervisors RPC as soon as they observe the line, and a browser requests the page as soon as it opens, so both run only after the Loader tree settles, the required-startup audit passes, and Connection authentication is available — or immediately in a hand-built tree without a Loader. Optional plugin failures do not suppress readiness; a required startup failure or a tree disposed mid-boot announces nothing.
|
|
84
|
+
The URL line and browser handoff are readiness signals: supervisors RPC as soon as they observe the line, and a browser requests the page as soon as it opens, so both run only after the Loader tree settles, the required-startup audit passes, and Connection authentication is available — or immediately in a hand-built tree without a Loader. Client combo JavaScript and source maps remain unmaterialized at this point. Optional plugin failures do not suppress readiness; a required startup failure or a tree disposed mid-boot announces nothing.
|
|
85
85
|
|
|
86
86
|
### LAN trust sampling
|
|
87
87
|
|
|
@@ -93,7 +93,8 @@ The URL line and browser handoff are readiness signals: supervisors RPC as soon
|
|
|
93
93
|
|---|---|
|
|
94
94
|
| [`src/index.ts`](src/index.ts) | The `web-app` glue plugin: dist resolution, LAN trust sampling, prompt sections, bash variable, URL line, browser handoff |
|
|
95
95
|
| [`src/startup.ts`](src/startup.ts) | The `web-startup` provider: `--host`, `--port`, `--trusted-host`, `--no-open`, `--help` |
|
|
96
|
-
| [`cordis.patch.yml`](cordis.patch.yml) | The web patch: restated base values, web host rows, browser roster,
|
|
96
|
+
| [`cordis.patch.yml`](cordis.patch.yml) | The web patch: restated base values, web host rows, browser roster, preset registry |
|
|
97
|
+
| [`presets/`](presets) | One `@deepseek-ai/dsh-agent-preset` declaration per shipped preset (`standard`, `ptc`, `minimal`, `cordis`), each its own patch file |
|
|
97
98
|
| — | No runtime invariant companion is published; every contribution (frontend-static child plugin, prompt section, bashEnv registration) is registry-disposed with the fiber, and each owning registry's package carries that relation's invariant; the package holds no mutable state of its own to audit. |
|
|
98
99
|
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | Dist resolution, fallback seat, prompt sections, readiness |
|
|
99
100
|
| [`tests/startup.spec.ts`](tests/startup.spec.ts) | Command-line parsing over a real Loader tree |
|
|
@@ -161,3 +162,5 @@ These limits tell you what to expect in unusual setups — a source checkout, SS
|
|
|
161
162
|
None.
|
|
162
163
|
|
|
163
164
|
</details>
|
|
165
|
+
|
|
166
|
+
The Web composition includes the account Remote controller and Account settings section.
|
package/README.zh.md
CHANGED
|
@@ -34,11 +34,11 @@ dsh --profile web
|
|
|
34
34
|
dsh --profile web --no-open --port 8080
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
启动后你会看到 `dsh web:` 行,其根 URL 携带新的进程 token。除非 `--no-open` 或 SSH 会话抑制,否则默认浏览器会打开该 URL、取得签名 cookie
|
|
37
|
+
启动后你会看到 `dsh web:` 行,其根 URL 携带新的进程 token。除非 `--no-open` 或 SSH 会话抑制,否则默认浏览器会打开该 URL、取得签名 cookie,再重定向到不含认证参数的同一目录。页面加载且你可以与 agent 对话,就说明成功了。两种可预期的失败:前端未构建时,启动会以构建提示停止(checkout 中运行 `pnpm run build`);浏览器无法打开时,stderr 会打印不含凭据的诊断,但服务器会继续运行——请自行打开已打印的启动 URL。
|
|
38
38
|
|
|
39
|
-
**设置 → 模型**显示 **DeepSeek**,使用 `DEEPSEEK_API_KEY`。默认模型为 `deepseek-official` / `deepseek-flash`(DeepSeek-V41-Flash)。[DeepSeek 插件](../../llm/llm-deepseek/README.zh.md#
|
|
39
|
+
**设置 → 模型**显示 **DeepSeek**,使用 `DEEPSEEK_API_KEY`。默认模型为 `deepseek-official` / `deepseek-flash`(DeepSeek-V41-Flash)。[DeepSeek 插件](../../llm/llm-deepseek/README.zh.md#endpoint-and-wire-format)使用 Messages API。
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
已保存的模型选择覆盖组合默认值。设置卡接受兼容 Messages 的 API 地址与凭据引用。
|
|
42
42
|
|
|
43
43
|
### 配置
|
|
44
44
|
|
|
@@ -63,7 +63,7 @@ dsh --profile web --no-open --port 8080
|
|
|
63
63
|
|
|
64
64
|
### 按会话的 agent 设置
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
每个浏览器会话选择一个随发行版交付的 preset(默认 `standard`)。Agent 预设设置页可更改默认项并编辑预设的子插件;保存结果持久化到 `$DSH_HOME/profiles/web/cordis.patch.yml`。只有 Host 提供可编辑的 profile 时,Creator 的插件管理工具才会启用。
|
|
67
67
|
|
|
68
68
|
-----
|
|
69
69
|
|
|
@@ -73,7 +73,7 @@ dsh --profile web --no-open --port 8080
|
|
|
73
73
|
<details>
|
|
74
74
|
<summary>实现细节——点击展开</summary>
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
此 bundle 由一层五个文件的补丁和一个运行时胶水插件组成:`cordis.patch.yml` 承载宿主行和 preset 注册表,每个 `presets/<id>.patch.yml` 插入一条随发行版交付的 preset 声明,按 `dsh.bundle.patch` 列出的顺序应用。存储栈与投影缓存来自 `dsh-base`;Web 叠加层的工作区和消息反馈条目消费共享的 `storageDomain` 服务。补丁重述 base 有意省略的界面专用值,插入 Web 专用宿主条目和浏览器插件列表,再将 Agent 层移到预设后面。胶水插件负责 dist 服务、信任采样、提示词段落、bash 变量和就绪通知。`office-to-pdf` 条目为宿主消费者挂载一个延迟创建引擎的 [Office 转换提供方](../../document/office-to-pdf/README.zh.md),使用此 bundle 的 Desktop 组合也共享该提供方。 转换服务的 Remote 方法负责预览读取授权,Document Preview 负责 Office 查看器和客户端缓存。
|
|
77
77
|
|
|
78
78
|
### patch 语义
|
|
79
79
|
|
|
@@ -81,7 +81,7 @@ patch 会替换目标行的整个 `config`,因此每个 Web 行都重述自己
|
|
|
81
81
|
|
|
82
82
|
### 就绪宣告
|
|
83
83
|
|
|
84
|
-
URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发起 RPC,浏览器一打开就请求页面,因此两者只在 Loader 配置树结算、通过 required 启动检查且 Connection 认证可用后运行——在没有 Loader
|
|
84
|
+
URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发起 RPC,浏览器一打开就请求页面,因此两者只在 Loader 配置树结算、通过 required 启动检查且 Connection 认证可用后运行——在没有 Loader 的手工构建树中则立即运行。此时 client combo JavaScript 和 source map 仍未物化。可选插件失败不会阻止就绪宣告;required 启动失败或启动中途被释放的树不会宣告任何内容。
|
|
85
85
|
|
|
86
86
|
### LAN 信任采样
|
|
87
87
|
|
|
@@ -93,7 +93,8 @@ URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发
|
|
|
93
93
|
|---|---|
|
|
94
94
|
| [`src/index.ts`](src/index.ts) | `web-app` 粘合插件:dist 解析、LAN 信任采样、提示词段落、bash 变量、URL 行、浏览器交接 |
|
|
95
95
|
| [`src/startup.ts`](src/startup.ts) | `web-startup` 提供方:`--host`、`--port`、`--trusted-host`、`--no-open`、`--help` |
|
|
96
|
-
| [`cordis.patch.yml`](cordis.patch.yml) | Web patch:重述的基础值、Web
|
|
96
|
+
| [`cordis.patch.yml`](cordis.patch.yml) | Web patch:重述的基础值、Web 宿主行、浏览器名录、preset 注册表 |
|
|
97
|
+
| [`presets/`](presets) | 每个随发行版交付的 preset(`standard`、`ptc`、`minimal`、`cordis`)各一条 `@deepseek-ai/dsh-agent-preset` 声明,各自一个补丁文件 |
|
|
97
98
|
| — | 不发布运行时不变式伴生入口;每项贡献(frontend-static 子插件、提示词段落、bashEnv 注册)都会随 fiber 由注册表释放,且每个所属注册表的包负责该关系的不变式;本包不持有需要审计的可变状态。 |
|
|
98
99
|
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | dist 解析、回退席位、提示词段落、就绪宣告 |
|
|
99
100
|
| [`tests/startup.spec.ts`](tests/startup.spec.ts) | 在真实 Loader 树上的命令行解析 |
|
|
@@ -161,3 +162,5 @@ URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发
|
|
|
161
162
|
无。
|
|
162
163
|
|
|
163
164
|
</details>
|
|
165
|
+
|
|
166
|
+
Web 组合包含账号 Remote 控制器和账号设置页面。
|
package/cordis.patch.yml
CHANGED
|
@@ -102,6 +102,10 @@
|
|
|
102
102
|
- id: session-controller
|
|
103
103
|
name: '@deepseek-ai/dsh-api-session-controller'
|
|
104
104
|
|
|
105
|
+
# One background job's observation record streamed over Typert Remote;
|
|
106
|
+
# the roster rides the session control stream above.
|
|
107
|
+
- id: job-controller
|
|
108
|
+
name: '@deepseek-ai/dsh-api-job-controller'
|
|
105
109
|
# Workspace file service: bounded read, directory listing, and the
|
|
106
110
|
# agent-write change feed inside the session workspace root.
|
|
107
111
|
- id: terminal-controller
|
|
@@ -111,6 +115,12 @@
|
|
|
111
115
|
|
|
112
116
|
# Configuration-surface reads and writes over Typert Remote. Each method
|
|
113
117
|
# reports an actionable error when its settings-domain provider is absent.
|
|
118
|
+
- id: ui-settings-account
|
|
119
|
+
name: '@deepseek-ai/dsh-client-ui-settings-account'
|
|
120
|
+
|
|
121
|
+
- id: account-controller
|
|
122
|
+
name: '@deepseek-ai/dsh-api-account-controller'
|
|
123
|
+
|
|
114
124
|
- id: settings-controller
|
|
115
125
|
name: '@deepseek-ai/dsh-api-settings-controller'
|
|
116
126
|
|
|
@@ -121,6 +131,12 @@
|
|
|
121
131
|
- id: cordis-host-runner
|
|
122
132
|
name: '@deepseek-ai/dsh-cordis-host-runner'
|
|
123
133
|
|
|
134
|
+
# The Host inspect providers are process-global: the registry rejects a
|
|
135
|
+
# duplicate id, so they register here once and every preset's `tool-cordis`
|
|
136
|
+
# row reads them.
|
|
137
|
+
- id: cordis-inspect-providers
|
|
138
|
+
name: '@deepseek-ai/dsh-tool-cordis/host'
|
|
139
|
+
|
|
124
140
|
# Ordinary provider for the parsed Web flags. Its plugin-level injection
|
|
125
141
|
# waits for cmdlineArgs; no launcher metadata or special row kind is needed.
|
|
126
142
|
- id: web-startup
|
|
@@ -145,8 +161,9 @@
|
|
|
145
161
|
# assembly fact of dsh-web-app, never user config), mounts the
|
|
146
162
|
# frontend-static fallback owner, registers the web-surface prompt
|
|
147
163
|
# section and the bash runtime variable, prints the URL line, and opens the
|
|
148
|
-
# canonical local URL after the full tree settles
|
|
149
|
-
#
|
|
164
|
+
# canonical local URL after the full Loader tree settles and the required-
|
|
165
|
+
# entry audit passes. The
|
|
166
|
+
# webStartup provider supplies invocation-only values; after the server binds, this row samples
|
|
150
167
|
# LAN trust once and provides `webRuntime`. A complete agent-preset persona
|
|
151
168
|
# suppresses the prompt section for that agent while retaining the host-owned
|
|
152
169
|
# shell variable.
|
|
@@ -224,14 +241,22 @@
|
|
|
224
241
|
name: '@deepseek-ai/dsh-client-ui-sidebar-right'
|
|
225
242
|
|
|
226
243
|
|
|
244
|
+
- id: office-to-pdf
|
|
245
|
+
name: '@deepseek-ai/dsh-office-to-pdf'
|
|
246
|
+
|
|
227
247
|
# The right Sidebar's document tab: bounded file reads with selectable
|
|
228
|
-
# Markdown, code, HTML, PDF, and plain-text renderers.
|
|
248
|
+
# Markdown, code, HTML, PDF, Office, and plain-text renderers.
|
|
229
249
|
- id: ui-sidebar-documentpreview
|
|
230
250
|
name: '@deepseek-ai/dsh-client-ui-sidebar-documentpreview'
|
|
231
251
|
|
|
232
|
-
#
|
|
252
|
+
# Web profiles opt in; Desktop retains sandboxed HTTP(S) Browser tabs.
|
|
253
|
+
- id: ui-sidebar-browser
|
|
254
|
+
name: '@deepseek-ai/dsh-client-ui-sidebar-browser'
|
|
255
|
+
disabled: !!js "ctx.get('profileContext')?.name !== 'desktop'"
|
|
256
|
+
|
|
233
257
|
- id: ui-sidebar-terminal
|
|
234
258
|
name: '@deepseek-ai/dsh-client-ui-sidebar-terminal'
|
|
259
|
+
# The right Sidebar's workspace file tree tab type.
|
|
235
260
|
- id: ui-sidebar-files
|
|
236
261
|
name: '@deepseek-ai/dsh-client-ui-sidebar-files'
|
|
237
262
|
|
|
@@ -244,12 +269,17 @@
|
|
|
244
269
|
- id: ui-settings-models
|
|
245
270
|
name: '@deepseek-ai/dsh-client-ui-settings-models'
|
|
246
271
|
|
|
272
|
+
# Plugin management: the sidebar Plugins page installs, enables, disables,
|
|
273
|
+
# and removes the profile's bundles through the `pluginManager` Remote.
|
|
274
|
+
# Without a profile-backed Host it reports itself unavailable.
|
|
275
|
+
- id: ui-plugin-manager
|
|
276
|
+
name: '@deepseek-ai/dsh-client-ui-plugin-manager'
|
|
277
|
+
|
|
278
|
+
# Read-only Plugin list tab in the Settings Plugins section; the built-in
|
|
279
|
+
# bundles the sidebar page leaves out are inspected here.
|
|
247
280
|
- id: ui-settings-plugin-inventory
|
|
248
281
|
name: '@deepseek-ai/dsh-client-ui-settings-plugin-inventory'
|
|
249
282
|
|
|
250
|
-
- id: ui-settings-unarchive-sessions
|
|
251
|
-
name: '@deepseek-ai/dsh-client-ui-settings-unarchive-sessions'
|
|
252
|
-
|
|
253
283
|
- id: ui-conversation
|
|
254
284
|
name: '@deepseek-ai/dsh-client-ui-conversation'
|
|
255
285
|
|
|
@@ -273,20 +303,26 @@
|
|
|
273
303
|
- id: ui-cordis
|
|
274
304
|
name: '@deepseek-ai/dsh-client-ui-cordis'
|
|
275
305
|
|
|
276
|
-
#
|
|
277
|
-
#
|
|
278
|
-
|
|
279
|
-
name: '@deepseek-ai/dsh-client-ui-workflow-run'
|
|
280
|
-
|
|
281
|
-
# Turn tail: the produced-files row under each closing assistant message.
|
|
282
|
-
# Remove this entry to turn the surface off; the tail hole renders empty.
|
|
306
|
+
# Turn tail: the changed-files card and delivery cards under each closing
|
|
307
|
+
# assistant message. Remove this entry to turn the surface off; the tail
|
|
308
|
+
# hole renders empty.
|
|
283
309
|
- id: ui-deliverables
|
|
284
310
|
name: '@deepseek-ai/dsh-client-ui-deliverables'
|
|
285
311
|
|
|
312
|
+
# Records each top-level turn's changed files from git working-tree
|
|
313
|
+
# snapshots; the changed-files card above renders its events.
|
|
314
|
+
- id: workspace-changes
|
|
315
|
+
name: '@deepseek-ai/dsh-workspace-changes'
|
|
316
|
+
|
|
286
317
|
|
|
287
318
|
- id: ui-workspace
|
|
288
319
|
name: '@deepseek-ai/dsh-client-ui-workspace'
|
|
289
320
|
|
|
321
|
+
# Durable workflow lifecycle as an independent Chat node after the
|
|
322
|
+
# existing generic workflow tool row.
|
|
323
|
+
- id: ui-workflow-run
|
|
324
|
+
name: '@deepseek-ai/dsh-client-ui-workflow-run'
|
|
325
|
+
|
|
290
326
|
# Input triggers: the '/' | '@' pipeline (ui-input-trigger), the command surface over
|
|
291
327
|
# it (ui-commands), and the reference sources (ui-skill / ui-reference).
|
|
292
328
|
- id: ui-input-trigger
|
|
@@ -304,6 +340,12 @@
|
|
|
304
340
|
- id: ui-reference
|
|
305
341
|
name: '@deepseek-ai/dsh-client-ui-reference'
|
|
306
342
|
|
|
343
|
+
|
|
344
|
+
# Background jobs: the session-header roster with on-demand streaming
|
|
345
|
+
# record panels over the session job-output service.
|
|
346
|
+
- id: ui-jobs
|
|
347
|
+
name: '@deepseek-ai/dsh-client-ui-jobs'
|
|
348
|
+
|
|
307
349
|
# Read-only active Schedule catalog. The shipped Web graph resolves the
|
|
308
350
|
# client package but leaves it disabled; the explicit Schedule overlay
|
|
309
351
|
# enables this same row together with the host Schedule services.
|
|
@@ -311,10 +353,6 @@
|
|
|
311
353
|
name: '@deepseek-ai/dsh-client-ui-schedule'
|
|
312
354
|
disabled: true
|
|
313
355
|
|
|
314
|
-
# Background jobs: the session-header list over the jobsBySession mirror.
|
|
315
|
-
- id: ui-jobs
|
|
316
|
-
name: '@deepseek-ai/dsh-client-ui-jobs'
|
|
317
|
-
|
|
318
356
|
# Goal surface: GoalBar in the input dock over the goal session projection.
|
|
319
357
|
- id: ui-goal
|
|
320
358
|
name: '@deepseek-ai/dsh-client-ui-goal'
|
|
@@ -337,11 +375,27 @@
|
|
|
337
375
|
- id: ui-agent-preset
|
|
338
376
|
name: '@deepseek-ai/dsh-client-ui-agent-preset'
|
|
339
377
|
|
|
340
|
-
#
|
|
341
|
-
#
|
|
378
|
+
# The Built-in plugins settings section: the navigation entry and the tab
|
|
379
|
+
# row the inventory tab registers into. The official configuration pages
|
|
380
|
+
# are the companion rows below.
|
|
342
381
|
- id: ui-settings-plugins
|
|
343
382
|
name: '@deepseek-ai/dsh-client-ui-settings-plugins'
|
|
344
383
|
|
|
384
|
+
# The official settings pages: one companion package per host-plane
|
|
385
|
+
# namespace, each registering its page into the Plugins page while the
|
|
386
|
+
# Host serves the namespace.
|
|
387
|
+
- id: ui-settings-shell
|
|
388
|
+
name: '@deepseek-ai/dsh-client-ui-settings-shell'
|
|
389
|
+
|
|
390
|
+
- id: ui-settings-agent-loop
|
|
391
|
+
name: '@deepseek-ai/dsh-client-ui-settings-agent-loop'
|
|
392
|
+
|
|
393
|
+
- id: ui-settings-subagent
|
|
394
|
+
name: '@deepseek-ai/dsh-client-ui-settings-subagent'
|
|
395
|
+
|
|
396
|
+
- id: ui-settings-web-search
|
|
397
|
+
name: '@deepseek-ai/dsh-client-ui-settings-web-search'
|
|
398
|
+
|
|
345
399
|
# Plan control: the composer plan seat over the plan projection + /plan channel.
|
|
346
400
|
- id: ui-plan
|
|
347
401
|
name: '@deepseek-ai/dsh-client-ui-plan'
|
|
@@ -369,6 +423,9 @@
|
|
|
369
423
|
# exists, so there is no agent to key by. Behind a preset realm those variables
|
|
370
424
|
# would never reach the model's shell at all.
|
|
371
425
|
|
|
426
|
+
- id: tool-plugin-manager
|
|
427
|
+
disabled: true
|
|
428
|
+
|
|
372
429
|
- id: tool-bash
|
|
373
430
|
disabled: true
|
|
374
431
|
|
|
@@ -477,15 +534,11 @@
|
|
|
477
534
|
- id: tool-web
|
|
478
535
|
disabled: true
|
|
479
536
|
|
|
480
|
-
# The preset
|
|
481
|
-
#
|
|
482
|
-
#
|
|
483
|
-
# agent — authors their own, appended by the same package (`includeUserRoot`),
|
|
484
|
-
# and carries the same trust as shell access because a preset IS a
|
|
485
|
-
# composition. This row only names the default and any deployment-added
|
|
486
|
-
# `roots`; no launcher patching is involved.
|
|
537
|
+
# The preset selection registry. The shipped preset declarations follow as
|
|
538
|
+
# separate patch files under `presets/`, listed after this file in
|
|
539
|
+
# `package.json` `dsh.bundle.patch`.
|
|
487
540
|
- insert:
|
|
488
|
-
- id: agent-
|
|
489
|
-
name: '@deepseek-ai/dsh-agent-
|
|
541
|
+
- id: agent-preset-registry
|
|
542
|
+
name: '@deepseek-ai/dsh-agent-preset-registry'
|
|
490
543
|
config:
|
|
491
544
|
default: standard
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-web-app",
|
|
3
3
|
"description": "The dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"default": "./lib/startup.js"
|
|
24
24
|
},
|
|
25
25
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
26
|
+
"./presets/*.patch.yml": "./presets/*.patch.yml",
|
|
26
27
|
"./src/*": "./src/*",
|
|
27
28
|
"./package.json": "./package.json"
|
|
28
29
|
},
|
|
@@ -30,108 +31,167 @@
|
|
|
30
31
|
"lib/index.js",
|
|
31
32
|
"lib/startup.js",
|
|
32
33
|
"cordis.patch.yml",
|
|
34
|
+
"presets/standard.patch.yml",
|
|
35
|
+
"presets/ptc.patch.yml",
|
|
36
|
+
"presets/minimal.patch.yml",
|
|
37
|
+
"presets/cordis.patch.yml",
|
|
33
38
|
"lib/types/**/*.d.ts"
|
|
34
39
|
],
|
|
35
40
|
"license": "MIT",
|
|
36
41
|
"dsh": {
|
|
37
42
|
"bundle": {
|
|
38
|
-
"patch":
|
|
43
|
+
"patch": [
|
|
44
|
+
"./cordis.patch.yml",
|
|
45
|
+
"./presets/standard.patch.yml",
|
|
46
|
+
"./presets/ptc.patch.yml",
|
|
47
|
+
"./presets/minimal.patch.yml",
|
|
48
|
+
"./presets/cordis.patch.yml"
|
|
49
|
+
]
|
|
39
50
|
}
|
|
40
51
|
},
|
|
41
52
|
"dependencies": {
|
|
42
53
|
"commander": "^15.0.0",
|
|
43
54
|
"open": "^11.0.0",
|
|
44
|
-
"@deepseek-ai/dsh-agent-
|
|
45
|
-
"@deepseek-ai/dsh-
|
|
46
|
-
"@deepseek-ai/dsh-
|
|
47
|
-
"@deepseek-ai/dsh-
|
|
48
|
-
"@deepseek-ai/dsh-api-
|
|
49
|
-
"@deepseek-ai/dsh-
|
|
50
|
-
"@deepseek-ai/dsh-
|
|
51
|
-
"@deepseek-ai/dsh-
|
|
52
|
-
"@deepseek-ai/dsh-
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/dsh-
|
|
55
|
-
"@deepseek-ai/dsh-client-
|
|
56
|
-
"@deepseek-ai/dsh-client-
|
|
57
|
-
"@deepseek-ai/dsh-client-
|
|
58
|
-
"@deepseek-ai/dsh-client-
|
|
59
|
-
"@deepseek-ai/dsh-client-
|
|
60
|
-
"@deepseek-ai/dsh-client-
|
|
61
|
-
"@deepseek-ai/dsh-client-ui-
|
|
62
|
-
"@deepseek-ai/dsh-client-ui-
|
|
63
|
-
"@deepseek-ai/dsh-client-ui-
|
|
64
|
-
"@deepseek-ai/dsh-client-ui-
|
|
65
|
-
"@deepseek-ai/dsh-client-ui-
|
|
66
|
-
"@deepseek-ai/dsh-client-ui-
|
|
67
|
-
"@deepseek-ai/dsh-client-ui-
|
|
68
|
-
"@deepseek-ai/dsh-client-ui-
|
|
69
|
-
"@deepseek-ai/dsh-client-ui-
|
|
70
|
-
"@deepseek-ai/dsh-client-ui-
|
|
71
|
-
"@deepseek-ai/dsh-client-ui-
|
|
72
|
-
"@deepseek-ai/dsh-client-ui-
|
|
73
|
-
"@deepseek-ai/dsh-
|
|
74
|
-
"@deepseek-ai/dsh-client-ui-
|
|
75
|
-
"@deepseek-ai/dsh-client-ui-
|
|
76
|
-
"@deepseek-ai/dsh-client-ui-
|
|
77
|
-
"@deepseek-ai/dsh-client-ui-
|
|
78
|
-
"@deepseek-ai/dsh-client-ui-
|
|
79
|
-
"@deepseek-ai/dsh-client-ui-
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-
|
|
87
|
-
"@deepseek-ai/dsh-client-ui-
|
|
88
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
89
|
-
"@deepseek-ai/dsh-client-ui-
|
|
90
|
-
"@deepseek-ai/dsh-client-ui-
|
|
91
|
-
"@deepseek-ai/dsh-client-ui-
|
|
92
|
-
"@deepseek-ai/dsh-client-ui-
|
|
93
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
94
|
-
"@deepseek-ai/dsh-client-ui-
|
|
95
|
-
"@deepseek-ai/dsh-client-ui-
|
|
96
|
-
"@deepseek-ai/dsh-
|
|
97
|
-
"@deepseek-ai/dsh-
|
|
98
|
-
"@deepseek-ai/dsh-
|
|
99
|
-
"@deepseek-ai/dsh-
|
|
100
|
-
"@deepseek-ai/dsh-client-ui-
|
|
101
|
-
"@deepseek-ai/dsh-
|
|
102
|
-
"@deepseek-ai/dsh-
|
|
103
|
-
"@deepseek-ai/dsh-
|
|
104
|
-
"@deepseek-ai/dsh-client-ui-trajectory": "^0.1.
|
|
105
|
-
"@deepseek-ai/dsh-
|
|
106
|
-
"@deepseek-ai/dsh-
|
|
107
|
-
"@deepseek-ai/dsh-
|
|
108
|
-
"@deepseek-ai/dsh-
|
|
109
|
-
"@deepseek-ai/dsh-
|
|
110
|
-
"@deepseek-ai/dsh-
|
|
111
|
-
"@deepseek-ai/dsh-
|
|
112
|
-
"@deepseek-ai/dsh-
|
|
113
|
-
"@deepseek-ai/dsh-
|
|
114
|
-
"@deepseek-ai/dsh-
|
|
115
|
-
"@deepseek-ai/dsh-
|
|
116
|
-
"@deepseek-ai/dsh-
|
|
117
|
-
"@deepseek-ai/dsh-
|
|
118
|
-
"@deepseek-ai/dsh-
|
|
119
|
-
"@deepseek-ai/dsh-
|
|
120
|
-
"@deepseek-ai/
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
55
|
+
"@deepseek-ai/dsh-agent-instructions": "^0.1.7-alpha.1",
|
|
56
|
+
"@deepseek-ai/dsh-agent-preset": "^0.1.7-alpha.1",
|
|
57
|
+
"@deepseek-ai/dsh-agent-preset-registry": "^0.1.7-alpha.1",
|
|
58
|
+
"@deepseek-ai/dsh-agent-tool-presentation": "^0.1.7-alpha.1",
|
|
59
|
+
"@deepseek-ai/dsh-api-job-controller": "^0.1.7-alpha.1",
|
|
60
|
+
"@deepseek-ai/dsh-api-remotes": "^0.1.7-alpha.1",
|
|
61
|
+
"@deepseek-ai/dsh-api-session-controller": "^0.1.7-alpha.1",
|
|
62
|
+
"@deepseek-ai/dsh-api-settings-controller": "^0.1.7-alpha.1",
|
|
63
|
+
"@deepseek-ai/dsh-api-terminal-controller": "^0.1.7-alpha.1",
|
|
64
|
+
"@deepseek-ai/dsh-api-workspace-files": "^0.1.7-alpha.1",
|
|
65
|
+
"@deepseek-ai/dsh-app-boot": "^0.1.7-alpha.1",
|
|
66
|
+
"@deepseek-ai/dsh-client-connection": "^0.1.7-alpha.1",
|
|
67
|
+
"@deepseek-ai/dsh-client-file-upload": "^0.1.7-alpha.1",
|
|
68
|
+
"@deepseek-ai/dsh-client-hmr": "^0.1.7-alpha.1",
|
|
69
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-alpha.1",
|
|
70
|
+
"@deepseek-ai/dsh-client-modules": "^0.1.7-alpha.1",
|
|
71
|
+
"@deepseek-ai/dsh-client-resources": "^0.1.7-alpha.1",
|
|
72
|
+
"@deepseek-ai/dsh-client-ui-agent-preset": "^0.1.7-alpha.1",
|
|
73
|
+
"@deepseek-ai/dsh-client-ui-approval": "^0.1.7-alpha.1",
|
|
74
|
+
"@deepseek-ai/dsh-client-ui-brand-official": "^0.1.7-alpha.1",
|
|
75
|
+
"@deepseek-ai/dsh-client-ui-attachment": "^0.1.7-alpha.1",
|
|
76
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.7-alpha.1",
|
|
77
|
+
"@deepseek-ai/dsh-client-ui-commands": "^0.1.7-alpha.1",
|
|
78
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-alpha.1",
|
|
79
|
+
"@deepseek-ai/dsh-client-ui-cordis": "^0.1.7-alpha.1",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-deliverables": "^0.1.7-alpha.1",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-directory-picker-browse": "^0.1.7-alpha.1",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-directory-picker-native": "^0.1.7-alpha.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-goal": "^0.1.7-alpha.1",
|
|
84
|
+
"@deepseek-ai/dsh-api-workspace-controller": "^0.1.7-alpha.1",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "^0.1.7-alpha.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-jobs": "^0.1.7-alpha.1",
|
|
87
|
+
"@deepseek-ai/dsh-client-ui-layout": "^0.1.7-alpha.1",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-message-feedback": "^0.1.7-alpha.1",
|
|
89
|
+
"@deepseek-ai/dsh-client-ui-model-selection": "^0.1.7-alpha.1",
|
|
90
|
+
"@deepseek-ai/dsh-client-ui-open-in-app": "^0.1.7-alpha.1",
|
|
91
|
+
"@deepseek-ai/dsh-client-ui-permission-presets": "^0.1.7-alpha.1",
|
|
92
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-alpha.1",
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-reference": "^0.1.7-alpha.1",
|
|
94
|
+
"@deepseek-ai/dsh-client-ui-plan": "^0.1.7-alpha.1",
|
|
95
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-alpha.1",
|
|
96
|
+
"@deepseek-ai/dsh-client-ui-schedule": "^0.1.7-alpha.1",
|
|
97
|
+
"@deepseek-ai/dsh-client-ui-session": "^0.1.7-alpha.1",
|
|
98
|
+
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-alpha.1",
|
|
99
|
+
"@deepseek-ai/dsh-client-ui-settings-general": "^0.1.7-alpha.1",
|
|
100
|
+
"@deepseek-ai/dsh-client-ui-settings-models": "^0.1.7-alpha.1",
|
|
101
|
+
"@deepseek-ai/dsh-client-ui-settings-plugins": "^0.1.7-alpha.1",
|
|
102
|
+
"@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "^0.1.7-alpha.1",
|
|
103
|
+
"@deepseek-ai/dsh-client-ui-settings-shell": "^0.1.7-alpha.1",
|
|
104
|
+
"@deepseek-ai/dsh-client-ui-settings-agent-loop": "^0.1.7-alpha.1",
|
|
105
|
+
"@deepseek-ai/dsh-client-ui-settings-web-search": "^0.1.7-alpha.1",
|
|
106
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "^0.1.7-alpha.1",
|
|
107
|
+
"@deepseek-ai/dsh-client-ui-sidebar-browser": "^0.1.7-alpha.1",
|
|
108
|
+
"@deepseek-ai/dsh-client-ui-sidebar-documentpreview": "^0.1.7-alpha.1",
|
|
109
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.7-alpha.1",
|
|
110
|
+
"@deepseek-ai/dsh-client-ui-sidebar-terminal": "^0.1.7-alpha.1",
|
|
111
|
+
"@deepseek-ai/dsh-client-ui-sidebar-files": "^0.1.7-alpha.1",
|
|
112
|
+
"@deepseek-ai/dsh-client-ui-skill": "^0.1.7-alpha.1",
|
|
113
|
+
"@deepseek-ai/dsh-client-ui-theme": "^0.1.7-alpha.1",
|
|
114
|
+
"@deepseek-ai/dsh-client-ui-tool": "^0.1.7-alpha.1",
|
|
115
|
+
"@deepseek-ai/dsh-client-ui-trajectory": "^0.1.7-alpha.1",
|
|
116
|
+
"@deepseek-ai/dsh-client-ui-user-questions": "^0.1.7-alpha.1",
|
|
117
|
+
"@deepseek-ai/dsh-client-ui-subagent": "^0.1.7-alpha.1",
|
|
118
|
+
"@deepseek-ai/dsh-client-ui-workflow-run": "^0.1.7-alpha.1",
|
|
119
|
+
"@deepseek-ai/dsh-cmdline": "^0.1.7-alpha.1",
|
|
120
|
+
"@deepseek-ai/dsh-command-compact": "^0.1.7-alpha.1",
|
|
121
|
+
"@deepseek-ai/dsh-command-goal": "^0.1.7-alpha.1",
|
|
122
|
+
"@deepseek-ai/dsh-client-ui-workspace": "^0.1.7-alpha.1",
|
|
123
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.7-alpha.1",
|
|
124
|
+
"@deepseek-ai/dsh-cordis-host-runner": "^0.1.7-alpha.1",
|
|
125
|
+
"@deepseek-ai/dsh-compaction-basic": "^0.1.7-alpha.1",
|
|
126
|
+
"@deepseek-ai/dsh-file-reference": "^0.1.7-alpha.1",
|
|
127
|
+
"@deepseek-ai/dsh-host-directory-picker-auto": "^0.1.7-alpha.1",
|
|
128
|
+
"@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.7-alpha.1",
|
|
129
|
+
"@deepseek-ai/dsh-host-directory-picker-native": "^0.1.7-alpha.1",
|
|
130
|
+
"@deepseek-ai/dsh-file-reference-local": "^0.1.7-alpha.1",
|
|
131
|
+
"@deepseek-ai/dsh-host-frontend-static": "^0.1.7-alpha.1",
|
|
132
|
+
"@deepseek-ai/dsh-host-plugin-inventory": "^0.1.7-alpha.1",
|
|
133
|
+
"@deepseek-ai/dsh-host-webserver": "^0.1.7-alpha.1",
|
|
134
|
+
"@deepseek-ai/dsh-message-feedback": "^0.1.7-alpha.1",
|
|
135
|
+
"@deepseek-ai/dsh-host-open-in-app": "^0.1.7-alpha.1",
|
|
136
|
+
"@deepseek-ai/dsh-cordis-client-runner": "^0.1.7-alpha.1",
|
|
137
|
+
"@deepseek-ai/dsh-office-to-pdf": "^0.1.7-alpha.1",
|
|
138
|
+
"@deepseek-ai/dsh-persona": "^0.1.7-alpha.1",
|
|
139
|
+
"@deepseek-ai/dsh-launch-environment": "^0.1.7-alpha.1",
|
|
140
|
+
"@deepseek-ai/dsh-plan-mode": "^0.1.7-alpha.1",
|
|
141
|
+
"@deepseek-ai/dsh-client-ui-settings-subagent": "^0.1.7-alpha.1",
|
|
142
|
+
"@deepseek-ai/dsh-plugin-manager": "^0.1.7-alpha.1",
|
|
143
|
+
"@deepseek-ai/dsh-session-log-export": "^0.1.7-alpha.1",
|
|
144
|
+
"@deepseek-ai/dsh-session-reference": "^0.1.7-alpha.1",
|
|
145
|
+
"@deepseek-ai/dsh-session-stats": "^0.1.7-alpha.1",
|
|
146
|
+
"@deepseek-ai/dsh-terminal": "^0.1.7-alpha.1",
|
|
147
|
+
"@deepseek-ai/dsh-terminal-bash": "^0.1.7-alpha.1",
|
|
148
|
+
"@deepseek-ai/dsh-tool-ask-user": "^0.1.7-alpha.1",
|
|
149
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.7-alpha.1",
|
|
150
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "^0.1.7-alpha.1",
|
|
151
|
+
"@deepseek-ai/dsh-tool-cordis": "^0.1.7-alpha.1",
|
|
152
|
+
"@deepseek-ai/dsh-tool-fs-search": "^0.1.7-alpha.1",
|
|
153
|
+
"@deepseek-ai/dsh-tool-bash": "^0.1.7-alpha.1",
|
|
154
|
+
"@deepseek-ai/dsh-tool-goal": "^0.1.7-alpha.1",
|
|
155
|
+
"@deepseek-ai/dsh-tool-jobs": "^0.1.7-alpha.1",
|
|
156
|
+
"@deepseek-ai/dsh-tool-present": "^0.1.7-alpha.1",
|
|
157
|
+
"@deepseek-ai/dsh-tool-pwsh": "^0.1.7-alpha.1",
|
|
158
|
+
"@deepseek-ai/dsh-tool-fs": "^0.1.7-alpha.1",
|
|
159
|
+
"@deepseek-ai/dsh-tool-pwsh-persistent": "^0.1.7-alpha.1",
|
|
160
|
+
"@deepseek-ai/dsh-tool-ralph": "^0.1.7-alpha.1",
|
|
161
|
+
"@deepseek-ai/dsh-tool-skill": "^0.1.7-alpha.1",
|
|
162
|
+
"@deepseek-ai/dsh-skill-filesystem": "^0.1.7-alpha.1",
|
|
163
|
+
"@deepseek-ai/dsh-tool-subagent": "^0.1.7-alpha.1",
|
|
164
|
+
"@deepseek-ai/dsh-session-turn-outline": "^0.1.7-alpha.1",
|
|
165
|
+
"@deepseek-ai/dsh-tool-todo": "^0.1.7-alpha.1",
|
|
166
|
+
"@deepseek-ai/dsh-tool-web": "^0.1.7-alpha.1",
|
|
167
|
+
"@deepseek-ai/dsh-tool-workflow": "^0.1.7-alpha.1",
|
|
168
|
+
"@deepseek-ai/dsh-web-frontend": "^0.1.7-alpha.1",
|
|
169
|
+
"@deepseek-ai/dsh-workflow-ptc": "^0.1.7-alpha.1",
|
|
170
|
+
"@deepseek-ai/dsh-workspace": "^0.1.7-alpha.1",
|
|
171
|
+
"@deepseek-ai/dsh-workspace-changes": "^0.1.7-alpha.1",
|
|
172
|
+
"@deepseek-ai/dsh-api-account-controller": "^0.1.7-alpha.1",
|
|
173
|
+
"@deepseek-ai/dsh-client-ui-settings-account": "^0.1.7-alpha.1",
|
|
174
|
+
"@deepseek-ai/schemastery": "^3.18.3",
|
|
175
|
+
"@deepseek-ai/dsh-tool-subagent-control": "^0.1.7-alpha.1"
|
|
124
176
|
},
|
|
125
177
|
"peerDependencies": {
|
|
126
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
127
|
-
"@deepseek-ai/cordis-plugin-loader": "^1.0.
|
|
128
|
-
"@deepseek-ai/dsh-shell-env": "^0.1.
|
|
129
|
-
"@deepseek-ai/dsh-system-prompt": "^0.1.
|
|
178
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
179
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.4",
|
|
180
|
+
"@deepseek-ai/dsh-shell-env": "^0.1.7-alpha.1",
|
|
181
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.7-alpha.1"
|
|
130
182
|
},
|
|
131
183
|
"devDependencies": {
|
|
132
|
-
"@deepseek-ai/
|
|
133
|
-
"@deepseek-ai/cordis
|
|
134
|
-
"@deepseek-ai/
|
|
135
|
-
"@deepseek-ai/
|
|
184
|
+
"@deepseek-ai/libreoffice-kit": "0.0.1",
|
|
185
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
186
|
+
"@deepseek-ai/cordis-plugin-include": "^1.0.8",
|
|
187
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.4",
|
|
188
|
+
"@deepseek-ai/dsh-fs": "^0.1.7-alpha.1",
|
|
189
|
+
"@deepseek-ai/dsh-fs-local": "^0.1.7-alpha.1",
|
|
190
|
+
"@deepseek-ai/dsh-sandbox-policy": "^0.1.7-alpha.1",
|
|
191
|
+
"@deepseek-ai/dsh-session": "^0.1.7-alpha.1",
|
|
192
|
+
"@deepseek-ai/dsh-session-projection": "^0.1.7-alpha.1",
|
|
193
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.7-alpha.1",
|
|
194
|
+
"@deepseek-ai/dsh-typert-registry": "^0.1.7-alpha.1",
|
|
195
|
+
"@deepseek-ai/dsh-shell-env": "^0.1.7-alpha.1"
|
|
136
196
|
}
|
|
137
197
|
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Agent preset cordis: one `@deepseek-ai/dsh-agent-preset` declaration inserted
|
|
2
|
+
# after the web patch. Edits saved from the Web editor override this row's
|
|
3
|
+
# `config.plugins` by id from the profile patch.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: preset-cordis
|
|
6
|
+
name: '@deepseek-ai/dsh-agent-preset'
|
|
7
|
+
config:
|
|
8
|
+
id: cordis
|
|
9
|
+
order: 4
|
|
10
|
+
plugins:
|
|
11
|
+
# Same persona as `standard`: tool descriptions and the skill catalog carry
|
|
12
|
+
# the operating detail, and the skills own the preset-authoring rules.
|
|
13
|
+
- id: persona
|
|
14
|
+
name: '@deepseek-ai/dsh-persona'
|
|
15
|
+
config:
|
|
16
|
+
suffix: Your working directory is {{cwd}}.
|
|
17
|
+
prefix: >-
|
|
18
|
+
You are a coding agent powered by the {{model}} model.
|
|
19
|
+
- id: agent-instructions
|
|
20
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
21
|
+
config:
|
|
22
|
+
maxBytes: 65536
|
|
23
|
+
- id: tool-bash
|
|
24
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
25
|
+
disabled: !!js process.platform === 'win32'
|
|
26
|
+
- id: tool-pwsh
|
|
27
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
28
|
+
disabled: !!js process.platform !== 'win32'
|
|
29
|
+
- id: tool-fs
|
|
30
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
31
|
+
- id: tool-fs-search
|
|
32
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
33
|
+
config:
|
|
34
|
+
sampleOverCapGlobResults: false
|
|
35
|
+
- id: tool-jobs
|
|
36
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
37
|
+
- id: command-goal
|
|
38
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
39
|
+
- id: tool-goal
|
|
40
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
41
|
+
- id: planning
|
|
42
|
+
name: cordis:group
|
|
43
|
+
group: true
|
|
44
|
+
isolate:
|
|
45
|
+
planMode: true
|
|
46
|
+
config:
|
|
47
|
+
- id: plan-mode
|
|
48
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
49
|
+
config:
|
|
50
|
+
section: |
|
|
51
|
+
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.
|
|
52
|
+
|
|
53
|
+
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.
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
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.
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
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.
|
|
62
|
+
- id: compaction
|
|
63
|
+
name: cordis:group
|
|
64
|
+
group: true
|
|
65
|
+
isolate:
|
|
66
|
+
compaction: true
|
|
67
|
+
toolResultPruner: true
|
|
68
|
+
config:
|
|
69
|
+
- id: compaction-basic
|
|
70
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
71
|
+
- id: command-compact
|
|
72
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
73
|
+
- id: tool-result-pruner
|
|
74
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
75
|
+
config:
|
|
76
|
+
thresholdChars: 8192
|
|
77
|
+
headChars: 4096
|
|
78
|
+
tailChars: 1024
|
|
79
|
+
- id: delegation
|
|
80
|
+
name: cordis:group
|
|
81
|
+
group: true
|
|
82
|
+
isolate:
|
|
83
|
+
workflowEngine: true
|
|
84
|
+
config:
|
|
85
|
+
- id: tool-subagent-control
|
|
86
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
87
|
+
- id: tool-subagent-list-agents
|
|
88
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
89
|
+
- id: tool-subagent
|
|
90
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
91
|
+
config:
|
|
92
|
+
provider: spawn
|
|
93
|
+
toolName: subagent
|
|
94
|
+
modelSelectionSettings: true
|
|
95
|
+
backgroundMode: continuable
|
|
96
|
+
- id: tool-subagent-fork
|
|
97
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
98
|
+
config:
|
|
99
|
+
provider: fork
|
|
100
|
+
toolName: subagent_fork
|
|
101
|
+
backgroundMode: continuable
|
|
102
|
+
- id: tool-subagent-codex
|
|
103
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
104
|
+
disabled: true
|
|
105
|
+
config:
|
|
106
|
+
provider: codex
|
|
107
|
+
toolName: subagent_codex
|
|
108
|
+
backgroundMode: one-shot
|
|
109
|
+
maxDepth: provider-managed
|
|
110
|
+
- id: tool-subagent-claude-code
|
|
111
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
112
|
+
disabled: true
|
|
113
|
+
config:
|
|
114
|
+
provider: claude-code
|
|
115
|
+
toolName: subagent_claude_code
|
|
116
|
+
backgroundMode: one-shot
|
|
117
|
+
maxDepth: provider-managed
|
|
118
|
+
- id: workflow-ptc
|
|
119
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
120
|
+
config:
|
|
121
|
+
provider: spawn
|
|
122
|
+
- id: tool-workflow
|
|
123
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
124
|
+
- id: tool-ralph
|
|
125
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
126
|
+
disabled: true
|
|
127
|
+
config:
|
|
128
|
+
subagentProvider: spawn
|
|
129
|
+
maxRounds: 64
|
|
130
|
+
- id: tool-ask-user
|
|
131
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
132
|
+
- id: tool-todo
|
|
133
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
134
|
+
config:
|
|
135
|
+
allowParallelInProgress: true
|
|
136
|
+
- id: tool-web
|
|
137
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
138
|
+
config:
|
|
139
|
+
fetch: true
|
|
140
|
+
searchTimeoutMs: 60000
|
|
141
|
+
- id: tool-cordis
|
|
142
|
+
name: '@deepseek-ai/dsh-tool-cordis'
|
|
143
|
+
- id: skill-filesystem
|
|
144
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
145
|
+
config:
|
|
146
|
+
customSkillDirs:
|
|
147
|
+
- !!js process.getBuiltinModule('node:path').join(process.getBuiltinModule('node:path').dirname(process.getBuiltinModule('node:module').createRequire(baseUrl).resolve('@deepseek-ai/dsh-agent-preset/package.json')), 'skills')
|
|
148
|
+
- id: tool-skill
|
|
149
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
150
|
+
- id: present
|
|
151
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
152
|
+
- id: tool-plugin-manager
|
|
153
|
+
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
154
|
+
disabled: !!js "!ctx.get('profileContext')"
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Agent preset minimal: one `@deepseek-ai/dsh-agent-preset` declaration inserted
|
|
2
|
+
# after the web patch. Edits saved from the Web editor override this row's
|
|
3
|
+
# `config.plugins` by id from the profile patch.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: preset-minimal
|
|
6
|
+
name: '@deepseek-ai/dsh-agent-preset'
|
|
7
|
+
config:
|
|
8
|
+
id: minimal
|
|
9
|
+
order: 3
|
|
10
|
+
plugins:
|
|
11
|
+
- id: persona
|
|
12
|
+
name: '@deepseek-ai/dsh-persona'
|
|
13
|
+
config:
|
|
14
|
+
prefix: You are a helpful software engineer assistant.
|
|
15
|
+
complete: true
|
|
16
|
+
includeRuntimeContext: false
|
|
17
|
+
- id: persistent-shell
|
|
18
|
+
name: cordis:group
|
|
19
|
+
group: true
|
|
20
|
+
isolate:
|
|
21
|
+
terminals: true
|
|
22
|
+
config:
|
|
23
|
+
- id: pty
|
|
24
|
+
name: '@deepseek-ai/dsh-terminal'
|
|
25
|
+
- id: terminal-bash
|
|
26
|
+
name: '@deepseek-ai/dsh-terminal-bash'
|
|
27
|
+
disabled: !!js process.platform === 'win32'
|
|
28
|
+
config:
|
|
29
|
+
timeoutMs: 300000
|
|
30
|
+
- id: persistent-bash
|
|
31
|
+
name: '@deepseek-ai/dsh-tool-bash-persistent'
|
|
32
|
+
disabled: !!js process.platform === 'win32'
|
|
33
|
+
config:
|
|
34
|
+
timeoutMs: 300000
|
|
35
|
+
description: |-
|
|
36
|
+
Run commands in a bash shell
|
|
37
|
+
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
38
|
+
* Network access depends on the task environment. Prefer configured mirrors/proxies when they are available.
|
|
39
|
+
* State is persistent across command calls and discussions with the user.
|
|
40
|
+
* To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.
|
|
41
|
+
* Please avoid commands that may produce a very large amount of output.
|
|
42
|
+
* Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.
|
|
43
|
+
- id: terminal-pwsh
|
|
44
|
+
name: '@deepseek-ai/dsh-terminal-bash'
|
|
45
|
+
disabled: !!js process.platform !== 'win32'
|
|
46
|
+
config:
|
|
47
|
+
shellDialect: pwsh
|
|
48
|
+
timeoutMs: 300000
|
|
49
|
+
- id: persistent-pwsh
|
|
50
|
+
name: '@deepseek-ai/dsh-tool-pwsh-persistent'
|
|
51
|
+
disabled: !!js process.platform !== 'win32'
|
|
52
|
+
config:
|
|
53
|
+
timeoutMs: 300000
|
|
54
|
+
description: |-
|
|
55
|
+
Run commands in a PowerShell shell
|
|
56
|
+
* When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
|
|
57
|
+
* You don't have access to the internet via this tool.
|
|
58
|
+
* State is persistent across command calls and discussions with the user.
|
|
59
|
+
* Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
|
|
60
|
+
* Please avoid commands that may produce a very large amount of output.
|
|
61
|
+
* Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Agent preset ptc: one `@deepseek-ai/dsh-agent-preset` declaration inserted
|
|
2
|
+
# after the web patch. Edits saved from the Web editor override this row's
|
|
3
|
+
# `config.plugins` by id from the profile patch.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: preset-ptc
|
|
6
|
+
name: '@deepseek-ai/dsh-agent-preset'
|
|
7
|
+
config:
|
|
8
|
+
id: ptc
|
|
9
|
+
order: 2
|
|
10
|
+
plugins:
|
|
11
|
+
- id: persona
|
|
12
|
+
name: '@deepseek-ai/dsh-persona'
|
|
13
|
+
config:
|
|
14
|
+
suffix: Your working directory is {{cwd}}.
|
|
15
|
+
prefix: You are a coding agent powered by the {{model}} model.
|
|
16
|
+
- id: agent-instructions
|
|
17
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
18
|
+
config:
|
|
19
|
+
maxBytes: 65536
|
|
20
|
+
- id: tool-bash
|
|
21
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
22
|
+
disabled: !!js process.platform === 'win32'
|
|
23
|
+
- id: tool-pwsh
|
|
24
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
25
|
+
disabled: !!js process.platform !== 'win32'
|
|
26
|
+
- id: tool-fs
|
|
27
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
28
|
+
- id: tool-fs-search
|
|
29
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
30
|
+
config:
|
|
31
|
+
sampleOverCapGlobResults: false
|
|
32
|
+
- id: tool-jobs
|
|
33
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
34
|
+
- id: skill-filesystem
|
|
35
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
36
|
+
- id: tool-skill
|
|
37
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
38
|
+
- id: command-goal
|
|
39
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
40
|
+
- id: tool-goal
|
|
41
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
42
|
+
- id: planning
|
|
43
|
+
name: cordis:group
|
|
44
|
+
group: true
|
|
45
|
+
isolate:
|
|
46
|
+
planMode: true
|
|
47
|
+
config:
|
|
48
|
+
- id: plan-mode
|
|
49
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
50
|
+
config:
|
|
51
|
+
section: |
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
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.
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
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.
|
|
63
|
+
- id: compaction
|
|
64
|
+
name: cordis:group
|
|
65
|
+
group: true
|
|
66
|
+
isolate:
|
|
67
|
+
compaction: true
|
|
68
|
+
toolResultPruner: true
|
|
69
|
+
config:
|
|
70
|
+
- id: compaction-basic
|
|
71
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
72
|
+
- id: command-compact
|
|
73
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
74
|
+
- id: tool-result-pruner
|
|
75
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
76
|
+
config:
|
|
77
|
+
thresholdChars: 8192
|
|
78
|
+
headChars: 4096
|
|
79
|
+
tailChars: 1024
|
|
80
|
+
- id: delegation
|
|
81
|
+
name: cordis:group
|
|
82
|
+
group: true
|
|
83
|
+
isolate:
|
|
84
|
+
workflowEngine: true
|
|
85
|
+
config:
|
|
86
|
+
- id: tool-subagent-control
|
|
87
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
88
|
+
- id: tool-subagent-list-agents
|
|
89
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
90
|
+
- id: tool-subagent
|
|
91
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
92
|
+
config:
|
|
93
|
+
provider: spawn
|
|
94
|
+
toolName: subagent
|
|
95
|
+
modelSelectionSettings: true
|
|
96
|
+
backgroundMode: continuable
|
|
97
|
+
- id: tool-subagent-fork
|
|
98
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
99
|
+
config:
|
|
100
|
+
provider: fork
|
|
101
|
+
toolName: subagent_fork
|
|
102
|
+
backgroundMode: continuable
|
|
103
|
+
- id: tool-subagent-codex
|
|
104
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
105
|
+
disabled: true
|
|
106
|
+
config:
|
|
107
|
+
provider: codex
|
|
108
|
+
toolName: subagent_codex
|
|
109
|
+
backgroundMode: one-shot
|
|
110
|
+
maxDepth: provider-managed
|
|
111
|
+
- id: tool-subagent-claude-code
|
|
112
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
113
|
+
disabled: true
|
|
114
|
+
config:
|
|
115
|
+
provider: claude-code
|
|
116
|
+
toolName: subagent_claude_code
|
|
117
|
+
backgroundMode: one-shot
|
|
118
|
+
maxDepth: provider-managed
|
|
119
|
+
- id: workflow-ptc
|
|
120
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
121
|
+
disabled: true
|
|
122
|
+
config:
|
|
123
|
+
provider: spawn
|
|
124
|
+
- id: tool-workflow
|
|
125
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
126
|
+
disabled: true
|
|
127
|
+
- id: tool-ralph
|
|
128
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
129
|
+
disabled: true
|
|
130
|
+
config:
|
|
131
|
+
subagentProvider: spawn
|
|
132
|
+
maxRounds: 64
|
|
133
|
+
- id: tool-ask-user
|
|
134
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
135
|
+
- id: tool-todo
|
|
136
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
137
|
+
config:
|
|
138
|
+
allowParallelInProgress: true
|
|
139
|
+
- id: tool-web
|
|
140
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
141
|
+
config:
|
|
142
|
+
fetch: true
|
|
143
|
+
searchTimeoutMs: 60000
|
|
144
|
+
- id: tool-presentation
|
|
145
|
+
name: '@deepseek-ai/dsh-agent-tool-presentation'
|
|
146
|
+
config:
|
|
147
|
+
mode: ptc
|
|
148
|
+
- id: present
|
|
149
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
150
|
+
- id: tool-plugin-manager
|
|
151
|
+
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
152
|
+
disabled: true
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Agent preset standard: one `@deepseek-ai/dsh-agent-preset` declaration inserted
|
|
2
|
+
# after the web patch. Edits saved from the Web editor override this row's
|
|
3
|
+
# `config.plugins` by id from the profile patch.
|
|
4
|
+
- insert:
|
|
5
|
+
- id: preset-standard
|
|
6
|
+
name: '@deepseek-ai/dsh-agent-preset'
|
|
7
|
+
config:
|
|
8
|
+
id: standard
|
|
9
|
+
order: 1
|
|
10
|
+
plugins:
|
|
11
|
+
- id: persona
|
|
12
|
+
name: '@deepseek-ai/dsh-persona'
|
|
13
|
+
config:
|
|
14
|
+
suffix: Your working directory is {{cwd}}.
|
|
15
|
+
prefix: You are a coding agent powered by the {{model}} model.
|
|
16
|
+
- id: agent-instructions
|
|
17
|
+
name: '@deepseek-ai/dsh-agent-instructions'
|
|
18
|
+
config:
|
|
19
|
+
maxBytes: 65536
|
|
20
|
+
- id: tool-bash
|
|
21
|
+
name: '@deepseek-ai/dsh-tool-bash'
|
|
22
|
+
disabled: !!js process.platform === 'win32'
|
|
23
|
+
- id: tool-pwsh
|
|
24
|
+
name: '@deepseek-ai/dsh-tool-pwsh'
|
|
25
|
+
disabled: !!js process.platform !== 'win32'
|
|
26
|
+
- id: tool-fs
|
|
27
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
28
|
+
- id: tool-fs-search
|
|
29
|
+
name: '@deepseek-ai/dsh-tool-fs-search'
|
|
30
|
+
config:
|
|
31
|
+
sampleOverCapGlobResults: false
|
|
32
|
+
- id: tool-jobs
|
|
33
|
+
name: '@deepseek-ai/dsh-tool-jobs'
|
|
34
|
+
- id: skill-filesystem
|
|
35
|
+
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
36
|
+
- id: tool-skill
|
|
37
|
+
name: '@deepseek-ai/dsh-tool-skill'
|
|
38
|
+
- id: command-goal
|
|
39
|
+
name: '@deepseek-ai/dsh-command-goal'
|
|
40
|
+
- id: tool-goal
|
|
41
|
+
name: '@deepseek-ai/dsh-tool-goal'
|
|
42
|
+
- id: planning
|
|
43
|
+
name: cordis:group
|
|
44
|
+
group: true
|
|
45
|
+
isolate:
|
|
46
|
+
planMode: true
|
|
47
|
+
config:
|
|
48
|
+
- id: plan-mode
|
|
49
|
+
name: '@deepseek-ai/dsh-plan-mode'
|
|
50
|
+
config:
|
|
51
|
+
section: |
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
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.
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
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.
|
|
63
|
+
- id: compaction
|
|
64
|
+
name: cordis:group
|
|
65
|
+
group: true
|
|
66
|
+
isolate:
|
|
67
|
+
compaction: true
|
|
68
|
+
toolResultPruner: true
|
|
69
|
+
config:
|
|
70
|
+
- id: compaction-basic
|
|
71
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
72
|
+
- id: command-compact
|
|
73
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
74
|
+
- id: tool-result-pruner
|
|
75
|
+
name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
|
|
76
|
+
config:
|
|
77
|
+
thresholdChars: 8192
|
|
78
|
+
headChars: 4096
|
|
79
|
+
tailChars: 1024
|
|
80
|
+
- id: delegation
|
|
81
|
+
name: cordis:group
|
|
82
|
+
group: true
|
|
83
|
+
isolate:
|
|
84
|
+
workflowEngine: true
|
|
85
|
+
config:
|
|
86
|
+
- id: tool-subagent-control
|
|
87
|
+
name: '@deepseek-ai/dsh-tool-subagent-control'
|
|
88
|
+
- id: tool-subagent-list-agents
|
|
89
|
+
name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
|
|
90
|
+
- id: tool-subagent
|
|
91
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
92
|
+
config:
|
|
93
|
+
provider: spawn
|
|
94
|
+
toolName: subagent
|
|
95
|
+
modelSelectionSettings: true
|
|
96
|
+
backgroundMode: continuable
|
|
97
|
+
- id: tool-subagent-fork
|
|
98
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
99
|
+
config:
|
|
100
|
+
provider: fork
|
|
101
|
+
toolName: subagent_fork
|
|
102
|
+
backgroundMode: continuable
|
|
103
|
+
- id: tool-subagent-codex
|
|
104
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
105
|
+
disabled: true
|
|
106
|
+
config:
|
|
107
|
+
provider: codex
|
|
108
|
+
toolName: subagent_codex
|
|
109
|
+
backgroundMode: one-shot
|
|
110
|
+
maxDepth: provider-managed
|
|
111
|
+
- id: tool-subagent-claude-code
|
|
112
|
+
name: '@deepseek-ai/dsh-tool-subagent'
|
|
113
|
+
disabled: true
|
|
114
|
+
config:
|
|
115
|
+
provider: claude-code
|
|
116
|
+
toolName: subagent_claude_code
|
|
117
|
+
backgroundMode: one-shot
|
|
118
|
+
maxDepth: provider-managed
|
|
119
|
+
- id: workflow-ptc
|
|
120
|
+
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
121
|
+
config:
|
|
122
|
+
provider: spawn
|
|
123
|
+
- id: tool-workflow
|
|
124
|
+
name: '@deepseek-ai/dsh-tool-workflow'
|
|
125
|
+
- id: tool-ralph
|
|
126
|
+
name: '@deepseek-ai/dsh-tool-ralph'
|
|
127
|
+
disabled: true
|
|
128
|
+
config:
|
|
129
|
+
subagentProvider: spawn
|
|
130
|
+
maxRounds: 64
|
|
131
|
+
- id: tool-ask-user
|
|
132
|
+
name: '@deepseek-ai/dsh-tool-ask-user'
|
|
133
|
+
- id: tool-todo
|
|
134
|
+
name: '@deepseek-ai/dsh-tool-todo'
|
|
135
|
+
config:
|
|
136
|
+
allowParallelInProgress: true
|
|
137
|
+
- id: tool-web
|
|
138
|
+
name: '@deepseek-ai/dsh-tool-web'
|
|
139
|
+
config:
|
|
140
|
+
fetch: true
|
|
141
|
+
searchTimeoutMs: 60000
|
|
142
|
+
- id: present
|
|
143
|
+
name: '@deepseek-ai/dsh-tool-present'
|
|
144
|
+
- id: tool-plugin-manager
|
|
145
|
+
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
146
|
+
disabled: true
|