dsh-modellix 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/README.md +17 -5
- package/README.zh-CN.md +17 -5
- package/cordis.patch.yml +0 -13
- package/docs/en-US/LOCAL_USAGE.md +14 -10
- package/docs/en-US/RELEASE_CHECKLIST.md +7 -7
- package/docs/en-US/USER_GUIDE.md +21 -8
- package/docs/zh-CN/LOCAL_USAGE.md +14 -10
- package/docs/zh-CN/RELEASE_CHECKLIST.md +7 -7
- package/docs/zh-CN/USER_GUIDE.md +21 -8
- package/lib/client.d.ts +2 -2
- package/lib/client.js +26 -7
- package/lib/client.js.map +1 -1
- package/lib/index.d.ts +16 -6
- package/lib/index.js +212 -59
- package/lib/index.js.map +1 -1
- package/package.json +71 -52
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,38 @@ The format follows Keep a Changelog.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.3.0] - 2026-10-15
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Replaced repeated immediate task reads with bounded server waits and an overall cancellation deadline.
|
|
14
|
+
- Moved remote waits outside the shared Design write queue; observations remain serialized and credential-epoch guarded.
|
|
15
|
+
- Added deterministic image, video, and audio upload validation up to 16 MiB and explicit file-quota recovery guidance.
|
|
16
|
+
- Updated real API acceptance to exercise server waits without replaying media submissions.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Keep API Key validation errors visible while a credential editor is open; background configuration refresh resumes after it closes.
|
|
21
|
+
- Restore keyboard focus to the credential editor's opener when a host Modal applies its own autofocus.
|
|
22
|
+
- Keep settings controls enabled during background refresh and discard stale replies after a newer settings change.
|
|
23
|
+
|
|
24
|
+
## [0.2.1] - 2026-09-02
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Limited the Web switch to the explicit `modellix_web_search` and `modellix_web_fetch` capability and its Agent routing context. The plugin no longer overrides, enables, disables, or selects Harness native `web_search` / `web_fetch` tools and providers.
|
|
29
|
+
- Updated the authoring baseline and public Client/Host integration to DeepSeek Harness `0.1.2-alpha.4`, including the current Connection RPC, Settings namespace, Client renderer, and Tool JSON type surfaces, while retaining `0.1.1-rc.2` runtime compatibility.
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Disabling Web now unregisters both explicit Modellix Web tools immediately, so a new Agent session falls back to the Harness-native Web capabilities configured by the active profile instead of spending a turn on a disabled Modellix tool.
|
|
34
|
+
- Re-enabling Web restores both explicit tools and their Modellix-first routing without changing the independent Design or LLM service state.
|
|
35
|
+
|
|
36
|
+
### Verification
|
|
37
|
+
|
|
38
|
+
- Added Host lifecycle regression coverage for enabled → disabled → enabled Web transitions, including preservation of native Search/Fetch tools and providers, continued Design registration, unchanged LLM materialization, and omission of Modellix Web routing while disabled.
|
|
39
|
+
- Added tarball cold-install and declaration-consumer verification against both Harness `0.1.2-alpha.4` and `0.1.1-rc.2`.
|
|
40
|
+
|
|
9
41
|
## [0.2.0] - 2026-08-31
|
|
10
42
|
|
|
11
43
|
### Added
|
package/README.md
CHANGED
|
@@ -8,6 +8,18 @@
|
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
11
|
+
## What changed in 0.3.0
|
|
12
|
+
|
|
13
|
+
- Task monitoring uses bounded server waits. Only a known task ID is observed, and stopping a wait never resubmits the paid generation.
|
|
14
|
+
- Chat and result history stay responsive during a wait. Disabling Design, changing credentials, or closing the plugin cancels outstanding reads and prevents stale results from being saved.
|
|
15
|
+
- Workspace uploads support the File API's image, video, and audio formats up to 16 MiB, with local file/container checks. Harness attachment uploads still use its image attachment reader. On quota errors, list files and explicitly delete only selected IDs through the File API or CLI; the plugin never deletes files automatically.
|
|
16
|
+
- The server must support `wait=true`; an unsupported server produces a compatibility error instead of repeated short polling.
|
|
17
|
+
|
|
18
|
+
## What changed in 0.2.1
|
|
19
|
+
|
|
20
|
+
- The Web switch now unregisters only `modellix_web_search` and `modellix_web_fetch`. Harness-native Web tools and providers remain available, so turning Modellix Web off falls back to the active profile's defaults.
|
|
21
|
+
- Updated the authoring and runtime integration for Harness `0.1.2-alpha.4`, while retaining `0.1.1-rc.2` compatibility.
|
|
22
|
+
|
|
11
23
|
## What changed in 0.2.0
|
|
12
24
|
|
|
13
25
|
- Removed the standalone Design tab. Chat is now the primary media workflow.
|
|
@@ -30,7 +42,7 @@
|
|
|
30
42
|
|
|
31
43
|
## Requirements
|
|
32
44
|
|
|
33
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
45
|
+
- DeepSeek Harness `0.1.2-alpha.4` (latest supported); `0.1.1-rc.2` remains supported
|
|
34
46
|
- Published-package runtime: Node.js `^22.19.0 || >=24.0.0`
|
|
35
47
|
- Source development and release verification: Node.js `24.18.1`, pnpm `11.24.0`
|
|
36
48
|
- A valid [Modellix API Key](https://docs.modellix.ai/get-started)
|
|
@@ -55,7 +67,7 @@ To install a trusted local build:
|
|
|
55
67
|
pnpm install --frozen-lockfile
|
|
56
68
|
pnpm run verify:release:static
|
|
57
69
|
pnpm pack
|
|
58
|
-
dsh plugin --profile web add ./dsh-modellix-0.
|
|
70
|
+
dsh plugin --profile web add ./dsh-modellix-0.3.0.tgz
|
|
59
71
|
```
|
|
60
72
|
|
|
61
73
|
See [local usage](docs/en-US/LOCAL_USAGE.md) for the complete Windows-first workflow.
|
|
@@ -105,7 +117,7 @@ The **Modellix Design** button sits at the far right of the conversation header,
|
|
|
105
117
|
- The entire Results list is expanded by default and can be collapsed.
|
|
106
118
|
- Every result card is expanded by default and can be collapsed by selecting its header.
|
|
107
119
|
- The close button returns focus to the launcher.
|
|
108
|
-
- The advanced exact-parameter editor remains implemented but its entry is hidden in `0.
|
|
120
|
+
- The advanced exact-parameter editor remains implemented but its entry is hidden in `0.3.0`; ordinary users work through chat.
|
|
109
121
|
- At 560 px and below, the panel uses the available viewport width. At 360 px and below, the launcher becomes a reachable compact control.
|
|
110
122
|
|
|
111
123
|
## LLM models
|
|
@@ -118,7 +130,7 @@ When LLM is enabled, the plugin reads the live Modellix catalog and adds those m
|
|
|
118
130
|
|
|
119
131
|
Users do not need to name a tool. For current, changing, external, or source-verification questions, the Agent is instructed to use `modellix_web_search`. When the user provides a public URL or a search result needs full-page reading, it uses `modellix_web_fetch`.
|
|
120
132
|
|
|
121
|
-
|
|
133
|
+
While Web is enabled, the plugin registers only the two explicit Modellix tools and asks the Agent to prefer them for matching work. Disabling Web unregisters those tools and removes the Modellix Web routing context; Harness-native `web_search` / `web_fetch` tools and their configured providers remain untouched and can be selected automatically. Failed or unknown Modellix Web requests are not repeated automatically.
|
|
122
134
|
|
|
123
135
|

|
|
124
136
|
|
|
@@ -128,7 +140,7 @@ The Modellix settings section shows:
|
|
|
128
140
|
|
|
129
141
|
- Credential configured/verification status and source;
|
|
130
142
|
- replacement and removal actions for a writable local Credential;
|
|
131
|
-
- independent Design, LLM, and Web switches;
|
|
143
|
+
- independent Design, LLM, and Web switches; each switch changes only its own Modellix capability;
|
|
132
144
|
- live LLM catalog health, count, refresh time, and manual refresh.
|
|
133
145
|
|
|
134
146
|
Only HTTP 401 marks a Credential invalid. HTTP 402, 429, network failures, and 5xx retain their own recovery states. Concurrent 401 responses are coalesced into one Credential dialog.
|
package/README.zh-CN.md
CHANGED
|
@@ -8,6 +8,18 @@
|
|
|
8
8
|
|
|
9
9
|

|
|
10
10
|
|
|
11
|
+
## 0.3.0 的主要变化
|
|
12
|
+
|
|
13
|
+
- 任务监控改为有界服务端等待,只观察已知任务 ID;停止等待不会重新提交计费生成。
|
|
14
|
+
- 等待期间 Chat 与结果历史保持响应。关闭 Design、更换凭据或关闭插件时会取消未完成的读取,并阻止旧结果写入。
|
|
15
|
+
- 工作区上传支持 File API 的图片、视频和音频格式,单文件上限 16 MiB,并校验本地文件与容器。Harness 附件仍使用其图片读取接口。配额不足时,通过 File API 或 CLI 列出文件并明确删除选中的 ID;插件不会自动清理文件。
|
|
16
|
+
- 服务端需要支持 `wait=true`;不支持时会明确提示兼容性错误,不会回退为反复短轮询。
|
|
17
|
+
|
|
18
|
+
## 0.2.1 的主要变化
|
|
19
|
+
|
|
20
|
+
- Web 开关现在只注销 `modellix_web_search` 与 `modellix_web_fetch`。Harness 原生 Web 工具和 Provider 保持可用,关闭 Modellix Web 后会回退到当前 Profile 的默认能力。
|
|
21
|
+
- 开发与运行时集成已适配 Harness `0.1.2-alpha.4`,并继续兼容 `0.1.1-rc.2`。
|
|
22
|
+
|
|
11
23
|
## 0.2.0 的主要变化
|
|
12
24
|
|
|
13
25
|
- 删除独立 Design Tab,对话成为媒体创作主界面。
|
|
@@ -30,7 +42,7 @@
|
|
|
30
42
|
|
|
31
43
|
## 环境要求
|
|
32
44
|
|
|
33
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
45
|
+
- DeepSeek Harness `0.1.2-alpha.4`(最新支持版本);继续兼容 `0.1.1-rc.2`
|
|
34
46
|
- 已发布包运行时:Node.js `^22.19.0 || >=24.0.0`
|
|
35
47
|
- 源码开发与发布校验:Node.js `24.18.1`、pnpm `11.24.0`
|
|
36
48
|
- 有效的 [Modellix API Key](https://docs.modellix.ai/get-started)
|
|
@@ -55,7 +67,7 @@ dsh --profile web
|
|
|
55
67
|
pnpm install --frozen-lockfile
|
|
56
68
|
pnpm run verify:release:static
|
|
57
69
|
pnpm pack
|
|
58
|
-
dsh plugin --profile web add ./dsh-modellix-0.
|
|
70
|
+
dsh plugin --profile web add ./dsh-modellix-0.3.0.tgz
|
|
59
71
|
```
|
|
60
72
|
|
|
61
73
|
完整 Windows 本地流程见[本地使用指南](docs/zh-CN/LOCAL_USAGE.md)。
|
|
@@ -105,7 +117,7 @@ Agent 会按实际情况:
|
|
|
105
117
|
- 整个结果列表默认展开,可点击收起。
|
|
106
118
|
- 每张结果卡默认展开,可点击卡片头部收起。
|
|
107
119
|
- 点击 X 关闭后,焦点会回到入口按钮。
|
|
108
|
-
- 高级精准参数编辑器已保留,但 `0.
|
|
120
|
+
- 高级精准参数编辑器已保留,但 `0.3.0` 暂不显示入口;普通用户通过 Chat 使用。
|
|
109
121
|
- 560px 及以下使用可用视口全宽;360px 及以下入口变为可触达的紧凑按钮。
|
|
110
122
|
|
|
111
123
|
## LLM 模型
|
|
@@ -118,7 +130,7 @@ Agent 会按实际情况:
|
|
|
118
130
|
|
|
119
131
|
用户不需要说出工具名。遇到实时、变化中、外部或需要来源核验的问题,Agent 会使用 `modellix_web_search`;用户提供公开 URL,或搜索结果需要阅读全文时,会使用 `modellix_web_fetch`。
|
|
120
132
|
|
|
121
|
-
|
|
133
|
+
Web 开启时,插件只注册两个明确的 Modellix 工具,并要求 Agent 在适用任务中优先使用它们。关闭 Web 会注销这两个工具并移除 Modellix Web 路由上下文;Harness 原生 `web_search` / `web_fetch` 及其已配置 Provider 不受影响,仍可被 Agent 自动选择。失败或结果未知的 Modellix Web 请求不会自动重复。
|
|
122
134
|
|
|
123
135
|

|
|
124
136
|
|
|
@@ -128,7 +140,7 @@ Modellix 设置页包括:
|
|
|
128
140
|
|
|
129
141
|
- Credential 是否已配置、验证状态和来源;
|
|
130
142
|
- 本地可写 Credential 的更换与移除;
|
|
131
|
-
- Design、LLM、Web
|
|
143
|
+
- Design、LLM、Web 独立开关,每个开关只改变自身的 Modellix 能力;
|
|
132
144
|
- LLM 实时目录健康、数量、刷新时间和手动刷新。
|
|
133
145
|
|
|
134
146
|
只有 HTTP 401 会把 Credential 标记为无效。HTTP 402、429、网络错误和 5xx 使用各自恢复状态。并发 401 会合并为一个 Credential 弹窗。
|
package/cordis.patch.yml
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
- id: web
|
|
2
|
-
config:
|
|
3
|
-
searchProvider: modellix
|
|
4
|
-
fetchProvider: modellix
|
|
5
|
-
|
|
6
|
-
- id: tool-web
|
|
7
|
-
config:
|
|
8
|
-
search: true
|
|
9
|
-
fetch: true
|
|
10
|
-
searchTimeoutMs: 60000
|
|
11
|
-
fetchTimeoutMs: 60000
|
|
12
|
-
disabled: false
|
|
13
|
-
|
|
14
1
|
- insert:
|
|
15
2
|
- id: modellix
|
|
16
3
|
name: dsh-modellix
|
|
@@ -8,7 +8,7 @@ This guide shows how to build `dsh-modellix` from the current source checkout on
|
|
|
8
8
|
|
|
9
9
|
You need:
|
|
10
10
|
|
|
11
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
11
|
+
- DeepSeek Harness `0.1.2-alpha.4` (latest supported); `0.1.1-rc.2` remains supported
|
|
12
12
|
- Node.js `24.18.1`; the published runtime also supports `^22.19.0`
|
|
13
13
|
- pnpm `11.24.0`
|
|
14
14
|
- A valid Modellix API Key
|
|
@@ -42,7 +42,7 @@ pnpm run verify:pack
|
|
|
42
42
|
pnpm pack
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
The repository root will contain a file such as `dsh-modellix-0.
|
|
45
|
+
The repository root will contain a file such as `dsh-modellix-0.3.0.tgz`. Do not ask DSH to install the unbuilt TypeScript checkout directly.
|
|
46
46
|
|
|
47
47
|
## 3. Create an isolated local Harness environment
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ This affects only the current PowerShell process and its children. Omit this ste
|
|
|
60
60
|
Install the tarball into the `web` profile and inspect the merged configuration:
|
|
61
61
|
|
|
62
62
|
```powershell
|
|
63
|
-
dsh plugin --profile web add .\dsh-modellix-0.
|
|
63
|
+
dsh plugin --profile web add .\dsh-modellix-0.3.0.tgz
|
|
64
64
|
dsh --profile web --dump-config
|
|
65
65
|
```
|
|
66
66
|
|
|
@@ -88,10 +88,12 @@ An environment-sourced Modellix Key is read-only in the UI. Stop and restart Har
|
|
|
88
88
|
## 6. Start the local Web UI
|
|
89
89
|
|
|
90
90
|
```powershell
|
|
91
|
-
dsh --profile web --no-open
|
|
91
|
+
dsh --profile web --no-open --port 3080 --trusted-host localhost:3080
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
The
|
|
94
|
+
The supported Harness currently accepts only its loopback IP or all interfaces as a bind value. Keep the default loopback binding, allow `localhost:3080` through its trust fence, and open `http://localhost:3080/`. Do not use an all-interface bind for local acceptance.
|
|
95
|
+
|
|
96
|
+
The terminal prints the actual address, such as `http://localhost:3080`. Open the printed address; do not assume the port is fixed.
|
|
95
97
|
|
|
96
98
|
A fresh profile may first show Harness's own DeepSeek initialization dialog. Complete or otherwise handle that step before the plugin presents “Connect Modellix”:
|
|
97
99
|
|
|
@@ -109,7 +111,7 @@ A fresh profile may first show Harness's own DeepSeek initialization dialog. Com
|
|
|
109
111
|
6. Select **Modellix Design** at the far right of the session header to see all current-session results.
|
|
110
112
|
7. Use Preview/JSON on successful cards, image enlargement, native video/audio players, **Add URL to chat**, and **Download**.
|
|
111
113
|
|
|
112
|
-
The advanced exact-parameter editor remains internal but its entry is hidden in `0.
|
|
114
|
+
The advanced exact-parameter editor remains internal but its entry is hidden in `0.3.0`. Routine UI flows do not display payment prompts; usage and details remain available in Modellix.
|
|
113
115
|
|
|
114
116
|
## 8. Use Modellix LLM models
|
|
115
117
|
|
|
@@ -123,6 +125,8 @@ The catalog is live. The plugin does not invent fallback models when it cannot l
|
|
|
123
125
|
|
|
124
126
|
With Web enabled, ask a current, external, URL, or source-verification question normally. The Agent automatically uses explicit `modellix_web_search` and `modellix_web_fetch` tools when needed; users do not need to name either tool.
|
|
125
127
|
|
|
128
|
+
With Web disabled, those two explicit tools are unregistered. The plugin does not alter the profile's native `web_search` / `web_fetch` tools or provider selection, so native automatic Web behavior remains available.
|
|
129
|
+
|
|
126
130
|
## 10. Update the local plugin
|
|
127
131
|
|
|
128
132
|
After source changes:
|
|
@@ -135,9 +139,9 @@ After source changes:
|
|
|
135
139
|
Set-Location 'D:\work\maas\githup\dsh-modellix'
|
|
136
140
|
pnpm run verify:pack
|
|
137
141
|
pnpm pack
|
|
138
|
-
dsh plugin --profile web add .\dsh-modellix-0.
|
|
142
|
+
dsh plugin --profile web add .\dsh-modellix-0.3.0.tgz
|
|
139
143
|
dsh --profile web --dump-config
|
|
140
|
-
dsh --profile web --no-open
|
|
144
|
+
dsh --profile web --no-open --port 3080 --trusted-host localhost:3080
|
|
141
145
|
```
|
|
142
146
|
|
|
143
147
|
## 11. Troubleshooting
|
|
@@ -147,8 +151,8 @@ dsh --profile web --no-open
|
|
|
147
151
|
| A DeepSeek API Key dialog appears first | This is the fresh Harness profile's base initialization, not the Modellix dialog; complete it before configuring Modellix |
|
|
148
152
|
| The CLI is logged in but the plugin still requests a Key | The CLI Keychain and Harness Credential service are separate; save it in the plugin UI or inject `MODELLIX_API_KEY` into the Harness process |
|
|
149
153
|
| Modellix Design is missing | Inspect `--dump-config`, confirm Design is enabled, and fully restart the running profile after an update |
|
|
150
|
-
| A task remains stale in assistant prose | Current status belongs to the live card and right panel; `0.
|
|
151
|
-
| One task shows two cards | This is not expected in `0.
|
|
154
|
+
| A task remains stale in assistant prose | Current status belongs to the live card and right panel; `0.3.0` updates the card in the background and avoids nonterminal status wording in ordinary prose |
|
|
155
|
+
| One task shows two cards | This is not expected in `0.3.0`; record the job/tool call ids without Secrets and report a duplicate-card defect |
|
|
152
156
|
| The UI reports an invalid Key | Only an explicit Modellix 401 enters this state; replace a local Credential in settings, or update an environment source and restart |
|
|
153
157
|
| Balance is insufficient | A 402 is not treated as an invalid Key; fund the account or change the task before retrying manually |
|
|
154
158
|
| Requests are rate-limited | Wait for the 429 window to end before retrying manually |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[English](RELEASE_CHECKLIST.md) | [简体中文](../zh-CN/RELEASE_CHECKLIST.md)
|
|
2
2
|
|
|
3
|
-
# dsh-modellix 0.
|
|
3
|
+
# dsh-modellix 0.3.0 Release and Acceptance Checklist
|
|
4
4
|
|
|
5
5
|
Use this document for manual product acceptance and for the final release gate. Check each item against the exact package/commit being released.
|
|
6
6
|
|
|
@@ -23,8 +23,8 @@ Record before testing:
|
|
|
23
23
|
|
|
24
24
|
| Item | Expected |
|
|
25
25
|
| --- | --- |
|
|
26
|
-
| Package | `dsh-modellix@0.
|
|
27
|
-
| Harness | `0.1.1-rc.2` |
|
|
26
|
+
| Package | `dsh-modellix@0.3.0` |
|
|
27
|
+
| Harness | `0.1.2-alpha.4` latest matrix plus `0.1.1-rc.2` compatibility matrix |
|
|
28
28
|
| Development Node | `24.18.1` |
|
|
29
29
|
| pnpm | `11.24.0` |
|
|
30
30
|
| Browser capture viewport | `1920×1080`, DPR 1 |
|
|
@@ -219,7 +219,7 @@ Create Secret-free files outside the repository:
|
|
|
219
219
|
|
|
220
220
|
Both files must:
|
|
221
221
|
|
|
222
|
-
- target `dsh-modellix@0.
|
|
222
|
+
- target `dsh-modellix@0.3.0`;
|
|
223
223
|
- contain the exact lowercase 40-character Git HEAD;
|
|
224
224
|
- use a canonical UTC ISO-8601 completion time no older than 72 hours;
|
|
225
225
|
- have status `passed` for every required check;
|
|
@@ -244,16 +244,16 @@ After all checks pass:
|
|
|
244
244
|
5. Read back:
|
|
245
245
|
|
|
246
246
|
```sh
|
|
247
|
-
npm view dsh-modellix@0.
|
|
247
|
+
npm view dsh-modellix@0.3.0 version dist.integrity dist.shasum --json --registry=https://registry.npmjs.org/ --prefer-online
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
6. From an empty external directory and fresh npm cache, install `dsh-modellix@0.
|
|
250
|
+
6. From an empty external directory and fresh npm cache, install `dsh-modellix@0.3.0`.
|
|
251
251
|
7. Verify the installed version and `dsh --profile <isolated> --dump-config`.
|
|
252
252
|
8. Remove temporary npm config, cache, tarball, profile, evidence intermediates, and process variables.
|
|
253
253
|
|
|
254
254
|
Do not create a Git tag or GitHub Release unless explicitly requested.
|
|
255
255
|
|
|
256
|
-
## 17. 0.2.
|
|
256
|
+
## 17. 0.2.1 verification record
|
|
257
257
|
|
|
258
258
|
The release candidate was exercised on 2026-08-31 with:
|
|
259
259
|
|
package/docs/en-US/USER_GUIDE.md
CHANGED
|
@@ -2,13 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
# dsh-modellix User Guide
|
|
4
4
|
|
|
5
|
-
This guide describes the current `0.
|
|
5
|
+
This guide describes the current `0.3.0` experience. Media creation is chat-first; there is no standalone Design tab. The right-side **Modellix Design** panel is a session-scoped result workspace.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## What changed in 0.3.0
|
|
9
|
+
|
|
10
|
+
- Task monitoring uses bounded server waits. Only a known task ID is observed, and stopping a wait never resubmits the paid generation.
|
|
11
|
+
- Chat and result history stay responsive during a wait. Disabling Design, changing credentials, or closing the plugin cancels outstanding reads and prevents stale results from being saved.
|
|
12
|
+
- Workspace uploads support the File API's image, video, and audio formats up to 16 MiB, with local file/container checks. Harness attachment uploads still use its image attachment reader. On quota errors, list files and explicitly delete only selected IDs through the File API or CLI; the plugin never deletes files automatically.
|
|
13
|
+
- The server must support `wait=true`; an unsupported server produces a compatibility error instead of repeated short polling.
|
|
14
|
+
|
|
6
15
|
|
|
7
16
|
## 1. Install and verify
|
|
8
17
|
|
|
9
18
|
### Requirements
|
|
10
19
|
|
|
11
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
20
|
+
- DeepSeek Harness `0.1.2-alpha.4` (latest supported); `0.1.1-rc.2` remains supported
|
|
12
21
|
- Node.js `^22.19.0 || >=24.0.0`
|
|
13
22
|
- A valid Modellix API Key
|
|
14
23
|
|
|
@@ -28,7 +37,7 @@ To use a local package artifact:
|
|
|
28
37
|
pnpm install --frozen-lockfile
|
|
29
38
|
pnpm run verify:release:static
|
|
30
39
|
pnpm pack
|
|
31
|
-
dsh plugin --profile web add ./dsh-modellix-0.
|
|
40
|
+
dsh plugin --profile web add ./dsh-modellix-0.3.0.tgz
|
|
32
41
|
```
|
|
33
42
|
|
|
34
43
|
See [LOCAL_USAGE.md](LOCAL_USAGE.md) for isolated-profile setup and update commands.
|
|
@@ -80,7 +89,7 @@ It does not add a standalone Design tab.
|
|
|
80
89
|
- Results and every card are expanded by default.
|
|
81
90
|
- Select **Results** to collapse the whole list; select a card header to collapse only that card.
|
|
82
91
|
- Select X to close. Keyboard focus returns to the launcher.
|
|
83
|
-
- The advanced exact-parameter editor remains in the implementation but its entry is hidden for `0.
|
|
92
|
+
- The advanced exact-parameter editor remains in the implementation but its entry is hidden for `0.3.0`.
|
|
84
93
|
|
|
85
94
|
## 4. Create media by chatting
|
|
86
95
|
|
|
@@ -223,7 +232,7 @@ Expected flow:
|
|
|
223
232
|
2. When full-page content is needed, Agent calls `modellix_web_fetch`.
|
|
224
233
|
3. The answer cites the fetched/source pages.
|
|
225
234
|
|
|
226
|
-
The user should not need to say “use search” or “use fetch.” If the user explicitly says not to browse, the Agent does not call them.
|
|
235
|
+
The user should not need to say “use search” or “use fetch.” If the user explicitly says not to browse, the Agent does not call them. When Modellix Web is enabled, its routing context prevents duplicate calls to both tool families for the same operation. When it is disabled, the two explicit Modellix tools and that routing context are removed; the profile's native `web_search` / `web_fetch` tools and providers remain available for automatic fallback.
|
|
227
236
|
|
|
228
237
|
## 11. Settings and errors
|
|
229
238
|
|
|
@@ -231,7 +240,9 @@ The user should not need to say “use search” or “use fetch.” If the user
|
|
|
231
240
|
|
|
232
241
|
- **Design:** controls media tools, chat result views, and the result panel.
|
|
233
242
|
- **LLM:** controls live Modellix model materialization.
|
|
234
|
-
- **Web:** controls Modellix Search/Fetch
|
|
243
|
+
- **Web:** controls only the explicit Modellix Search/Fetch tools and Modellix-first routing. It does not change Harness-native Web tools or providers.
|
|
244
|
+
|
|
245
|
+
The three switches are independent. Saving one service change does not register, unregister, or reconfigure either of the other two services.
|
|
235
246
|
|
|
236
247
|
### Credential status
|
|
237
248
|
|
|
@@ -269,6 +280,8 @@ Confirm Design is enabled, inspect `dsh --profile web --dump-config`, and fully
|
|
|
269
280
|
|
|
270
281
|
Confirm Web is enabled and the current Agent session contains the `Web routing` context. The explicit tools should appear as `modellix_web_search` and `modellix_web_fetch`.
|
|
271
282
|
|
|
283
|
+
If Web is intentionally disabled, neither explicit tool should appear and the session should not contain Modellix `Web routing`; native `web_search` / `web_fetch` behavior continues according to the active Harness profile.
|
|
284
|
+
|
|
272
285
|
### A model Schema is reported as unavailable
|
|
273
286
|
|
|
274
287
|
Refresh the live media catalog, verify the exact model slug returned by `modellix_media_list`, and read `modellix_media_schema` again. The parser supports documented OpenAPI layouts and bounded shared references; it blocks unsafe or unsupported contracts instead of guessing.
|
|
@@ -279,11 +292,11 @@ Keep the conversation open long enough for the Client watcher, verify the Creden
|
|
|
279
292
|
|
|
280
293
|
### Two cards represent one task
|
|
281
294
|
|
|
282
|
-
This is not expected in `0.
|
|
295
|
+
This is not expected in `0.3.0`. Capture the two job ids and tool call ids without Secrets. The generation card should win the per-session task claim, and the matching result-query card should be suppressed.
|
|
283
296
|
|
|
284
297
|
### Results from another conversation appear
|
|
285
298
|
|
|
286
|
-
This is not expected for new `0.
|
|
299
|
+
This is not expected for new `0.3.0` tasks. Record the affected session/task ids and report it as a session-isolation defect.
|
|
287
300
|
|
|
288
301
|
### Media cannot play
|
|
289
302
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
需要:
|
|
10
10
|
|
|
11
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
11
|
+
- DeepSeek Harness `0.1.2-alpha.4`(最新支持版本);继续兼容 `0.1.1-rc.2`
|
|
12
12
|
- Node.js `24.18.1`;运行已发布包也支持 `^22.19.0`
|
|
13
13
|
- pnpm `11.24.0`
|
|
14
14
|
- 有效的 Modellix API Key
|
|
@@ -42,7 +42,7 @@ pnpm run verify:pack
|
|
|
42
42
|
pnpm pack
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
完成后,仓库根目录会生成类似 `dsh-modellix-0.
|
|
45
|
+
完成后,仓库根目录会生成类似 `dsh-modellix-0.3.0.tgz` 的文件。不要直接把未构建的 TypeScript 源码交给 DSH 安装。
|
|
46
46
|
|
|
47
47
|
## 3. 创建独立的本地 Harness 环境
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ New-Item -ItemType Directory -Force -Path $env:DSH_HOME | Out-Null
|
|
|
60
60
|
把刚生成的 tarball 安装到 `web` Profile:
|
|
61
61
|
|
|
62
62
|
```powershell
|
|
63
|
-
dsh plugin --profile web add .\dsh-modellix-0.
|
|
63
|
+
dsh plugin --profile web add .\dsh-modellix-0.3.0.tgz
|
|
64
64
|
dsh --profile web --dump-config
|
|
65
65
|
```
|
|
66
66
|
|
|
@@ -88,10 +88,12 @@ $env:MODELLIX_API_KEY = (Get-Content -LiteralPath 'D:\secrets\modellix-key.txt'
|
|
|
88
88
|
## 6. 启动本地 Web UI
|
|
89
89
|
|
|
90
90
|
```powershell
|
|
91
|
-
dsh --profile web --no-open
|
|
91
|
+
dsh --profile web --no-open --port 3080 --trusted-host localhost:3080
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
当前受支持的 Harness 绑定值仅接受回环 IP 或全部网卡。保留默认的回环绑定,通过信任边界显式允许 `localhost:3080`,并打开 `http://localhost:3080/`;本地验收不要绑定全部网卡。
|
|
95
|
+
|
|
96
|
+
终端会打印实际地址,例如 `http://localhost:3080`。用浏览器打开终端显示的地址,不要假定端口固定。
|
|
95
97
|
|
|
96
98
|
全新 Profile 可能先显示 Harness 自带的 DeepSeek 初始化弹窗。完成或按需处理该步骤后,插件会显示“连接 Modellix”弹窗:
|
|
97
99
|
|
|
@@ -109,7 +111,7 @@ dsh --profile web --no-open
|
|
|
109
111
|
6. 点击会话头部最右侧 **Modellix Design**,查看当前会话全部结果。
|
|
110
112
|
7. 成功卡可用预览/JSON、图片放大、原生视频/音频播放器、**添加 URL 到对话框** 和 **下载**。
|
|
111
113
|
|
|
112
|
-
高级精准参数编辑器继续保留,但 `0.
|
|
114
|
+
高级精准参数编辑器继续保留,但 `0.3.0` 暂不显示入口。常规 UI 不显示付费提示;消耗与明细在 Modellix 查看。
|
|
113
115
|
|
|
114
116
|
## 8. 使用 Modellix LLM
|
|
115
117
|
|
|
@@ -123,6 +125,8 @@ dsh --profile web --no-open
|
|
|
123
125
|
|
|
124
126
|
确认 Web 开关开启后,正常提出实时、外部、URL 或来源核验问题。Agent 会按需自动使用明确的 `modellix_web_search` 与 `modellix_web_fetch`,用户不需要说出工具名。
|
|
125
127
|
|
|
128
|
+
关闭 Web 后,这两个明确工具会被注销。插件不会更改当前 Profile 的原生 `web_search` / `web_fetch` 或 Provider 选择,因此原生自动联网能力仍可使用。
|
|
129
|
+
|
|
126
130
|
## 10. 更新本地插件
|
|
127
131
|
|
|
128
132
|
源码变化后:
|
|
@@ -135,9 +139,9 @@ dsh --profile web --no-open
|
|
|
135
139
|
Set-Location 'D:\work\maas\githup\dsh-modellix'
|
|
136
140
|
pnpm run verify:pack
|
|
137
141
|
pnpm pack
|
|
138
|
-
dsh plugin --profile web add .\dsh-modellix-0.
|
|
142
|
+
dsh plugin --profile web add .\dsh-modellix-0.3.0.tgz
|
|
139
143
|
dsh --profile web --dump-config
|
|
140
|
-
dsh --profile web --no-open
|
|
144
|
+
dsh --profile web --no-open --port 3080 --trusted-host localhost:3080
|
|
141
145
|
```
|
|
142
146
|
|
|
143
147
|
## 11. 常见问题
|
|
@@ -147,8 +151,8 @@ dsh --profile web --no-open
|
|
|
147
151
|
| 先出现 DeepSeek API Key 弹窗 | 这是全新 Harness Profile 的基础初始化,不是 Modellix 弹窗;完成后继续配置 Modellix |
|
|
148
152
|
| `modellix-cli` 已登录但插件仍要求 Key | CLI Keychain 与 Harness Credential 相互独立;在插件 UI 保存,或给 Harness 启动进程设置 `MODELLIX_API_KEY` |
|
|
149
153
|
| 看不到 Modellix Design | 检查 `--dump-config`、确认 Design 已开启,并在更新后完整重启运行中的 Profile |
|
|
150
|
-
| 助手正文里的状态看起来旧 | 当前状态属于实时卡片与右侧面板;`0.
|
|
151
|
-
| 一个任务显示两张卡 | `0.
|
|
154
|
+
| 助手正文里的状态看起来旧 | 当前状态属于实时卡片与右侧面板;`0.3.0` 后台更新卡片,并避免在普通正文写非终态 |
|
|
155
|
+
| 一个任务显示两张卡 | `0.3.0` 不应出现;在不包含 Secret 的情况下记录 job/tool call id 并报告重复卡缺陷 |
|
|
152
156
|
| 页面提示 Key 无效 | 只有 Modellix 明确返回 401 才会进入该状态;本地 Credential 可在设置中更换,环境来源需在外部更新并重启 |
|
|
153
157
|
| 余额不足 | 402 不会被误报为 Key 无效;充值或调整任务后手动重试 |
|
|
154
158
|
| 请求过多 | 等待 429 限流窗口结束后再手动重试 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[English](../en-US/RELEASE_CHECKLIST.md) | [简体中文](RELEASE_CHECKLIST.md)
|
|
2
2
|
|
|
3
|
-
# dsh-modellix 0.
|
|
3
|
+
# dsh-modellix 0.3.0 发布与验收清单
|
|
4
4
|
|
|
5
5
|
本文用于人工产品验收和最终发布门禁。每一项都必须针对即将发布的准确包版本与 commit 检查。
|
|
6
6
|
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
| 项目 | 预期 |
|
|
25
25
|
| --- | --- |
|
|
26
|
-
| 包 | `dsh-modellix@0.
|
|
27
|
-
| Harness | `0.1.1-rc.2` |
|
|
26
|
+
| 包 | `dsh-modellix@0.3.0` |
|
|
27
|
+
| Harness | `0.1.2-alpha.4` 最新矩阵,并兼容验证 `0.1.1-rc.2` |
|
|
28
28
|
| 开发 Node | `24.18.1` |
|
|
29
29
|
| pnpm | `11.24.0` |
|
|
30
30
|
| 浏览器截图视口 | `1920×1080`、DPR 1 |
|
|
@@ -219,7 +219,7 @@ pnpm run test:real:modellix
|
|
|
219
219
|
|
|
220
220
|
两个文件必须:
|
|
221
221
|
|
|
222
|
-
- 指向 `dsh-modellix@0.
|
|
222
|
+
- 指向 `dsh-modellix@0.3.0`;
|
|
223
223
|
- 包含准确的 40 位小写 Git HEAD;
|
|
224
224
|
- 使用不早于 72 小时的规范 UTC ISO-8601 时间;
|
|
225
225
|
- 所有必填 check 均为 `passed`;
|
|
@@ -244,16 +244,16 @@ pnpm run verify:release
|
|
|
244
244
|
5. 回读:
|
|
245
245
|
|
|
246
246
|
```sh
|
|
247
|
-
npm view dsh-modellix@0.
|
|
247
|
+
npm view dsh-modellix@0.3.0 version dist.integrity dist.shasum --json --registry=https://registry.npmjs.org/ --prefer-online
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
6. 在仓库外空目录和全新 npm cache 中安装 `dsh-modellix@0.
|
|
250
|
+
6. 在仓库外空目录和全新 npm cache 中安装 `dsh-modellix@0.3.0`。
|
|
251
251
|
7. 检查实际落盘版本和 `dsh --profile <isolated> --dump-config`。
|
|
252
252
|
8. 删除临时 npm 配置、cache、tarball、profile、Evidence 中间文件和进程变量。
|
|
253
253
|
|
|
254
254
|
未经明确要求,不创建 Git Tag 或 GitHub Release。
|
|
255
255
|
|
|
256
|
-
## 17. 0.2.
|
|
256
|
+
## 17. 0.2.1 验证记录
|
|
257
257
|
|
|
258
258
|
2026-08-31 对候选版本执行了:
|
|
259
259
|
|
package/docs/zh-CN/USER_GUIDE.md
CHANGED
|
@@ -2,13 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
# dsh-modellix 用户指南
|
|
4
4
|
|
|
5
|
-
本文说明 `0.
|
|
5
|
+
本文说明 `0.3.0` 的当前体验。媒体创作以对话为主,不再存在独立 Design Tab;右侧 **Modellix Design** 是按会话隔离的结果工作区。
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 0.3.0 的主要变化
|
|
9
|
+
|
|
10
|
+
- 任务监控改为有界服务端等待,只观察已知任务 ID;停止等待不会重新提交计费生成。
|
|
11
|
+
- 等待期间 Chat 与结果历史保持响应。关闭 Design、更换凭据或关闭插件时会取消未完成的读取,并阻止旧结果写入。
|
|
12
|
+
- 工作区上传支持 File API 的图片、视频和音频格式,单文件上限 16 MiB,并校验本地文件与容器。Harness 附件仍使用其图片读取接口。配额不足时,通过 File API 或 CLI 列出文件并明确删除选中的 ID;插件不会自动清理文件。
|
|
13
|
+
- 服务端需要支持 `wait=true`;不支持时会明确提示兼容性错误,不会回退为反复短轮询。
|
|
14
|
+
|
|
6
15
|
|
|
7
16
|
## 1. 安装与检查
|
|
8
17
|
|
|
9
18
|
### 环境要求
|
|
10
19
|
|
|
11
|
-
- DeepSeek Harness `0.1.1-rc.2`
|
|
20
|
+
- DeepSeek Harness `0.1.2-alpha.4`(最新支持版本);继续兼容 `0.1.1-rc.2`
|
|
12
21
|
- Node.js `^22.19.0 || >=24.0.0`
|
|
13
22
|
- 有效的 Modellix API Key
|
|
14
23
|
|
|
@@ -28,7 +37,7 @@ dsh --profile web
|
|
|
28
37
|
pnpm install --frozen-lockfile
|
|
29
38
|
pnpm run verify:release:static
|
|
30
39
|
pnpm pack
|
|
31
|
-
dsh plugin --profile web add ./dsh-modellix-0.
|
|
40
|
+
dsh plugin --profile web add ./dsh-modellix-0.3.0.tgz
|
|
32
41
|
```
|
|
33
42
|
|
|
34
43
|
独立 Profile 与更新命令见 [LOCAL_USAGE.md](LOCAL_USAGE.md)。
|
|
@@ -80,7 +89,7 @@ dsh plugin --profile web add ./dsh-modellix-0.2.0.tgz
|
|
|
80
89
|
- 结果列表和每张卡片默认展开。
|
|
81
90
|
- 点击 **结果** 收起整个列表;点击卡片头部只收起该卡片。
|
|
82
91
|
- 点击 X 关闭,键盘焦点回到入口。
|
|
83
|
-
- 高级精准参数编辑器保留在实现中,但 `0.
|
|
92
|
+
- 高级精准参数编辑器保留在实现中,但 `0.3.0` 隐藏入口。
|
|
84
93
|
|
|
85
94
|
## 4. 通过对话创建媒体
|
|
86
95
|
|
|
@@ -223,7 +232,7 @@ Provider 使用 OpenAI 兼容接口,重试次数为 `0`;目录不可用时
|
|
|
223
232
|
2. 需要页面全文时自动调用 `modellix_web_fetch`。
|
|
224
233
|
3. 回答引用搜索/抓取来源。
|
|
225
234
|
|
|
226
|
-
用户不需要说“使用 search/fetch”。若用户明确说不要浏览,Agent
|
|
235
|
+
用户不需要说“使用 search/fetch”。若用户明确说不要浏览,Agent 不调用。Modellix Web 开启时,路由上下文会避免同一操作同时调用两套工具;关闭时会移除两个明确工具及该路由上下文,当前 Profile 的原生 `web_search` / `web_fetch` 与 Provider 保持可用,Agent 可自动回退。
|
|
227
236
|
|
|
228
237
|
## 11. 设置与错误
|
|
229
238
|
|
|
@@ -231,7 +240,9 @@ Provider 使用 OpenAI 兼容接口,重试次数为 `0`;目录不可用时
|
|
|
231
240
|
|
|
232
241
|
- **Design:** 控制媒体工具、对话结果卡和结果面板。
|
|
233
242
|
- **LLM:** 控制 Modellix 实时模型物化。
|
|
234
|
-
- **Web:**
|
|
243
|
+
- **Web:** 只控制明确的 Modellix Search/Fetch 工具及 Modellix 优先路由,不改变 Harness 原生 Web 工具或 Provider。
|
|
244
|
+
|
|
245
|
+
三个开关彼此独立。保存一个服务的变化,不会注册、注销或重配另外两个服务。
|
|
235
246
|
|
|
236
247
|
### Credential 状态
|
|
237
248
|
|
|
@@ -269,6 +280,8 @@ Provider 使用 OpenAI 兼容接口,重试次数为 `0`;目录不可用时
|
|
|
269
280
|
|
|
270
281
|
确认 Web 已开启,并检查当前 Agent 会话包含 `Web routing` 上下文。明确工具应显示为 `modellix_web_search` 与 `modellix_web_fetch`。
|
|
271
282
|
|
|
283
|
+
若 Web 是有意关闭,两个明确工具与 Modellix `Web routing` 都不应出现;原生 `web_search` / `web_fetch` 按当前 Harness Profile 的配置继续工作。
|
|
284
|
+
|
|
272
285
|
### 提示模型 Schema 不可用
|
|
273
286
|
|
|
274
287
|
刷新实时媒体目录,确认 `modellix_media_list` 返回的准确 slug,再调用 `modellix_media_schema`。解析器支持公开 OpenAPI 布局和受限共享引用;遇到不安全或不支持的结构时会阻止使用,而不是猜测。
|
|
@@ -279,11 +292,11 @@ Provider 使用 OpenAI 兼容接口,重试次数为 `0`;目录不可用时
|
|
|
279
292
|
|
|
280
293
|
### 同一任务出现两张卡
|
|
281
294
|
|
|
282
|
-
`0.
|
|
295
|
+
`0.3.0` 不应出现。请在不包含 Secret 的情况下记录两张卡的 job id 和 tool call id。生成卡应赢得当前会话的任务展示权,匹配的结果查询卡应被抑制。
|
|
283
296
|
|
|
284
297
|
### 显示其他会话结果
|
|
285
298
|
|
|
286
|
-
新建 `0.
|
|
299
|
+
新建 `0.3.0` 任务不应出现。请记录受影响的 session/task id,并按会话隔离缺陷报告。
|
|
287
300
|
|
|
288
301
|
### 媒体不能播放
|
|
289
302
|
|
package/lib/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import {
|
|
2
|
+
import { Context } from "@deepseek-ai/cordis";
|
|
3
3
|
|
|
4
4
|
//#region src/shared/design-presentation-codes.d.ts
|
|
5
5
|
declare const DESIGN_NOTICE_CODES: readonly ["schema-unavailable", "schema-invalid", "catalog-stale", "catalog-unavailable", "credential-reloaded"];
|
|
@@ -221,7 +221,7 @@ type ModellixClientSlotDefinition = (typeof MODELLIX_CLIENT_SLOTS)[number];
|
|
|
221
221
|
//#endregion
|
|
222
222
|
//#region src/client/index.d.ts
|
|
223
223
|
declare const inject: string[];
|
|
224
|
-
declare function apply(ctx:
|
|
224
|
+
declare function apply(ctx: Context): void;
|
|
225
225
|
//#endregion
|
|
226
226
|
export { AckWire, ClientJsonValue, CredentialDescriptorWire, CredentialVerificationWire, DesignDiagnosticWire, DesignDraftWire, DesignEnumOptionWire, DesignFieldWire, DesignJobWire, DesignModelWire, DesignMutationWire, DesignProposalChangeWire, DesignProposalWire, DesignResourceWire, DesignSnapshotWire, MODELLIX_CLIENT_SLOTS, MODELLIX_CLIENT_WIRE_VERSION, MODELLIX_RPC_CHANNEL, MODELLIX_RPC_ENDPOINTS, ModellixClientContractError, ModellixClientSlotDefinition, ModellixRpcEndpoint, ServiceTogglesWire, SettingsMutationWire, SettingsSnapshotWire, apply, inject, parseAck, parseDesignMutation, parseDesignSnapshot, parseSettingsMutation, parseSettingsSnapshot, safeResourceHref, sanitizeParameters };
|
|
227
227
|
|