@deepseek-ai/dsh-web-app 0.2.1-alpha.2 → 0.2.1-alpha.4
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 +22 -22
- package/README.md +12 -10
- package/README.zh.md +12 -10
- package/cordis.patch.yml +17 -8
- package/lib/index.js +18 -70
- package/lib/startup.js +1 -1
- package/lib/types/index.d.ts +23 -11
- package/locale/en.json +5 -0
- package/locale/startup/en.json +5 -0
- package/locale/startup/zh.json +5 -0
- package/locale/zh.json +6 -0
- package/package.json +152 -147
- package/presets/cordis.patch.yml +4 -13
- package/presets/minimal.patch.yml +17 -0
- package/presets/ptc.patch.yml +4 -13
- package/presets/standard.patch.yml +4 -13
package/README.i18n.yaml
CHANGED
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
en: e3cac911f080d8ef
|
|
22
22
|
zh: 60749e9f5c39c1bc
|
|
23
23
|
/deepseek-ai-dsh-web-app/use-this-package/configuration:
|
|
24
|
-
en:
|
|
25
|
-
zh:
|
|
24
|
+
en: b1787804544f2587
|
|
25
|
+
zh: ce09d2c248ffd999
|
|
26
26
|
/deepseek-ai-dsh-web-app/use-this-package/listening-trust-and-public-deployments:
|
|
27
|
-
en:
|
|
28
|
-
zh:
|
|
27
|
+
en: e6ddea1d2fc40501
|
|
28
|
+
zh: ff08b6fa3fc24136
|
|
29
29
|
/deepseek-ai-dsh-web-app/use-this-package/running-over-ssh:
|
|
30
30
|
en: df205a26b6d49168
|
|
31
31
|
zh: e46ed7cf9e06248a
|
|
@@ -33,38 +33,38 @@
|
|
|
33
33
|
en: ccd6fc264b51e44b
|
|
34
34
|
zh: 3265c68477a89ec9
|
|
35
35
|
/deepseek-ai-dsh-web-app/understand-the-implementation:
|
|
36
|
-
en:
|
|
37
|
-
zh:
|
|
36
|
+
en: 323742a00cfe67b2
|
|
37
|
+
zh: eff5245a82fc16e7
|
|
38
38
|
/deepseek-ai-dsh-web-app/understand-the-implementation/patch-semantics:
|
|
39
39
|
en: 8a2554b3d17daa1f
|
|
40
40
|
zh: 66f18946791cabb6
|
|
41
41
|
/deepseek-ai-dsh-web-app/understand-the-implementation/advertised-application-url:
|
|
42
|
-
en:
|
|
43
|
-
zh:
|
|
42
|
+
en: 0b22e03e28d41420
|
|
43
|
+
zh: fd45a97dd4336c25
|
|
44
44
|
/deepseek-ai-dsh-web-app/understand-the-implementation/readiness:
|
|
45
45
|
en: 973128fd346869df
|
|
46
46
|
zh: 54e6792f9f82a192
|
|
47
47
|
/deepseek-ai-dsh-web-app/understand-the-implementation/source-map:
|
|
48
|
-
en:
|
|
49
|
-
zh:
|
|
48
|
+
en: 58800b6f2142c34f
|
|
49
|
+
zh: 10bf512b16db1cb8
|
|
50
50
|
/deepseek-ai-dsh-web-app/further-exploration:
|
|
51
51
|
en: f81694f7424e2988
|
|
52
52
|
zh: 6643f9227039e228
|
|
53
53
|
/deepseek-ai-dsh-web-app/model-experience:
|
|
54
54
|
en: 215e7ba838619b7b
|
|
55
55
|
zh: a311da3843709f90
|
|
56
|
-
/deepseek-ai-dsh-web-app/model-experience/
|
|
57
|
-
en:
|
|
58
|
-
zh:
|
|
59
|
-
/deepseek-ai-dsh-web-app/model-experience/
|
|
60
|
-
en:
|
|
61
|
-
zh:
|
|
62
|
-
/deepseek-ai-dsh-web-app/model-experience/
|
|
63
|
-
en:
|
|
64
|
-
zh:
|
|
65
|
-
/deepseek-ai-dsh-web-app/model-experience/
|
|
66
|
-
en:
|
|
67
|
-
zh:
|
|
56
|
+
/deepseek-ai-dsh-web-app/model-experience/web-runtime-variable:
|
|
57
|
+
en: 623bf8a0bf05599d
|
|
58
|
+
zh: 398ded2e7b20c1ea
|
|
59
|
+
/deepseek-ai-dsh-web-app/model-experience/web-runtime-variable/what-the-model-sees:
|
|
60
|
+
en: ebaddc153ad7a835
|
|
61
|
+
zh: 21aa60f73d14f26c
|
|
62
|
+
/deepseek-ai-dsh-web-app/model-experience/web-runtime-variable/token-effect:
|
|
63
|
+
en: 449fbfa3986f98f0
|
|
64
|
+
zh: a7d66333594ab2dd
|
|
65
|
+
/deepseek-ai-dsh-web-app/model-experience/web-runtime-variable/kv-cache-effect:
|
|
66
|
+
en: 37542a8b81a744f5
|
|
67
|
+
zh: c0048aaadecae296
|
|
68
68
|
/deepseek-ai-dsh-web-app/known-limitations-and-deferred-work:
|
|
69
69
|
en: 635c1336e2f4e821
|
|
70
70
|
zh: caabdecb02e2df14
|
package/README.md
CHANGED
|
@@ -46,13 +46,15 @@ Saved model selections override the composition default. The settings card accep
|
|
|
46
46
|
|
|
47
47
|
### Configuration
|
|
48
48
|
|
|
49
|
+
The `minimal` agent preset uses a persistent shell, the `read_image` tool, and a fixed persona, with automatic history compaction and the idle-session `/compact` command. It shares the Host token meter and owns an isolated compaction backend. [Compaction configuration and retention](../../compaction/compaction-basic/README.md#use-this-package) follow the existing backend. Image reads reuse the Host filesystem and attachment store and require an image-capable model; text read, write, and edit tools remain excluded.
|
|
50
|
+
|
|
49
51
|
`--host` and `--port` configure the listener; `--tls-cert` and `--tls-key` make it serve HTTPS; `--public-url` names the advertised public HTTP(S) root the GUI is reached at behind a prefix-stripping proxy, and `--trusted-host` adds further accepted authorities. All are described under [Listening, trust, and public deployments](#public-deployments), and the `tls` field those flags set is documented with the [carrier's config](../../../docs/subsystems/web-server.md#config):
|
|
50
52
|
|
|
51
53
|
| Field | Default | Meaning |
|
|
52
54
|
|---|---|---|
|
|
53
55
|
| `openBrowser` | `true` | Open the default browser after startup; SSH launches suppress it |
|
|
54
56
|
| `printUrl` | `true` | Print the `dsh web:` URL line at startup |
|
|
55
|
-
| `surfaceContext` | `true` |
|
|
57
|
+
| `surfaceContext` | `true` | Expose `DSH_WEB_URL` to the agent's shell commands |
|
|
56
58
|
| `publicUrl` | Unset | Advertised HTTP(S) application root; otherwise announce the bind-address URL |
|
|
57
59
|
|
|
58
60
|
The generated [configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-web-app) lists this runtime plugin's accepted fields and their JSDoc. The shipped composition inserts the `schedule` service row and the `ui-schedule` task page row, while the clock reading and the four reminder tools belong to the `standard`, `cordis`, and `ptc` presets. The `tool-subagent` and `tool-subagent-fork` rows in those presets deny the four tools, so a delegated child's scope never lists them.
|
|
@@ -74,7 +76,7 @@ dsh --profile web --no-open --host "$(hostname -i | awk '{print $1}')" --public-
|
|
|
74
76
|
|
|
75
77
|
Without `--public-url`, mapped IPv6 loopback binds such as `::ffff:127.0.0.1` advertise their IPv4 form, `127.0.0.1`, so the browser recognizes a local, trustworthy origin. The listener keeps the configured bind address. A dotted-quad IPv6 tail names the address's own low 32 bits, exactly as `listen` reads it, so `::0.0.0.1` is IPv6 loopback and advertises `[::1]`, while `::127.0.0.1` is a non-loopback address, not IPv4 loopback.
|
|
76
78
|
|
|
77
|
-
`--public-url` advertises the HTTP(S) root browsers use — the printed and opened startup URL, `DSH_WEB_URL`, and the
|
|
79
|
+
`--public-url` advertises the HTTP(S) root browsers use — the printed and opened startup URL, `DSH_WEB_URL`, and the Web GUI URL in the agent's runtime context. Advertisement grants no trust: the browser-visible authority must also be named with `--trusted-host`. The flag configures no listener, routing, or cookie scope, because the proxy owns the external leg: [Publish the Web UI behind a reverse proxy](../../../docs/user/guide/public-deployments.md) lists what such a deployment must provide.
|
|
78
80
|
|
|
79
81
|
Neither the advertised URL nor the browser-trust fence protects the port itself, so restrict the port to the trusted proxy or network.
|
|
80
82
|
|
|
@@ -96,7 +98,7 @@ Each browser session selects a shipped preset (`standard` by default). The Agent
|
|
|
96
98
|
<details>
|
|
97
99
|
<summary>Implementation internals — click to expand</summary>
|
|
98
100
|
|
|
99
|
-
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, the advertised application URL, the plain-HTTP exposure warning,
|
|
101
|
+
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, the advertised application URL, the plain-HTTP exposure warning, 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.
|
|
100
102
|
|
|
101
103
|
### Patch semantics
|
|
102
104
|
|
|
@@ -104,7 +106,7 @@ A patch replaces the targeted row's whole `config`, so each web row restates eve
|
|
|
104
106
|
|
|
105
107
|
### Advertised application URL
|
|
106
108
|
|
|
107
|
-
Startup display and browser handoff receive the advertised root with its launch token; the
|
|
109
|
+
Startup display and browser handoff receive the advertised root with its launch token; the agent's runtime context and `DSH_WEB_URL` receive it clean. The root itself is defined under [Listening, trust, and public deployments](#public-deployments).
|
|
108
110
|
|
|
109
111
|
### Readiness
|
|
110
112
|
|
|
@@ -114,12 +116,12 @@ The URL line and browser handoff are readiness signals: supervisors RPC as soon
|
|
|
114
116
|
|
|
115
117
|
| File | Role |
|
|
116
118
|
|---|---|
|
|
117
|
-
| [`src/index.ts`](src/index.ts) | The `web-app` glue plugin: dist resolution, advertised application URL,
|
|
119
|
+
| [`src/index.ts`](src/index.ts) | The `web-app` glue plugin: dist resolution, advertised application URL, bash variable, URL line, browser handoff |
|
|
118
120
|
| [`src/public-url.ts`](src/public-url.ts) | Advertised-root validation and trailing-slash normalization; a leaf module for local imports, not package API |
|
|
119
121
|
| [`src/startup.ts`](src/startup.ts) | The `web-startup` provider: `--host`, `--port`, `--tls-cert`, `--tls-key`, `--public-url`, `--trusted-host`, `--no-open`, `--help` |
|
|
120
122
|
| [`cordis.patch.yml`](cordis.patch.yml) | The web patch: restated base values, web host rows, browser roster, preset registry |
|
|
121
123
|
| [`presets/`](presets) | One `@deepseek-ai/dsh-agent-preset` declaration per shipped preset (`standard`, `ptc`, `minimal`, `cordis`), each its own patch file |
|
|
122
|
-
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | Dist index anchoring, advertised-URL publication and warnings,
|
|
124
|
+
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | Dist index anchoring, advertised-URL publication and warnings, bash variable, readiness publication |
|
|
123
125
|
| [`tests/startup.spec.ts`](tests/startup.spec.ts) | Command-line parsing over a real Loader tree |
|
|
124
126
|
| [`tests/public-url.spec.ts`](tests/public-url.spec.ts) | Advertised-root parsing and normalization |
|
|
125
127
|
| [`tests/browser-open.spec.ts`](tests/browser-open.spec.ts) | Default-browser handoff after the page is reachable |
|
|
@@ -144,19 +146,19 @@ Read these pages when you want to go deeper into the shared core, the browser re
|
|
|
144
146
|
<a id="model-experience"></a>
|
|
145
147
|
## Model Experience
|
|
146
148
|
|
|
147
|
-
###
|
|
149
|
+
### Web runtime variable
|
|
148
150
|
|
|
149
151
|
#### What the model sees
|
|
150
152
|
|
|
151
|
-
When `surfaceContext` is true,
|
|
153
|
+
When `surfaceContext` is true, `DSH_WEB_URL` appears in the managed bash environment with its description, resolved per invocation as the advertised application URL defined under Listening, trust, and public deployments above. When it is false, the variable is not registered. The GUI orientation, the implementation checkout, and the current GUI URL come from the [`dsh-harness-dev-context`](../../context/harness-dev-context/README.md) row this bundle mounts.
|
|
152
154
|
|
|
153
155
|
#### Token effect
|
|
154
156
|
|
|
155
|
-
|
|
157
|
+
Two managed-environment variable lines; constant per process.
|
|
156
158
|
|
|
157
159
|
#### KV Cache effect
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
None; the plugin contributes no system-prompt text.
|
|
160
162
|
|
|
161
163
|
## Known Limitations and Deferred Work
|
|
162
164
|
|
package/README.zh.md
CHANGED
|
@@ -46,13 +46,15 @@ dsh --profile web --no-open --port 8080
|
|
|
46
46
|
|
|
47
47
|
### 配置
|
|
48
48
|
|
|
49
|
+
`minimal` agent preset 使用持久 Shell、`read_image` 工具和固定 persona,支持自动历史压缩以及会话空闲时的 `/compact` 命令。它复用 Host token meter,并拥有隔离的压缩后端。[压缩配置与保留策略](../../compaction/compaction-basic/README.zh.md#use-this-package) 沿用现有后端。图片读取复用 Host 文件系统和附件存储,要求模型支持图片输入;不加载文本读取、写入和编辑工具。
|
|
50
|
+
|
|
49
51
|
`--host` 与 `--port` 配置监听器;`--tls-cert` 与 `--tls-key` 让它直接提供 HTTPS;`--public-url` 指定 GUI 在剥离前缀的代理之后对外公告的公开 HTTP(S) 根,`--trusted-host` 则添加更多被接受的 authority。这些都在[监听、信任与公开部署](#public-deployments)中说明,而这些 flag 设置的 `tls` 字段记录在[载体的配置](../../../docs/subsystems/web-server.zh.md#config)中:
|
|
50
52
|
|
|
51
53
|
| 字段 | 默认值 | 含义 |
|
|
52
54
|
|---|---|---|
|
|
53
55
|
| `openBrowser` | `true` | 启动后用默认浏览器打开;SSH 启动会抑制它 |
|
|
54
56
|
| `printUrl` | `true` | 启动时打印 `dsh web:` URL 行 |
|
|
55
|
-
| `surfaceContext` | `true` |
|
|
57
|
+
| `surfaceContext` | `true` | 把 `DSH_WEB_URL` 暴露给 agent 的 shell 命令 |
|
|
56
58
|
| `publicUrl` | 未设置 | 对外公告的 HTTP(S) 应用根;否则公告绑定地址 URL |
|
|
57
59
|
|
|
58
60
|
生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-web-app)列出了本运行时插件接受的字段及其 JSDoc。随发行版交付的组合插入 `schedule` 服务行与 `ui-schedule` 任务页面行,时钟读数与四个提醒工具则属于 `standard`、`cordis` 与 `ptc` 三个 preset。这三个 preset 的 `tool-subagent` 与 `tool-subagent-fork` 两行都 deny 这四个工具,因此被委派子 agent 的作用域不会列出它们。
|
|
@@ -74,7 +76,7 @@ dsh --profile web --no-open --host "$(hostname -i | awk '{print $1}')" --public-
|
|
|
74
76
|
|
|
75
77
|
未设置 `--public-url` 时,`::ffff:127.0.0.1` 这样的 mapped IPv6 回环绑定会公告其 IPv4 形式 `127.0.0.1`,让浏览器将其识别为本地可信来源。监听器仍使用配置的绑定地址。点分四段式的 IPv6 尾部表示该地址自身的低 32 位,与 `listen` 的读法完全一致:`::0.0.0.1` 属于 IPv6 回环并公告 `[::1]`,而 `::127.0.0.1` 是非回环地址,并非 IPv4 回环。
|
|
76
78
|
|
|
77
|
-
`--public-url` 公告浏览器使用的 HTTP(S) 根——打印与打开的启动 URL、`DSH_WEB_URL
|
|
79
|
+
`--public-url` 公告浏览器使用的 HTTP(S) 根——打印与打开的启动 URL、`DSH_WEB_URL`,以及 agent 运行时上下文中的 Web GUI URL。公告不授予任何信任:浏览器可见的 authority 还必须用 `--trusted-host` 点名。该 flag 不配置监听器、路由或 cookie 作用域,因为外部链路归代理所有:[在反向代理之后发布 Web UI](../../../docs/user/guide/public-deployments.zh.md)列出了这样的部署必须提供什么。
|
|
78
80
|
|
|
79
81
|
无论是公告 URL 还是浏览器信任栅栏都不保护端口本身,因此请把端口限制在可信代理或网络内。
|
|
80
82
|
|
|
@@ -96,7 +98,7 @@ dsh --profile web --no-open --host "$(hostname -i | awk '{print $1}')" --public-
|
|
|
96
98
|
<details>
|
|
97
99
|
<summary>实现细节——点击展开</summary>
|
|
98
100
|
|
|
99
|
-
此 bundle 由一层五个文件的补丁和一个运行时胶水插件组成:`cordis.patch.yml` 承载宿主行和 preset 注册表,每个 `presets/<id>.patch.yml` 插入一条随发行版交付的 preset 声明,按 `dsh.bundle.patch` 列出的顺序应用。存储栈与投影缓存来自 `dsh-base`;Web 叠加层的工作区和消息反馈条目消费共享的 `storageDomain` 服务。补丁重述 base 有意省略的界面专用值,插入 Web 专用宿主条目和浏览器插件列表,再将 Agent 层移到预设后面。胶水插件负责 dist 服务、公告应用 URL、明文 HTTP
|
|
101
|
+
此 bundle 由一层五个文件的补丁和一个运行时胶水插件组成:`cordis.patch.yml` 承载宿主行和 preset 注册表,每个 `presets/<id>.patch.yml` 插入一条随发行版交付的 preset 声明,按 `dsh.bundle.patch` 列出的顺序应用。存储栈与投影缓存来自 `dsh-base`;Web 叠加层的工作区和消息反馈条目消费共享的 `storageDomain` 服务。补丁重述 base 有意省略的界面专用值,插入 Web 专用宿主条目和浏览器插件列表,再将 Agent 层移到预设后面。胶水插件负责 dist 服务、公告应用 URL、明文 HTTP 暴露警告、bash 变量和就绪通知。`office-to-pdf` 条目为宿主消费者挂载一个延迟创建引擎的 [Office 转换提供方](../../document/office-to-pdf/README.zh.md),使用此 bundle 的 Desktop 组合也共享该提供方。 转换服务的 Remote 方法负责预览读取授权,Document Preview 负责 Office 查看器和客户端缓存。
|
|
100
102
|
|
|
101
103
|
### patch 语义
|
|
102
104
|
|
|
@@ -104,7 +106,7 @@ patch 会替换目标行的整个 `config`,因此每个 Web 行都重述自己
|
|
|
104
106
|
|
|
105
107
|
### 公告应用 URL
|
|
106
108
|
|
|
107
|
-
启动显示与浏览器交接接收附带启动 token 的公告根;
|
|
109
|
+
启动显示与浏览器交接接收附带启动 token 的公告根;agent 的运行时上下文与 `DSH_WEB_URL` 接收不含凭据的形式。根本身由[监听、信任与公开部署](#public-deployments)定义。
|
|
108
110
|
|
|
109
111
|
### 就绪宣告
|
|
110
112
|
|
|
@@ -114,12 +116,12 @@ URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发
|
|
|
114
116
|
|
|
115
117
|
| 文件 | 职责 |
|
|
116
118
|
|---|---|
|
|
117
|
-
| [`src/index.ts`](src/index.ts) | `web-app` 粘合插件:dist 解析、公告应用 URL
|
|
119
|
+
| [`src/index.ts`](src/index.ts) | `web-app` 粘合插件:dist 解析、公告应用 URL、bash 变量、URL 行、浏览器交接 |
|
|
118
120
|
| [`src/public-url.ts`](src/public-url.ts) | 公告根的校验与尾斜杠归一化;供本地导入的叶子模块,不属于包 API |
|
|
119
121
|
| [`src/startup.ts`](src/startup.ts) | `web-startup` 提供方:`--host`、`--port`、`--tls-cert`、`--tls-key`、`--public-url`、`--trusted-host`、`--no-open`、`--help` |
|
|
120
122
|
| [`cordis.patch.yml`](cordis.patch.yml) | Web patch:重述的基础值、Web 宿主行、浏览器名录、preset 注册表 |
|
|
121
123
|
| [`presets/`](presets) | 每个随发行版交付的 preset(`standard`、`ptc`、`minimal`、`cordis`)各一条 `@deepseek-ai/dsh-agent-preset` 声明,各自一个补丁文件 |
|
|
122
|
-
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | dist index 锚定、公告 URL
|
|
124
|
+
| [`tests/web-app.spec.ts`](tests/web-app.spec.ts) | dist index 锚定、公告 URL 发布与警告、bash 变量、就绪宣告发布 |
|
|
123
125
|
| [`tests/startup.spec.ts`](tests/startup.spec.ts) | 在真实 Loader 树上的命令行解析 |
|
|
124
126
|
| [`tests/public-url.spec.ts`](tests/public-url.spec.ts) | 公告根的解析与归一化 |
|
|
125
127
|
| [`tests/browser-open.spec.ts`](tests/browser-open.spec.ts) | 页面可达后的默认浏览器交接 |
|
|
@@ -144,19 +146,19 @@ URL 行与浏览器交接都是就绪信号:监督方一观察到该行就发
|
|
|
144
146
|
<a id="model-experience"></a>
|
|
145
147
|
## 模型体验
|
|
146
148
|
|
|
147
|
-
###
|
|
149
|
+
### Web 运行时变量
|
|
148
150
|
|
|
149
151
|
#### 模型看到什么
|
|
150
152
|
|
|
151
|
-
当 `surfaceContext` 为 true 时,`
|
|
153
|
+
当 `surfaceContext` 为 true 时,`DSH_WEB_URL` 连同描述出现在受管 bash 环境中,每次调用时解析为上文「监听、信任与公开部署」定义的公告应用 URL。为 false 时不注册该变量。GUI 定位、实现 checkout 与当前 GUI URL 由本 bundle 挂载的 [`dsh-harness-dev-context`](../../context/harness-dev-context/README.zh.md) 行提供。
|
|
152
154
|
|
|
153
155
|
#### Token 影响
|
|
154
156
|
|
|
155
|
-
|
|
157
|
+
两行受管环境变量;每个进程内保持恒定。
|
|
156
158
|
|
|
157
159
|
#### KV Cache 影响
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
无;该插件不贡献系统提示词文本。
|
|
160
162
|
|
|
161
163
|
## 已知限制与延期工作
|
|
162
164
|
|
package/cordis.patch.yml
CHANGED
|
@@ -189,14 +189,11 @@
|
|
|
189
189
|
|
|
190
190
|
# Web glue owned by this bundle: resolves the built frontend dist (an
|
|
191
191
|
# assembly fact of dsh-web-app, never user config), mounts the
|
|
192
|
-
# frontend-static fallback owner, registers the
|
|
193
|
-
#
|
|
194
|
-
#
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
# otherwise the bind-address URL. A complete agent-preset persona
|
|
198
|
-
# suppresses the prompt section for that agent while retaining the
|
|
199
|
-
# host-owned shell variable.
|
|
192
|
+
# frontend-static fallback owner, registers the bash runtime variable,
|
|
193
|
+
# prints the URL line, and opens the canonical URL after the full Loader
|
|
194
|
+
# tree settles and the required-entry audit passes. Invocation-only values
|
|
195
|
+
# come from the webStartup provider; the advertised application URL is
|
|
196
|
+
# this row's `publicUrl`, otherwise the bind-address URL.
|
|
200
197
|
- id: web-runtime
|
|
201
198
|
name: '@deepseek-ai/dsh-web-app'
|
|
202
199
|
inject: [webStartup]
|
|
@@ -206,6 +203,14 @@
|
|
|
206
203
|
publicUrl: !!js ctx.webStartup.publicUrl
|
|
207
204
|
surfaceContext: true
|
|
208
205
|
|
|
206
|
+
# Model context for an agent that inspects or extends the harness serving
|
|
207
|
+
# this GUI: value-free prompt sections plus the current checkout and GUI
|
|
208
|
+
# URL as optional runtime context. A complete agent-preset persona replaces
|
|
209
|
+
# the sections, and a persona that suppresses optional runtime context
|
|
210
|
+
# also drops the two value lines.
|
|
211
|
+
- id: harness-dev-context
|
|
212
|
+
name: '@deepseek-ai/dsh-harness-dev-context'
|
|
213
|
+
|
|
209
214
|
# The client-plugin reload chain, always mounted: it is idle until a
|
|
210
215
|
# rebuild watcher (pnpm run dev:web) actually rewrites client bundles. It
|
|
211
216
|
# is a row rather than a child of web-runtime because its node half is a
|
|
@@ -378,6 +383,10 @@
|
|
|
378
383
|
- id: ui-reference
|
|
379
384
|
name: '@deepseek-ai/dsh-client-ui-reference'
|
|
380
385
|
|
|
386
|
+
# Display masking for recognized credentials in sent user text; remove
|
|
387
|
+
# this entry to draw credentials as written.
|
|
388
|
+
- id: ui-secret-mask
|
|
389
|
+
name: '@deepseek-ai/dsh-client-ui-secret-mask'
|
|
381
390
|
|
|
382
391
|
# Background jobs: the session-header roster with on-demand streaming
|
|
383
392
|
# record panels over the session job-output service.
|
package/lib/index.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { t as parsePublicUrl } from "./public-url-D_dMK-yI.js";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
|
-
import { isIP } from "node:net";
|
|
5
4
|
import { dirname, join } from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
5
|
import z from "@deepseek-ai/schemastery";
|
|
8
|
-
import {
|
|
6
|
+
import { auditStartupEntries } from "@deepseek-ai/dsh-app-boot";
|
|
9
7
|
import * as FrontendStatic from "@deepseek-ai/dsh-host-frontend-static";
|
|
10
|
-
import {
|
|
8
|
+
import { bindUrlHost, isLoopbackHost } from "@deepseek-ai/dsh-host-webserver";
|
|
11
9
|
import { launchEnvironmentOf, launchedThroughSsh } from "@deepseek-ai/dsh-launch-environment";
|
|
12
10
|
import { scrubbedParentEnv } from "@deepseek-ai/dsh-subprocess";
|
|
13
11
|
//#region lib/types/index.js
|
|
@@ -17,17 +15,15 @@ import { scrubbedParentEnv } from "@deepseek-ai/dsh-subprocess";
|
|
|
17
15
|
* manifest field). The plugin owns the browser-surface glue: it resolves
|
|
18
16
|
* the built frontend dist (workspace knowledge of this bundle, never user
|
|
19
17
|
* config), mounts the `frontend-static` fallback owner over it, registers the
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* bash-visible web runtime variable, the process-token URL line, and the
|
|
19
|
+
* default-browser handoff, and provides the `webApp` service. An advertised
|
|
20
|
+
* `publicUrl` replaces the published bind-address URL. Non-loopback
|
|
23
21
|
* HTTP binds trigger an exposure warning. App command-line values arrive
|
|
24
22
|
* through the `webStartup` service expressions in the bundle patch.
|
|
25
23
|
* @module @deepseek-ai/dsh-web-app
|
|
26
24
|
*/
|
|
27
25
|
/** Stable Cordis plugin name. */
|
|
28
26
|
const name = "web-app";
|
|
29
|
-
/** This dsh installation's root, from either this package's source or built entry. */
|
|
30
|
-
const SOURCE_ROOT = fileURLToPath(new URL("../../../..", import.meta.url));
|
|
31
27
|
const ANNOUNCED_ROOTS = /* @__PURE__ */ new WeakSet();
|
|
32
28
|
/** Services required before the web runtime can mount. */
|
|
33
29
|
const inject = ["webServer"];
|
|
@@ -69,47 +65,6 @@ try {
|
|
|
69
65
|
}
|
|
70
66
|
`;
|
|
71
67
|
/**
|
|
72
|
-
* Local root URL of the active Web server, using the browser-compatible form
|
|
73
|
-
* of its bind address and brackets for IPv6 literals. Non-loopback binds such
|
|
74
|
-
* as a container's Pod address advertise that address.
|
|
75
|
-
* @throws when the runtime resolves without a bound webServer, or when the bind
|
|
76
|
-
* address has no URL form (see {@link advertisedBindHost}).
|
|
77
|
-
*/
|
|
78
|
-
function localWebUrl(ctx) {
|
|
79
|
-
const webServer = ctx.get("webServer");
|
|
80
|
-
const port = webServer?.port;
|
|
81
|
-
if (webServer === void 0 || port === void 0) throw new Error("web-app: webServer service missing while resolving Web runtime");
|
|
82
|
-
const host = advertisedBindHost(webServer.host);
|
|
83
|
-
return `${webServer.protocol}//${isIP(host) === 6 ? `[${host}]` : host}:${String(port)}`;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Bind address in a URL. Loopback addresses use their canonical address text,
|
|
87
|
-
* so browsers treat them as local, trustworthy origins: a genuinely mapped
|
|
88
|
-
* literal such as `::ffff:127.0.0.1` reads as `127.0.0.1`, and a dotted-quad
|
|
89
|
-
* tail reads as the address it names, so `::0.0.0.1` reads as `::1` rather
|
|
90
|
-
* than as `0.0.0.1`. Interface zone IDs cannot appear in a URL; only a
|
|
91
|
-
* redundant loopback zone can be dropped.
|
|
92
|
-
* @param host - webserver bind address.
|
|
93
|
-
* @returns the zone-free URL host.
|
|
94
|
-
* @throws when a non-loopback zone requires an explicit public URL.
|
|
95
|
-
*/
|
|
96
|
-
function advertisedBindHost(host) {
|
|
97
|
-
const zoneAt = host.indexOf("%");
|
|
98
|
-
const bare = zoneAt === -1 ? host : host.slice(0, zoneAt);
|
|
99
|
-
if (isLoopbackHost(bare)) return normalizeBindAddress(bare);
|
|
100
|
-
if (zoneAt === -1) return host;
|
|
101
|
-
throw new Error(`web-app: bind address ${JSON.stringify(host)} carries an interface zone id, which no URL can express; pass --public-url with the root browsers actually reach it through`);
|
|
102
|
-
}
|
|
103
|
-
/** Resolve the advertised root: this plugin's canonical `publicUrl`, or the bind-address URL (loopback when bound to loopback). */
|
|
104
|
-
function appRootUrl(ctx, publicUrl) {
|
|
105
|
-
if (publicUrl !== void 0) return publicUrl;
|
|
106
|
-
return localWebUrl(ctx);
|
|
107
|
-
}
|
|
108
|
-
/** Model-visible orientation and acceptance boundary for sessions created through `dsh web`. */
|
|
109
|
-
function webSurfacePrompt(webUrl) {
|
|
110
|
-
return `You are interacting with the user through the DeepSeek Harness Web GUI at ${webUrl}. When the user refers to "this page", "this GUI", or "this app" without naming another target, they mean this GUI. The browser provides no implicit DOM, route, or screenshot context. The client-plugin HMR receiver is active, but client-plugin changes reload without a refresh only while \`pnpm run dev:web\` is also running from this same checkout to rebuild their bundles; verify that watcher before promising automatic updates. Every other change — the apps/web shell and plain packages — requires rebuilding the affected Web artifacts and verifying this existing URL after a page refresh. Starting another server does not update this GUI. The apps/web Vite entry builds the shell but is not a standalone application because only dsh web injects window.__DSH_BOOT__. Do not start a replacement server unless the user asks; if one is needed, use a managed background job and verify its exact URL.`;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
68
|
* Dist location is workspace knowledge of this bundle: anchored on the
|
|
114
69
|
* frontend package manifest, not configured. Existence is a request-time
|
|
115
70
|
* concern — the fallback owner reads files per request, so a composition
|
|
@@ -176,39 +131,32 @@ const internals = {
|
|
|
176
131
|
openBrowser
|
|
177
132
|
};
|
|
178
133
|
/**
|
|
179
|
-
* Mount the Web runtime: dist serving,
|
|
180
|
-
*
|
|
134
|
+
* Mount the Web runtime: dist serving, the bash runtime variable, the URL
|
|
135
|
+
* line, and the default-browser handoff.
|
|
181
136
|
* @param ctx - plugin context carrying the webServer service.
|
|
182
137
|
* @param config - validated {@link Config}.
|
|
183
138
|
*/
|
|
184
139
|
function apply(ctx, config) {
|
|
185
140
|
const publicUrl = config.publicUrl ?? void 0;
|
|
186
141
|
const boundHost = ctx.webServer.host;
|
|
187
|
-
if (publicUrl === void 0)
|
|
142
|
+
if (publicUrl === void 0 && bindUrlHost(boundHost) === void 0) throw new Error(`web-app: bind address ${JSON.stringify(boundHost)} carries an interface zone id, which no URL can express; pass --public-url with the root browsers actually reach it through`);
|
|
188
143
|
if (ctx.webServer.protocol === "http:" && !isLoopbackHost(boundHost)) console.warn(`dsh web: listening on ${boundHost} over plain HTTP; restrict this port to a trusted proxy or network`);
|
|
189
144
|
const handoffBrowser = config.openBrowser && !launchedThroughSsh(launchEnvironmentOf(ctx));
|
|
145
|
+
/** The advertised root: the canonical `publicUrl`, or the listener's own origin. */
|
|
146
|
+
const appRootUrl = () => publicUrl ?? ctx.webServer.getOrigin();
|
|
147
|
+
ctx.provide("webApp", { getAdvertisedUrl: appRootUrl });
|
|
190
148
|
ctx.plugin(FrontendStatic, { distIndex: internals.resolveDistIndex() });
|
|
191
|
-
if (config.surfaceContext) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
order: promptCtx.systemPrompt.getSectionOrder("WEB_SURFACE"),
|
|
197
|
-
text: () => webSurfacePrompt(appRootUrl(promptCtx, publicUrl))
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
ctx.inject(["shellEnv"], (runtimeCtx) => {
|
|
201
|
-
runtimeCtx.shellEnv.register({
|
|
202
|
-
name: "web-runtime",
|
|
203
|
-
variables: { [DSH_WEB_URL]: { description: "Advertised URL of the DeepSeek Harness Web GUI serving this session." } },
|
|
204
|
-
resolve: () => ({ [DSH_WEB_URL]: appRootUrl(runtimeCtx, publicUrl) })
|
|
205
|
-
});
|
|
149
|
+
if (config.surfaceContext) ctx.inject(["shellEnv"], (runtimeCtx) => {
|
|
150
|
+
runtimeCtx.shellEnv.register({
|
|
151
|
+
name: "web-runtime",
|
|
152
|
+
variables: { [DSH_WEB_URL]: { description: "Advertised URL of the DeepSeek Harness Web GUI serving this session." } },
|
|
153
|
+
resolve: () => ({ [DSH_WEB_URL]: appRootUrl() })
|
|
206
154
|
});
|
|
207
|
-
}
|
|
155
|
+
});
|
|
208
156
|
if (config.printUrl || handoffBrowser) ctx.inject(["connection"], (connectionCtx) => {
|
|
209
157
|
const announceReady = () => {
|
|
210
158
|
if (ANNOUNCED_ROOTS.has(connectionCtx.root)) return;
|
|
211
|
-
const webUrl = appRootUrl(
|
|
159
|
+
const webUrl = appRootUrl();
|
|
212
160
|
const authenticatedUrl = connectionCtx.connection.authenticatedUrl(webUrl);
|
|
213
161
|
ANNOUNCED_ROOTS.add(connectionCtx.root);
|
|
214
162
|
if (config.printUrl) console.log(`dsh web: ${authenticatedUrl}`);
|
package/lib/startup.js
CHANGED
|
@@ -22,7 +22,7 @@ const WEB_STARTUP_SERVICE = "webStartup";
|
|
|
22
22
|
* @returns a fresh program, so one process can parse more than once (tests).
|
|
23
23
|
*/
|
|
24
24
|
function webCommand() {
|
|
25
|
-
return new Command().name("dsh --profile web").description("Serve the DeepSeek Harness browser UI.").helpOption("-h, --help", "show this help").option("--host <host>", "bind address: one concrete IPv4 or IPv6 literal of a local interface; wildcard addresses are rejected").option("--no-open", "do not open the Web UI in the default browser").option("--port <port>", "listen port; pass 0 to let the OS pick a free one").option("--public-url <url>", "advertise this HTTP(S) root in the printed, opened,
|
|
25
|
+
return new Command().name("dsh --profile web").description("Serve the DeepSeek Harness browser UI.").helpOption("-h, --help", "show this help").option("--host <host>", "bind address: one concrete IPv4 or IPv6 literal of a local interface; wildcard addresses are rejected").option("--no-open", "do not open the Web UI in the default browser").option("--port <port>", "listen port; pass 0 to let the OS pick a free one").option("--public-url <url>", "advertise this HTTP(S) root in the printed, opened, runtime-context, and DSH_WEB_URL forms; grants no trust").option("--trusted-host <authority...>", "extra authority the /api browser-trust fence accepts (host or host:port; repeatable)").option("--tls-cert <file>", "PEM server certificate chain; requires --tls-key").option("--tls-key <file>", "unencrypted PEM private key; requires --tls-cert").addHelpText("after", `
|
|
26
26
|
Examples:
|
|
27
27
|
dsh --profile web serve on the composed host and port
|
|
28
28
|
dsh --profile web --no-open serve without opening a browser
|
package/lib/types/index.d.ts
CHANGED
|
@@ -4,15 +4,29 @@
|
|
|
4
4
|
* manifest field). The plugin owns the browser-surface glue: it resolves
|
|
5
5
|
* the built frontend dist (workspace knowledge of this bundle, never user
|
|
6
6
|
* config), mounts the `frontend-static` fallback owner over it, registers the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* bash-visible web runtime variable, the process-token URL line, and the
|
|
8
|
+
* default-browser handoff, and provides the `webApp` service. An advertised
|
|
9
|
+
* `publicUrl` replaces the published bind-address URL. Non-loopback
|
|
10
10
|
* HTTP binds trigger an exposure warning. App command-line values arrive
|
|
11
11
|
* through the `webStartup` service expressions in the bundle patch.
|
|
12
12
|
* @module @deepseek-ai/dsh-web-app
|
|
13
13
|
*/
|
|
14
14
|
import type { Context } from '@deepseek-ai/cordis';
|
|
15
15
|
import z from '@deepseek-ai/schemastery';
|
|
16
|
+
/** The Web GUI this process serves, provided by the `web-runtime` row. */
|
|
17
|
+
export interface WebApp {
|
|
18
|
+
/**
|
|
19
|
+
* The URL this GUI advertises, also used for `DSH_WEB_URL` and the startup URL line.
|
|
20
|
+
* @returns the configured `publicUrl`, otherwise the listener origin.
|
|
21
|
+
*/
|
|
22
|
+
getAdvertisedUrl(): string;
|
|
23
|
+
}
|
|
24
|
+
declare module '@deepseek-ai/cordis' {
|
|
25
|
+
interface Context {
|
|
26
|
+
/** The Web GUI this process serves; absent when no Web runtime is mounted. */
|
|
27
|
+
webApp: WebApp;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
16
30
|
/** Stable Cordis plugin name. */
|
|
17
31
|
export declare const name = "web-app";
|
|
18
32
|
/** Services required before the web runtime can mount. */
|
|
@@ -24,16 +38,14 @@ export interface Config {
|
|
|
24
38
|
/** Print the URL line on activation; a non-interactive layer can turn it off. */
|
|
25
39
|
printUrl: boolean;
|
|
26
40
|
/**
|
|
27
|
-
* Register the
|
|
28
|
-
*
|
|
29
|
-
* layer can turn it off when its user is not in the GUI, so the
|
|
30
|
-
* orientation text would be false.
|
|
41
|
+
* Register the `DSH_WEB_URL` bash variable naming this GUI. A one-shot
|
|
42
|
+
* non-interactive layer can turn it off when its user is not in the GUI.
|
|
31
43
|
*/
|
|
32
44
|
surfaceContext: boolean;
|
|
33
45
|
/**
|
|
34
46
|
* Canonical HTTP(S) root to advertise in the printed and opened URL,
|
|
35
|
-
* `DSH_WEB_URL`, and the
|
|
36
|
-
* `https://app.example/ui/`, normalized to end in `/`. Configures no routing
|
|
47
|
+
* `DSH_WEB_URL`, and `webApp.getAdvertisedUrl()`, which supplies the Web GUI
|
|
48
|
+
* URL in agent runtime context, e.g. `https://app.example/ui/`, normalized to end in `/`. Configures no routing
|
|
37
49
|
* or authentication; see [public deployments](../README.md#public-deployments).
|
|
38
50
|
* Absent or YAML `null` advertises the bind-address URL.
|
|
39
51
|
*/
|
|
@@ -46,8 +58,8 @@ export declare const internals: {
|
|
|
46
58
|
openBrowser: (url: string) => Promise<void>;
|
|
47
59
|
};
|
|
48
60
|
/**
|
|
49
|
-
* Mount the Web runtime: dist serving,
|
|
50
|
-
*
|
|
61
|
+
* Mount the Web runtime: dist serving, the bash runtime variable, the URL
|
|
62
|
+
* line, and the default-browser handoff.
|
|
51
63
|
* @param ctx - plugin context carrying the webServer service.
|
|
52
64
|
* @param config - validated {@link Config}.
|
|
53
65
|
*/
|
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-web-app",
|
|
3
|
-
"description": "The dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving,
|
|
4
|
-
"version": "0.2.1-alpha.
|
|
3
|
+
"description": "The dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, bash runtime variables, URL line)",
|
|
4
|
+
"version": "0.2.1-alpha.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -25,9 +25,13 @@
|
|
|
25
25
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
26
26
|
"./presets/*.patch.yml": "./presets/*.patch.yml",
|
|
27
27
|
"./src/*": "./src/*",
|
|
28
|
-
"./package.json": "./package.json"
|
|
28
|
+
"./package.json": "./package.json",
|
|
29
|
+
"./startup/locale/*.json": "./locale/startup/*.json",
|
|
30
|
+
"./locale/*.json": "./locale/*.json"
|
|
29
31
|
},
|
|
30
32
|
"files": [
|
|
33
|
+
"locale/*.json",
|
|
34
|
+
"locale/startup/*.json",
|
|
31
35
|
"lib/index.js",
|
|
32
36
|
"lib/startup.js",
|
|
33
37
|
"cordis.patch.yml",
|
|
@@ -51,156 +55,157 @@
|
|
|
51
55
|
}
|
|
52
56
|
},
|
|
53
57
|
"dependencies": {
|
|
54
|
-
"@deepseek-ai/dsh-agent-instructions": "0.2.1-alpha.
|
|
55
|
-
"@deepseek-ai/dsh-agent-preset": "0.2.1-alpha.
|
|
56
|
-
"@deepseek-ai/dsh-agent-preset-registry": "0.2.1-alpha.
|
|
57
|
-
"@deepseek-ai/dsh-agent-tool-presentation": "0.2.1-alpha.
|
|
58
|
-
"@deepseek-ai/dsh-api-job-controller": "0.2.1-alpha.
|
|
59
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.
|
|
60
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.1-alpha.
|
|
61
|
-
"@deepseek-ai/dsh-api-settings-controller": "0.2.1-alpha.
|
|
62
|
-
"@deepseek-ai/dsh-api-terminal-controller": "0.2.1-alpha.
|
|
63
|
-
"@deepseek-ai/dsh-api-workspace-controller": "0.2.1-alpha.
|
|
64
|
-
"@deepseek-ai/dsh-api-workspace-files": "0.2.1-alpha.
|
|
65
|
-
"@deepseek-ai/dsh-app-boot": "0.2.1-alpha.
|
|
66
|
-
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.
|
|
67
|
-
"@deepseek-ai/dsh-client-file-upload": "0.2.1-alpha.
|
|
68
|
-
"@deepseek-ai/dsh-client-hmr": "0.2.1-alpha.
|
|
69
|
-
"@deepseek-ai/dsh-client-locale": "0.2.1-alpha.
|
|
70
|
-
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.
|
|
71
|
-
"@deepseek-ai/dsh-client-resources": "0.2.1-alpha.
|
|
72
|
-
"@deepseek-ai/dsh-client-ui-agent-preset": "0.2.1-alpha.
|
|
73
|
-
"@deepseek-ai/dsh-client-ui-approval": "0.2.1-alpha.
|
|
74
|
-
"@deepseek-ai/dsh-client-ui-attachment": "0.2.1-alpha.
|
|
75
|
-
"@deepseek-ai/dsh-client-ui-brand-official": "0.2.1-alpha.
|
|
76
|
-
"@deepseek-ai/dsh-client-ui-chat": "0.2.1-alpha.
|
|
77
|
-
"@deepseek-ai/dsh-client-ui-commands": "0.2.1-alpha.
|
|
78
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-alpha.
|
|
79
|
-
"@deepseek-ai/dsh-client-ui-cordis": "0.2.1-alpha.
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-deliverables": "0.2.1-alpha.
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-directory-picker-browse": "0.2.1-alpha.
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-directory-picker-native": "0.2.1-alpha.
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-goal": "0.2.1-alpha.
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.2.1-alpha.
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-jobs": "0.2.1-alpha.
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-layout": "0.2.1-alpha.
|
|
87
|
-
"@deepseek-ai/dsh-client-ui-message-feedback": "0.2.1-alpha.
|
|
88
|
-
"@deepseek-ai/dsh-client-ui-model-selection": "0.2.1-alpha.
|
|
89
|
-
"@deepseek-ai/dsh-client-ui-open-in-app": "0.2.1-alpha.
|
|
90
|
-
"@deepseek-ai/dsh-client-ui-permission-presets": "0.2.1-alpha.
|
|
91
|
-
"@deepseek-ai/dsh-client-ui-plan": "0.2.1-alpha.
|
|
92
|
-
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-alpha.
|
|
93
|
-
"@deepseek-ai/dsh-client-ui-reference": "0.2.1-alpha.
|
|
94
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.
|
|
95
|
-
"@deepseek-ai/dsh-client-ui-
|
|
96
|
-
"@deepseek-ai/dsh-client-ui-
|
|
97
|
-
"@deepseek-ai/dsh-client-ui-
|
|
98
|
-
"@deepseek-ai/dsh-client-ui-settings
|
|
99
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
100
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
101
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
102
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
103
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
104
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
105
|
-
"@deepseek-ai/dsh-client-ui-settings-
|
|
106
|
-
"@deepseek-ai/dsh-client-ui-
|
|
107
|
-
"@deepseek-ai/dsh-client-ui-sidebar
|
|
108
|
-
"@deepseek-ai/dsh-client-ui-sidebar-
|
|
109
|
-
"@deepseek-ai/dsh-client-ui-sidebar-
|
|
110
|
-
"@deepseek-ai/dsh-client-ui-sidebar-
|
|
111
|
-
"@deepseek-ai/dsh-client-ui-sidebar-
|
|
112
|
-
"@deepseek-ai/dsh-client-ui-
|
|
113
|
-
"@deepseek-ai/dsh-client-ui-
|
|
114
|
-
"@deepseek-ai/dsh-client-ui-
|
|
115
|
-
"@deepseek-ai/dsh-client-ui-
|
|
116
|
-
"@deepseek-ai/dsh-client-ui-
|
|
117
|
-
"@deepseek-ai/dsh-client-ui-
|
|
118
|
-
"@deepseek-ai/dsh-client-ui-
|
|
119
|
-
"@deepseek-ai/dsh-client-ui-
|
|
120
|
-
"@deepseek-ai/dsh-
|
|
121
|
-
"@deepseek-ai/dsh-
|
|
122
|
-
"@deepseek-ai/dsh-command-
|
|
123
|
-
"@deepseek-ai/dsh-
|
|
124
|
-
"@deepseek-ai/dsh-compaction-
|
|
125
|
-
"@deepseek-ai/dsh-
|
|
126
|
-
"@deepseek-ai/dsh-cordis-
|
|
127
|
-
"@deepseek-ai/dsh-
|
|
128
|
-
"@deepseek-ai/dsh-file-reference
|
|
129
|
-
"@deepseek-ai/dsh-
|
|
130
|
-
"@deepseek-ai/dsh-host-directory-picker-
|
|
131
|
-
"@deepseek-ai/dsh-host-directory-picker-
|
|
132
|
-
"@deepseek-ai/dsh-host-
|
|
133
|
-
"@deepseek-ai/dsh-host-
|
|
134
|
-
"@deepseek-ai/dsh-host-
|
|
135
|
-
"@deepseek-ai/dsh-host-
|
|
136
|
-
"@deepseek-ai/dsh-
|
|
137
|
-
"@deepseek-ai/dsh-
|
|
138
|
-
"@deepseek-ai/dsh-
|
|
139
|
-
"@deepseek-ai/dsh-
|
|
140
|
-
"@deepseek-ai/dsh-
|
|
141
|
-
"@deepseek-ai/dsh-
|
|
142
|
-
"@deepseek-ai/dsh-
|
|
143
|
-
"@deepseek-ai/dsh-
|
|
144
|
-
"@deepseek-ai/dsh-
|
|
145
|
-
"@deepseek-ai/dsh-session-
|
|
146
|
-
"@deepseek-ai/dsh-session-
|
|
147
|
-
"@deepseek-ai/dsh-
|
|
148
|
-
"@deepseek-ai/dsh-
|
|
149
|
-
"@deepseek-ai/dsh-
|
|
150
|
-
"@deepseek-ai/dsh-
|
|
151
|
-
"@deepseek-ai/dsh-
|
|
152
|
-
"@deepseek-ai/dsh-
|
|
153
|
-
"@deepseek-ai/dsh-
|
|
154
|
-
"@deepseek-ai/dsh-tool-
|
|
155
|
-
"@deepseek-ai/dsh-tool-
|
|
156
|
-
"@deepseek-ai/dsh-tool-
|
|
157
|
-
"@deepseek-ai/dsh-tool-
|
|
158
|
-
"@deepseek-ai/dsh-tool-
|
|
159
|
-
"@deepseek-ai/dsh-tool-
|
|
160
|
-
"@deepseek-ai/dsh-tool-
|
|
161
|
-
"@deepseek-ai/dsh-tool-
|
|
162
|
-
"@deepseek-ai/dsh-tool-
|
|
163
|
-
"@deepseek-ai/dsh-tool-
|
|
164
|
-
"@deepseek-ai/dsh-tool-
|
|
165
|
-
"@deepseek-ai/dsh-tool-
|
|
166
|
-
"@deepseek-ai/dsh-tool-
|
|
167
|
-
"@deepseek-ai/dsh-tool-
|
|
168
|
-
"@deepseek-ai/dsh-tool-
|
|
169
|
-
"@deepseek-ai/dsh-tool-
|
|
170
|
-
"@deepseek-ai/dsh-web
|
|
171
|
-
"@deepseek-ai/dsh-workflow
|
|
172
|
-
"@deepseek-ai/dsh-
|
|
173
|
-
"@deepseek-ai/dsh-
|
|
174
|
-
"@deepseek-ai/
|
|
58
|
+
"@deepseek-ai/dsh-agent-instructions": "0.2.1-alpha.4",
|
|
59
|
+
"@deepseek-ai/dsh-agent-preset": "0.2.1-alpha.4",
|
|
60
|
+
"@deepseek-ai/dsh-agent-preset-registry": "0.2.1-alpha.4",
|
|
61
|
+
"@deepseek-ai/dsh-agent-tool-presentation": "0.2.1-alpha.4",
|
|
62
|
+
"@deepseek-ai/dsh-api-job-controller": "0.2.1-alpha.4",
|
|
63
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.1-alpha.4",
|
|
64
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.1-alpha.4",
|
|
65
|
+
"@deepseek-ai/dsh-api-settings-controller": "0.2.1-alpha.4",
|
|
66
|
+
"@deepseek-ai/dsh-api-terminal-controller": "0.2.1-alpha.4",
|
|
67
|
+
"@deepseek-ai/dsh-api-workspace-controller": "0.2.1-alpha.4",
|
|
68
|
+
"@deepseek-ai/dsh-api-workspace-files": "0.2.1-alpha.4",
|
|
69
|
+
"@deepseek-ai/dsh-app-boot": "0.2.1-alpha.4",
|
|
70
|
+
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.4",
|
|
71
|
+
"@deepseek-ai/dsh-client-file-upload": "0.2.1-alpha.4",
|
|
72
|
+
"@deepseek-ai/dsh-client-hmr": "0.2.1-alpha.4",
|
|
73
|
+
"@deepseek-ai/dsh-client-locale": "0.2.1-alpha.4",
|
|
74
|
+
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.4",
|
|
75
|
+
"@deepseek-ai/dsh-client-resources": "0.2.1-alpha.4",
|
|
76
|
+
"@deepseek-ai/dsh-client-ui-agent-preset": "0.2.1-alpha.4",
|
|
77
|
+
"@deepseek-ai/dsh-client-ui-approval": "0.2.1-alpha.4",
|
|
78
|
+
"@deepseek-ai/dsh-client-ui-attachment": "0.2.1-alpha.4",
|
|
79
|
+
"@deepseek-ai/dsh-client-ui-brand-official": "0.2.1-alpha.4",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.2.1-alpha.4",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-commands": "0.2.1-alpha.4",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-alpha.4",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-cordis": "0.2.1-alpha.4",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-deliverables": "0.2.1-alpha.4",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-directory-picker-browse": "0.2.1-alpha.4",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-directory-picker-native": "0.2.1-alpha.4",
|
|
87
|
+
"@deepseek-ai/dsh-client-ui-goal": "0.2.1-alpha.4",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.2.1-alpha.4",
|
|
89
|
+
"@deepseek-ai/dsh-client-ui-jobs": "0.2.1-alpha.4",
|
|
90
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.1-alpha.4",
|
|
91
|
+
"@deepseek-ai/dsh-client-ui-message-feedback": "0.2.1-alpha.4",
|
|
92
|
+
"@deepseek-ai/dsh-client-ui-model-selection": "0.2.1-alpha.4",
|
|
93
|
+
"@deepseek-ai/dsh-client-ui-open-in-app": "0.2.1-alpha.4",
|
|
94
|
+
"@deepseek-ai/dsh-client-ui-permission-presets": "0.2.1-alpha.4",
|
|
95
|
+
"@deepseek-ai/dsh-client-ui-plan": "0.2.1-alpha.4",
|
|
96
|
+
"@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.1-alpha.4",
|
|
97
|
+
"@deepseek-ai/dsh-client-ui-reference": "0.2.1-alpha.4",
|
|
98
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.4",
|
|
99
|
+
"@deepseek-ai/dsh-client-ui-secret-mask": "0.2.1-alpha.4",
|
|
100
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.1-alpha.4",
|
|
101
|
+
"@deepseek-ai/dsh-client-ui-schedule": "0.2.1-alpha.4",
|
|
102
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.2.1-alpha.4",
|
|
103
|
+
"@deepseek-ai/dsh-client-ui-settings-general": "0.2.1-alpha.4",
|
|
104
|
+
"@deepseek-ai/dsh-client-ui-settings-models": "0.2.1-alpha.4",
|
|
105
|
+
"@deepseek-ai/dsh-client-ui-settings-plugin-inventory": "0.2.1-alpha.4",
|
|
106
|
+
"@deepseek-ai/dsh-client-ui-settings-plugins": "0.2.1-alpha.4",
|
|
107
|
+
"@deepseek-ai/dsh-client-ui-settings-shell": "0.2.1-alpha.4",
|
|
108
|
+
"@deepseek-ai/dsh-client-ui-settings-agent-loop": "0.2.1-alpha.4",
|
|
109
|
+
"@deepseek-ai/dsh-client-ui-settings-subagent": "0.2.1-alpha.4",
|
|
110
|
+
"@deepseek-ai/dsh-client-ui-settings-web-search": "0.2.1-alpha.4",
|
|
111
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.2.1-alpha.4",
|
|
112
|
+
"@deepseek-ai/dsh-client-ui-sidebar-browser": "0.2.1-alpha.4",
|
|
113
|
+
"@deepseek-ai/dsh-client-ui-sidebar-documentpreview": "0.2.1-alpha.4",
|
|
114
|
+
"@deepseek-ai/dsh-client-ui-sidebar-files": "0.2.1-alpha.4",
|
|
115
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-alpha.4",
|
|
116
|
+
"@deepseek-ai/dsh-client-ui-sidebar-terminal": "0.2.1-alpha.4",
|
|
117
|
+
"@deepseek-ai/dsh-client-ui-skill": "0.2.1-alpha.4",
|
|
118
|
+
"@deepseek-ai/dsh-client-ui-subagent": "0.2.1-alpha.4",
|
|
119
|
+
"@deepseek-ai/dsh-client-ui-theme": "0.2.1-alpha.4",
|
|
120
|
+
"@deepseek-ai/dsh-client-ui-tool": "0.2.1-alpha.4",
|
|
121
|
+
"@deepseek-ai/dsh-client-ui-trajectory": "0.2.1-alpha.4",
|
|
122
|
+
"@deepseek-ai/dsh-client-ui-user-questions": "0.2.1-alpha.4",
|
|
123
|
+
"@deepseek-ai/dsh-client-ui-workflow-run": "0.2.1-alpha.4",
|
|
124
|
+
"@deepseek-ai/dsh-client-ui-workspace": "0.2.1-alpha.4",
|
|
125
|
+
"@deepseek-ai/dsh-cmdline": "0.2.1-alpha.4",
|
|
126
|
+
"@deepseek-ai/dsh-command-compact": "0.2.1-alpha.4",
|
|
127
|
+
"@deepseek-ai/dsh-command-goal": "0.2.1-alpha.4",
|
|
128
|
+
"@deepseek-ai/dsh-compaction-basic": "0.2.1-alpha.4",
|
|
129
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.1-alpha.4",
|
|
130
|
+
"@deepseek-ai/dsh-cordis-client-runner": "0.2.1-alpha.4",
|
|
131
|
+
"@deepseek-ai/dsh-cordis-host-runner": "0.2.1-alpha.4",
|
|
132
|
+
"@deepseek-ai/dsh-file-reference": "0.2.1-alpha.4",
|
|
133
|
+
"@deepseek-ai/dsh-file-reference-local": "0.2.1-alpha.4",
|
|
134
|
+
"@deepseek-ai/dsh-host-directory-picker-auto": "0.2.1-alpha.4",
|
|
135
|
+
"@deepseek-ai/dsh-host-directory-picker-browse": "0.2.1-alpha.4",
|
|
136
|
+
"@deepseek-ai/dsh-host-directory-picker-native": "0.2.1-alpha.4",
|
|
137
|
+
"@deepseek-ai/dsh-host-frontend-static": "0.2.1-alpha.4",
|
|
138
|
+
"@deepseek-ai/dsh-host-open-in-app": "0.2.1-alpha.4",
|
|
139
|
+
"@deepseek-ai/dsh-host-plugin-inventory": "0.2.1-alpha.4",
|
|
140
|
+
"@deepseek-ai/dsh-host-webserver": "0.2.1-alpha.4",
|
|
141
|
+
"@deepseek-ai/dsh-launch-environment": "0.2.1-alpha.4",
|
|
142
|
+
"@deepseek-ai/dsh-message-feedback": "0.2.1-alpha.4",
|
|
143
|
+
"@deepseek-ai/dsh-office-to-pdf": "0.2.1-alpha.4",
|
|
144
|
+
"@deepseek-ai/dsh-persona": "0.2.1-alpha.4",
|
|
145
|
+
"@deepseek-ai/dsh-plan-mode": "0.2.1-alpha.4",
|
|
146
|
+
"@deepseek-ai/dsh-plugin-manager": "0.2.1-alpha.4",
|
|
147
|
+
"@deepseek-ai/dsh-plugin-market": "0.2.1-alpha.4",
|
|
148
|
+
"@deepseek-ai/dsh-schedule": "0.2.1-alpha.4",
|
|
149
|
+
"@deepseek-ai/dsh-session-log-export": "0.2.1-alpha.4",
|
|
150
|
+
"@deepseek-ai/dsh-session-reference": "0.2.1-alpha.4",
|
|
151
|
+
"@deepseek-ai/dsh-session-stats": "0.2.1-alpha.4",
|
|
152
|
+
"@deepseek-ai/dsh-session-turn-outline": "0.2.1-alpha.4",
|
|
153
|
+
"@deepseek-ai/dsh-skill-filesystem": "0.2.1-alpha.4",
|
|
154
|
+
"@deepseek-ai/dsh-subprocess": "0.2.1-alpha.4",
|
|
155
|
+
"@deepseek-ai/dsh-terminal": "0.2.1-alpha.4",
|
|
156
|
+
"@deepseek-ai/dsh-terminal-bash": "0.2.1-alpha.4",
|
|
157
|
+
"@deepseek-ai/dsh-time-context": "0.2.1-alpha.4",
|
|
158
|
+
"@deepseek-ai/dsh-tool-ask-user": "0.2.1-alpha.4",
|
|
159
|
+
"@deepseek-ai/dsh-tool-bash": "0.2.1-alpha.4",
|
|
160
|
+
"@deepseek-ai/dsh-tool-bash-persistent": "0.2.1-alpha.4",
|
|
161
|
+
"@deepseek-ai/dsh-tool-cordis": "0.2.1-alpha.4",
|
|
162
|
+
"@deepseek-ai/dsh-tool-fs": "0.2.1-alpha.4",
|
|
163
|
+
"@deepseek-ai/dsh-tool-fs-search": "0.2.1-alpha.4",
|
|
164
|
+
"@deepseek-ai/dsh-tool-goal": "0.2.1-alpha.4",
|
|
165
|
+
"@deepseek-ai/dsh-tool-jobs": "0.2.1-alpha.4",
|
|
166
|
+
"@deepseek-ai/dsh-tool-present": "0.2.1-alpha.4",
|
|
167
|
+
"@deepseek-ai/dsh-tool-pwsh": "0.2.1-alpha.4",
|
|
168
|
+
"@deepseek-ai/dsh-tool-pwsh-persistent": "0.2.1-alpha.4",
|
|
169
|
+
"@deepseek-ai/dsh-tool-schedule": "0.2.1-alpha.4",
|
|
170
|
+
"@deepseek-ai/dsh-tool-skill": "0.2.1-alpha.4",
|
|
171
|
+
"@deepseek-ai/dsh-tool-subagent": "0.2.1-alpha.4",
|
|
172
|
+
"@deepseek-ai/dsh-tool-subagent-control": "0.2.1-alpha.4",
|
|
173
|
+
"@deepseek-ai/dsh-tool-todo": "0.2.1-alpha.4",
|
|
174
|
+
"@deepseek-ai/dsh-tool-web": "0.2.1-alpha.4",
|
|
175
|
+
"@deepseek-ai/dsh-tool-workflow": "0.2.1-alpha.4",
|
|
176
|
+
"@deepseek-ai/dsh-web-frontend": "0.2.1-alpha.4",
|
|
177
|
+
"@deepseek-ai/dsh-workflow-ptc": "0.2.1-alpha.4",
|
|
178
|
+
"@deepseek-ai/dsh-workspace": "0.2.1-alpha.4",
|
|
179
|
+
"@deepseek-ai/dsh-workspace-changes": "0.2.1-alpha.4",
|
|
180
|
+
"@deepseek-ai/schemastery": "~3.18.5-alpha.2",
|
|
175
181
|
"commander": "^15.0.0",
|
|
176
182
|
"open": "^11.0.2",
|
|
177
|
-
"@deepseek-ai/dsh-api-account-controller": "0.2.1-alpha.
|
|
178
|
-
"@deepseek-ai/dsh-client-ui-settings-account": "0.2.1-alpha.
|
|
179
|
-
"@deepseek-ai/dsh-client-shortcuts": "0.2.1-alpha.
|
|
180
|
-
"@deepseek-ai/dsh-client-ui-shortcuts": "0.2.1-alpha.
|
|
181
|
-
"@deepseek-ai/dsh-client-product-analytics": "0.2.1-alpha.
|
|
182
|
-
"@deepseek-ai/dsh-host-product-telemetry-otel": "0.2.1-alpha.
|
|
183
|
-
"@deepseek-ai/dsh-client-ui-settings-session-log": "0.2.1-alpha.
|
|
183
|
+
"@deepseek-ai/dsh-api-account-controller": "0.2.1-alpha.4",
|
|
184
|
+
"@deepseek-ai/dsh-client-ui-settings-account": "0.2.1-alpha.4",
|
|
185
|
+
"@deepseek-ai/dsh-client-shortcuts": "0.2.1-alpha.4",
|
|
186
|
+
"@deepseek-ai/dsh-client-ui-shortcuts": "0.2.1-alpha.4",
|
|
187
|
+
"@deepseek-ai/dsh-client-product-analytics": "0.2.1-alpha.4",
|
|
188
|
+
"@deepseek-ai/dsh-host-product-telemetry-otel": "0.2.1-alpha.4",
|
|
189
|
+
"@deepseek-ai/dsh-client-ui-settings-session-log": "0.2.1-alpha.4",
|
|
190
|
+
"@deepseek-ai/dsh-harness-dev-context": "0.2.1-alpha.4"
|
|
184
191
|
},
|
|
185
192
|
"peerDependencies": {
|
|
186
|
-
"@deepseek-ai/cordis": "~4.0.5-alpha.
|
|
187
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.
|
|
188
|
-
"@deepseek-ai/dsh-shell-env": "0.2.1-alpha.
|
|
189
|
-
"@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.2"
|
|
193
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2",
|
|
194
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.2",
|
|
195
|
+
"@deepseek-ai/dsh-shell-env": "0.2.1-alpha.4"
|
|
190
196
|
},
|
|
191
197
|
"devDependencies": {
|
|
192
|
-
"@deepseek-ai/cordis": "~4.0.5-alpha.
|
|
193
|
-
"@deepseek-ai/cordis-plugin-include": "~1.0.10-alpha.
|
|
194
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.
|
|
195
|
-
"@deepseek-ai/dsh-fs": "0.2.1-alpha.
|
|
196
|
-
"@deepseek-ai/dsh-fs-local": "0.2.1-alpha.
|
|
197
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.
|
|
198
|
-
"@deepseek-ai/dsh-session": "0.2.1-alpha.
|
|
199
|
-
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.
|
|
200
|
-
"@deepseek-ai/dsh-shell-env": "0.2.1-alpha.
|
|
201
|
-
"@deepseek-ai/dsh-
|
|
202
|
-
"@deepseek-ai/dsh-typert-registry": "0.2.1-alpha.2",
|
|
198
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2",
|
|
199
|
+
"@deepseek-ai/cordis-plugin-include": "~1.0.10-alpha.2",
|
|
200
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.2",
|
|
201
|
+
"@deepseek-ai/dsh-fs": "0.2.1-alpha.4",
|
|
202
|
+
"@deepseek-ai/dsh-fs-local": "0.2.1-alpha.4",
|
|
203
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.4",
|
|
204
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.4",
|
|
205
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.4",
|
|
206
|
+
"@deepseek-ai/dsh-shell-env": "0.2.1-alpha.4",
|
|
207
|
+
"@deepseek-ai/dsh-typert-registry": "0.2.1-alpha.4",
|
|
203
208
|
"@deepseek-ai/libreoffice-kit": "^0.1.5",
|
|
204
|
-
"@deepseek-ai/dsh-otel": "0.2.1-alpha.
|
|
209
|
+
"@deepseek-ai/dsh-otel": "0.2.1-alpha.4"
|
|
205
210
|
}
|
|
206
211
|
}
|
package/presets/cordis.patch.yml
CHANGED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
name: '@deepseek-ai/dsh-plan-mode'
|
|
52
52
|
config:
|
|
53
53
|
section: |
|
|
54
|
-
You are in plan mode. Stay in plan mode until
|
|
54
|
+
You are in plan mode. Stay in plan mode until the user approves your plan through exit_plan_mode or 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.
|
|
55
55
|
|
|
56
56
|
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.
|
|
57
57
|
|
|
@@ -95,23 +95,11 @@
|
|
|
95
95
|
provider: spawn
|
|
96
96
|
toolName: subagent
|
|
97
97
|
modelSelectionSettings: true
|
|
98
|
-
toolFilter:
|
|
99
|
-
deny:
|
|
100
|
-
- schedule_create
|
|
101
|
-
- schedule_delete
|
|
102
|
-
- schedule_list
|
|
103
|
-
- schedule_update
|
|
104
98
|
- id: tool-subagent-fork
|
|
105
99
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
106
100
|
config:
|
|
107
101
|
provider: fork
|
|
108
102
|
toolName: subagent_fork
|
|
109
|
-
toolFilter:
|
|
110
|
-
deny:
|
|
111
|
-
- schedule_create
|
|
112
|
-
- schedule_delete
|
|
113
|
-
- schedule_list
|
|
114
|
-
- schedule_update
|
|
115
103
|
- id: workflow-ptc
|
|
116
104
|
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
117
105
|
config:
|
|
@@ -143,3 +131,6 @@
|
|
|
143
131
|
- id: tool-plugin-manager
|
|
144
132
|
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
145
133
|
disabled: !!js "!ctx.get('profileContext')"
|
|
134
|
+
- id: tool-plugin-market
|
|
135
|
+
name: '@deepseek-ai/dsh-plugin-market/tools'
|
|
136
|
+
disabled: !!js "!ctx.get('profileContext')"
|
|
@@ -14,6 +14,23 @@
|
|
|
14
14
|
prefix: You are a helpful software engineer assistant.
|
|
15
15
|
complete: true
|
|
16
16
|
includeRuntimeContext: false
|
|
17
|
+
- id: tool-fs
|
|
18
|
+
name: '@deepseek-ai/dsh-tool-fs'
|
|
19
|
+
config:
|
|
20
|
+
read: false
|
|
21
|
+
readImage: true
|
|
22
|
+
write: false
|
|
23
|
+
edit: false
|
|
24
|
+
- id: compaction
|
|
25
|
+
name: cordis:group
|
|
26
|
+
group: true
|
|
27
|
+
isolate:
|
|
28
|
+
compaction: true
|
|
29
|
+
config:
|
|
30
|
+
- id: compaction-basic
|
|
31
|
+
name: '@deepseek-ai/dsh-compaction-basic'
|
|
32
|
+
- id: command-compact
|
|
33
|
+
name: '@deepseek-ai/dsh-command-compact'
|
|
17
34
|
- id: persistent-shell
|
|
18
35
|
name: cordis:group
|
|
19
36
|
group: true
|
package/presets/ptc.patch.yml
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
name: '@deepseek-ai/dsh-plan-mode'
|
|
53
53
|
config:
|
|
54
54
|
section: |
|
|
55
|
-
You are in plan mode. Stay in plan mode until
|
|
55
|
+
You are in plan mode. Stay in plan mode until the user approves your plan through exit_plan_mode or 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.
|
|
56
56
|
|
|
57
57
|
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.
|
|
58
58
|
|
|
@@ -96,23 +96,11 @@
|
|
|
96
96
|
provider: spawn
|
|
97
97
|
toolName: subagent
|
|
98
98
|
modelSelectionSettings: true
|
|
99
|
-
toolFilter:
|
|
100
|
-
deny:
|
|
101
|
-
- schedule_create
|
|
102
|
-
- schedule_delete
|
|
103
|
-
- schedule_list
|
|
104
|
-
- schedule_update
|
|
105
99
|
- id: tool-subagent-fork
|
|
106
100
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
107
101
|
config:
|
|
108
102
|
provider: fork
|
|
109
103
|
toolName: subagent_fork
|
|
110
|
-
toolFilter:
|
|
111
|
-
deny:
|
|
112
|
-
- schedule_create
|
|
113
|
-
- schedule_delete
|
|
114
|
-
- schedule_list
|
|
115
|
-
- schedule_update
|
|
116
104
|
- id: workflow-ptc
|
|
117
105
|
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
118
106
|
disabled: true
|
|
@@ -141,3 +129,6 @@
|
|
|
141
129
|
- id: tool-plugin-manager
|
|
142
130
|
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
143
131
|
disabled: true
|
|
132
|
+
- id: tool-plugin-market
|
|
133
|
+
name: '@deepseek-ai/dsh-plugin-market/tools'
|
|
134
|
+
disabled: true
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
name: '@deepseek-ai/dsh-plan-mode'
|
|
53
53
|
config:
|
|
54
54
|
section: |
|
|
55
|
-
You are in plan mode. Stay in plan mode until
|
|
55
|
+
You are in plan mode. Stay in plan mode until the user approves your plan through exit_plan_mode or 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.
|
|
56
56
|
|
|
57
57
|
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.
|
|
58
58
|
|
|
@@ -96,23 +96,11 @@
|
|
|
96
96
|
provider: spawn
|
|
97
97
|
toolName: subagent
|
|
98
98
|
modelSelectionSettings: true
|
|
99
|
-
toolFilter:
|
|
100
|
-
deny:
|
|
101
|
-
- schedule_create
|
|
102
|
-
- schedule_delete
|
|
103
|
-
- schedule_list
|
|
104
|
-
- schedule_update
|
|
105
99
|
- id: tool-subagent-fork
|
|
106
100
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
107
101
|
config:
|
|
108
102
|
provider: fork
|
|
109
103
|
toolName: subagent_fork
|
|
110
|
-
toolFilter:
|
|
111
|
-
deny:
|
|
112
|
-
- schedule_create
|
|
113
|
-
- schedule_delete
|
|
114
|
-
- schedule_list
|
|
115
|
-
- schedule_update
|
|
116
104
|
- id: workflow-ptc
|
|
117
105
|
name: '@deepseek-ai/dsh-workflow-ptc'
|
|
118
106
|
config:
|
|
@@ -135,3 +123,6 @@
|
|
|
135
123
|
- id: tool-plugin-manager
|
|
136
124
|
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
137
125
|
disabled: true
|
|
126
|
+
- id: tool-plugin-market
|
|
127
|
+
name: '@deepseek-ai/dsh-plugin-market/tools'
|
|
128
|
+
disabled: true
|