dsh-modellix 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,19 @@ The format follows Keep a Changelog.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.1] - 2026-08-26
10
+
11
+ ### Fixed
12
+
13
+ - Allowed the Modellix credential and removal dialogs to open from inside the Harness Settings modal while retaining external-dialog arbitration and correct focus restoration.
14
+ - Cleared transient live-region copy when the Harness locale changes so an English or Chinese view cannot retain a stale message from the previous locale.
15
+
16
+ ### Changed
17
+
18
+ - Replaced the shared mixed-language screenshot set with twelve separate English and Chinese full-screen captures from a real configured Harness session, including live Design, LLM, image generation, Search, and Fetch results.
19
+
20
+ ## [0.1.0] - 2026-08-26
21
+
9
22
  ### Added
10
23
 
11
24
  - DeepSeek Harness Profile Bundle registration with Host and Web Client entry points.
package/README.md CHANGED
@@ -6,7 +6,7 @@ A Modellix Profile Bundle for [DeepSeek Harness](https://github.com/deepseek-ai/
6
6
 
7
7
  > Harness and this plugin currently use prerelease interfaces. Before upgrading Harness, check this package's peer dependencies and [CHANGELOG](CHANGELOG.md).
8
8
 
9
- ![Chinese-language Modellix Design desktop layout with model, prompt, and parameters on the left and generation results on the right](docs/assets/design-desktop.webp)
9
+ ![English Modellix Design desktop layout in a real Harness session, with model and parameters on the left and results on the right](docs/assets/design-desktop-en.webp)
10
10
 
11
11
  ## Feature overview
12
12
 
@@ -47,7 +47,7 @@ You can also build a tarball from trusted source and install the artifact:
47
47
  pnpm install --frozen-lockfile
48
48
  pnpm run verify:release:static
49
49
  pnpm pack
50
- dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
50
+ dsh plugin --profile web add ./dsh-modellix-0.1.1.tgz
51
51
  ```
52
52
 
53
53
  Installing TypeScript source directly from Git requires the installation phase to produce `lib/`. Until the package provides a verified `prepare` flow, use the published package or a local tarball.
@@ -142,21 +142,18 @@ Uninstalling the plugin does not promise to remove external environment variable
142
142
  - [Complete English user guide](docs/en-US/USER_GUIDE.md)
143
143
  - [Chinese README](README.zh-CN.md)
144
144
 
145
- The repository includes nine safety-reviewed UI screenshots. None contains a real account, Key, Network request details, HAR, or Credential file. Both languages reuse the same images. Most plugin copy is Chinese; `design-mobile-en.webp` and `llm-model-selector.webp` use English Harness chrome, while `web-tools.webp` uses English Harness chrome around a Chinese public-documentation request and response:
145
+ The repository includes six English full-screen screenshots captured from a real configured Harness session. The Chinese guide uses a separate six-image Chinese set of the same workflows. The captures use the live Modellix catalog, a real Schema-constrained parameter proposal, one completed `gpt-image-2` result, a real Modellix LLM turn, and real native Web Search/Fetch. None contains an API Key, Network request details, HAR, or Credential file:
146
146
 
147
147
  | Suggested file | Alt text |
148
148
  | --- | --- |
149
- | `docs/assets/onboarding-defaults.webp` | Chinese-language Modellix first-time setup dialog with an empty API Key field and Design, LLM, and Web switches enabled |
150
- | `docs/assets/settings-ready.webp` | Chinese-language Modellix settings showing a verified Credential, three feature switches, and LLM catalog status |
151
- | `docs/assets/design-desktop.webp` | Chinese-language Modellix Design desktop layout with model, prompt, and parameters on the left and generation results on the right |
152
- | `docs/assets/design-proposal.webp` | Chinese-language Design parameter proposal showing before-and-after changes with Apply and Reject actions |
153
- | `docs/assets/design-results-media.webp` | Chinese-language Design results pane with the image created during real acceptance, its expiry, and download action |
154
- | `docs/assets/design-mobile-en.webp` | English-language Modellix Design in a single-column layout at 320 pixels with the workspace above Results |
155
- | `docs/assets/credential-recovery.webp` | Chinese-language Modellix recovery dialog after an invalid API Key with an empty field and Configure later action |
156
- | `docs/assets/llm-model-selector.webp` | English-language Harness model selector expanded to the Modellix provider with models synchronized from the live catalog |
157
- | `docs/assets/web-tools.webp` | English-language Harness conversation showing native web_search and web_fetch completed by the Modellix provider for a Chinese public-documentation request |
158
-
159
- Use only an empty Key or an explicitly fake Key, a generic prompt, and results without personal information. Do not capture Network, HAR, Console, Credential files, or any real-Secret flow.
149
+ | `docs/assets/settings-ready-en.webp` | English Modellix settings with a verified local Credential, all three feature switches, and 26 live LLM models |
150
+ | `docs/assets/design-desktop-en.webp` | English Modellix Design two-pane desktop workspace using the live `gpt-image-2` Schema |
151
+ | `docs/assets/design-proposal-en.webp` | English real parameter proposal with Schema-valid before/after values and explicit Reject/Apply actions |
152
+ | `docs/assets/design-results-media-en.webp` | English result pane with the real 1536×1024 image, expiry, enlargement, and download actions |
153
+ | `docs/assets/llm-model-selector-en.webp` | English Harness model selector populated from the live Modellix LLM catalog |
154
+ | `docs/assets/web-tools-en.webp` | English Harness chrome showing real Modellix Search and Fetch results for public official documentation |
155
+
156
+ The Credential is shown only as a write-only configured status. Never open the Key editor, Network, HAR, Console, Credential files, Cookies, or request details while capturing a real session.
160
157
 
161
158
  ## Current limitations
162
159
 
@@ -181,7 +178,7 @@ pnpm run verify:node22-install
181
178
  pnpm run verify:release:static
182
179
  ```
183
180
 
184
- `pnpm run check` runs environment verification, type checking, lint, the complete unit/contract suite, global hard coverage thresholds, and file-specific regression floors for the Host runtime and Design parameter planner. `verify:pack` checks the exact artifact allowlist, bilingual documentation, nine metadata-free WebP screenshots by actually decoding them, entries, embedded Source Map source, and sensitive-file exclusions. `verify:fresh-install` installs the final tarball in a temporary project, loads Host, executes the Client factory, checks subpath exports, and compiles consumer type smokes. `verify:node22-install` repeats the tarball runtime smoke with an explicitly configured or NVM-discovered Node.js `^22.19.0` binary and fails instead of silently skipping when none exists. `pnpm run verify:release:static` chains these static gates with the production dependency audit.
181
+ `pnpm run check` runs environment verification, type checking, lint, the complete unit/contract suite, global hard coverage thresholds, and file-specific regression floors for the Host runtime and Design parameter planner. `verify:pack` checks the exact artifact allowlist, bilingual documentation, twelve locale-specific metadata-free WebP screenshots by actually decoding them, entries, embedded Source Map source, and sensitive-file exclusions. `verify:fresh-install` installs the final tarball in a temporary project, loads Host, executes the Client factory, checks subpath exports, and compiles consumer type smokes. `verify:node22-install` repeats the tarball runtime smoke with an explicitly configured or NVM-discovered Node.js `^22.19.0` binary and fails instead of silently skipping when none exists. `pnpm run verify:release:static` chains these static gates with the production dependency audit.
185
182
 
186
183
  ### Complete release evidence gate
187
184
 
@@ -192,7 +189,7 @@ Use `pnpm run verify:release` for an actual release. First commit the final code
192
189
  "version": 1,
193
190
  "kind": "browser",
194
191
  "status": "passed",
195
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
192
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
196
193
  "commit": "<current-40-character-lowercase-git-head>",
197
194
  "completedAt": "<canonical-utc-iso-8601>",
198
195
  "checks": {
@@ -216,7 +213,7 @@ Real API/Agent evidence must cover catalogs, parameter planning, all three media
216
213
  "version": 1,
217
214
  "kind": "api-agent",
218
215
  "status": "passed",
219
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
216
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
220
217
  "commit": "<current-40-character-lowercase-git-head>",
221
218
  "completedAt": "<canonical-utc-iso-8601>",
222
219
  "checks": {
package/README.zh-CN.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  > Harness 与本插件当前都使用预发布接口。升级 Harness 前,请核对本包的 peer dependencies 和 [CHANGELOG](CHANGELOG.md)。
8
8
 
9
- ![Modellix Design 桌面布局,左侧为模型、提示词和参数,右侧为生成结果列表](docs/assets/design-desktop.webp)
9
+ ![真实 Harness 会话中的中文 Modellix Design 桌面布局,左侧为模型与参数,右侧为结果](docs/assets/design-desktop-zh.webp)
10
10
 
11
11
  ## 功能概览
12
12
 
@@ -47,7 +47,7 @@ dsh --profile web
47
47
  pnpm install --frozen-lockfile
48
48
  pnpm run verify:release:static
49
49
  pnpm pack
50
- dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
50
+ dsh plugin --profile web add ./dsh-modellix-0.1.1.tgz
51
51
  ```
52
52
 
53
53
  直接从 Git 安装 TypeScript 源码要求安装阶段能生成 `lib/`。包未提供经过验证的 `prepare` 流程时,请使用已发布包或本地 tarball。
@@ -142,21 +142,18 @@ dsh --profile web
142
142
  - [Complete English user guide](docs/en-US/USER_GUIDE.md)
143
143
  - [English README](README.md)
144
144
 
145
- 当前仓库已收录 9 张经过安全检查的界面截图;不包含真实账户、Key、Network 请求详情、HAR Credential 文件。中英文文档复用同一组图片。多数插件文案使用中文;`design-mobile-en.webp` `llm-model-selector.webp` 使用英文 Harness 界面,`web-tools.webp` 则在英文 Harness 界面中展示中文公开文档请求与回答:
145
+ 当前仓库包含 6 张从真实已配置 Harness 会话截取的中文全屏图,英文指南另用同流程的 6 张英文图。截图使用实时 Modellix 目录、真实 Schema 约束参数提议、一次已完成的 `gpt-image-2` 结果、真实 Modellix LLM 调用与原生 Web Search/Fetch;不含 API Key、Network 请求详情、HAR 或 Credential 文件:
146
146
 
147
147
  | 建议文件 | Alt 文本 |
148
148
  | --- | --- |
149
- | `docs/assets/onboarding-defaults.webp` | Modellix 首次配置弹窗,API Key 输入框为空,Design、LLM Web 开关均开启 |
150
- | `docs/assets/settings-ready.webp` | Modellix 设置页显示已验证 Credential、三个功能开关和 LLM 目录状态 |
151
- | `docs/assets/design-desktop.webp` | Modellix Design 桌面布局,左侧为模型、提示词和参数,右侧为生成结果列表 |
152
- | `docs/assets/design-proposal.webp` | Design 参数提议卡显示待确认的前后差异和应用、拒绝操作 |
153
- | `docs/assets/design-results-media.webp` | Design 结果区显示真实验收生成的图片结果、有效期和下载入口 |
154
- | `docs/assets/design-mobile-en.webp` | 英文 Modellix Design 320 像素宽度下使用单列布局,操作区位于结果区上方 |
155
- | `docs/assets/credential-recovery.webp` | API Key 无效后的 Modellix 恢复弹窗,输入框为空并提供稍后处理 |
156
- | `docs/assets/llm-model-selector.webp` | 英文 Harness 模型选择器展开 Modellix Provider,并列出从实时目录同步的多个 LLM 模型 |
157
- | `docs/assets/web-tools.webp` | 英文 Harness 对话中,Modellix Provider 为中文公开文档请求完成原生 web_search 与 web_fetch |
158
-
159
- 拍摄时只使用空 Key 或明确的假 Key,使用通用提示词和无个人信息的结果;不要拍摄 Network、HAR、Console、Credential 文件或真实 Secret 场景。
149
+ | `docs/assets/settings-ready-zh.webp` | 中文 Modellix 设置页显示已验证本机 Credential、三个功能开关和 26 个实时 LLM 模型 |
150
+ | `docs/assets/design-desktop-zh.webp` | 中文 Modellix Design 双栏桌面工作区,使用实时 `gpt-image-2` Schema |
151
+ | `docs/assets/design-proposal-zh.webp` | 中文真实参数提议,显示 Schema 合法的前后值和拒绝、应用操作 |
152
+ | `docs/assets/design-results-media-zh.webp` | 中文结果区显示真实 1536×1024 图片、有效期、原图和下载操作 |
153
+ | `docs/assets/llm-model-selector-zh.webp` | 中文 Harness 模型选择器显示实时 Modellix LLM 目录 |
154
+ | `docs/assets/web-tools-zh.webp` | 中文 Harness 中真实完成的 Modellix Search Fetch 公开文档结果 |
155
+
156
+ Credential 只显示 write-only 的已配置状态。拍摄真实会话时,禁止打开 Key 编辑器、Network、HAR、Console、Credential 文件、Cookie 或请求详情。
160
157
 
161
158
  ## 当前限制
162
159
 
@@ -181,7 +178,7 @@ pnpm run verify:node22-install
181
178
  pnpm run verify:release:static
182
179
  ```
183
180
 
184
- `pnpm run check` 依次执行环境、类型、lint、全量单元/契约测试、全局覆盖率硬门槛以及 Host runtime 和 Design 参数规划器的文件级回归下限;`verify:pack` 验证精确的制品白名单、双语文档、9 张经过真实解码且不含 metadata 的共享 WebP 截图、入口、Source Map 内嵌源码和敏感文件排除;`verify:fresh-install` 在临时项目中安装最终 tarball,并实际加载 Host、执行 Client factory、检查子路径 exports 和消费端类型;`verify:node22-install` 使用显式指定或 NVM 中自动发现的 Node.js `^22.19.0` 再执行 tarball runtime smoke,找不到兼容版本时失败而不是跳过。`pnpm run verify:release:static` 串联以上静态门禁与生产依赖审计。
181
+ `pnpm run check` 依次执行环境、类型、lint、全量单元/契约测试、全局覆盖率硬门槛以及 Host runtime 和 Design 参数规划器的文件级回归下限;`verify:pack` 验证精确的制品白名单、双语文档、12 张按语言分离且经过真实解码、不含 metadata WebP 截图、入口、Source Map 内嵌源码和敏感文件排除;`verify:fresh-install` 在临时项目中安装最终 tarball,并实际加载 Host、执行 Client factory、检查子路径 exports 和消费端类型;`verify:node22-install` 使用显式指定或 NVM 中自动发现的 Node.js `^22.19.0` 再执行 tarball runtime smoke,找不到兼容版本时失败而不是跳过。`pnpm run verify:release:static` 串联以上静态门禁与生产依赖审计。
185
182
 
186
183
  ### 完整发布 Evidence 门禁
187
184
 
@@ -192,7 +189,7 @@ pnpm run verify:release:static
192
189
  "version": 1,
193
190
  "kind": "browser",
194
191
  "status": "passed",
195
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
192
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
196
193
  "commit": "<current-40-character-lowercase-git-head>",
197
194
  "completedAt": "<canonical-utc-iso-8601>",
198
195
  "checks": {
@@ -216,7 +213,7 @@ pnpm run verify:release:static
216
213
  "version": 1,
217
214
  "kind": "api-agent",
218
215
  "status": "passed",
219
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
216
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
220
217
  "commit": "<current-40-character-lowercase-git-head>",
221
218
  "completedAt": "<canonical-utc-iso-8601>",
222
219
  "checks": {
Binary file
Binary file
@@ -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.1.0.tgz`. Do not ask DSH to install the unbuilt TypeScript checkout directly.
45
+ The repository root will contain a file such as `dsh-modellix-0.1.1.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.1.0.tgz
63
+ dsh plugin --profile web add .\dsh-modellix-0.1.1.tgz
64
64
  dsh --profile web --dump-config
65
65
  ```
66
66
 
@@ -135,7 +135,7 @@ After source changes:
135
135
  Set-Location 'D:\work\maas\githup\dsh-modellix'
136
136
  pnpm run verify:pack
137
137
  pnpm pack
138
- dsh plugin --profile web add .\dsh-modellix-0.1.0.tgz
138
+ dsh plugin --profile web add .\dsh-modellix-0.1.1.tgz
139
139
  dsh --profile web --dump-config
140
140
  dsh --profile web --no-open
141
141
  ```
@@ -51,7 +51,7 @@ Build only from trusted source:
51
51
  pnpm install --frozen-lockfile
52
52
  pnpm run verify:release:static
53
53
  pnpm pack
54
- dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
54
+ dsh plugin --profile web add ./dsh-modellix-0.1.1.tgz
55
55
  ```
56
56
 
57
57
  `pnpm run check` includes environment verification, type checking, lint, the complete unit/contract suite, global hard coverage thresholds, and file-specific regression floors for the Host runtime and Design parameter planner. `verify:release:static` also performs the production dependency audit, build, exact artifact verification, an isolated Node 24 tarball installation, and a mandatory Node.js `^22.19.0` tarball runtime smoke. It does not replace real-browser and real API/Agent acceptance. Installing TypeScript source directly from Git requires the install phase to create `lib/`. Without a verified `prepare` flow, use the published package or a prebuilt tarball.
@@ -67,7 +67,7 @@ Browser evidence must attest onboarding, settings, Design, LLM, Web, 401 Credent
67
67
  "version": 1,
68
68
  "kind": "browser",
69
69
  "status": "passed",
70
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
70
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
71
71
  "commit": "<current-40-character-lowercase-git-head>",
72
72
  "completedAt": "<canonical-utc-iso-8601>",
73
73
  "checks": {
@@ -91,7 +91,7 @@ Real API/Agent evidence must cover catalogs, parameter planning, image, video, a
91
91
  "version": 1,
92
92
  "kind": "api-agent",
93
93
  "status": "passed",
94
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
94
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
95
95
  "commit": "<current-40-character-lowercase-git-head>",
96
96
  "completedAt": "<canonical-utc-iso-8601>",
97
97
  "checks": {
@@ -123,7 +123,6 @@ The gate does not execute or retry billed calls. It fails for a missing, failed,
123
123
 
124
124
  When the plugin has no usable Credential and setup has not been deferred, the Harness Web UI displays the “Connect Modellix” dialog.
125
125
 
126
- ![Chinese-language Modellix first-time setup dialog with an empty API Key field and Design, LLM, and Web switches enabled](../assets/onboarding-defaults.webp)
127
126
 
128
127
  ### Standard flow
129
128
 
@@ -170,7 +169,7 @@ Screenshots and issue reports must never contain a real Key, Network request det
170
169
 
171
170
  ## Modellix settings
172
171
 
173
- ![Chinese-language Modellix settings showing a verified Credential, three feature switches, and LLM catalog status](../assets/settings-ready.webp)
172
+ ![English Modellix settings in a real Harness session showing a verified local Credential, three feature switches, and the live LLM catalog](../assets/settings-ready-en.webp)
174
173
 
175
174
  The settings page has three primary cards.
176
175
 
@@ -207,7 +206,7 @@ A catalog refresh failure does not create a static replacement list or misreport
207
206
 
208
207
  ### Left/right layout
209
208
 
210
- ![Chinese-language Modellix Design desktop layout with model, prompt, and parameters on the left and generation results on the right](../assets/design-desktop.webp)
209
+ ![English Modellix Design desktop layout in a real Harness session, with live model parameters on the left and results on the right](../assets/design-desktop-en.webp)
211
210
 
212
211
  Design uses a “conversation and parameters on the left, results on the right” two-column layout on desktop:
213
212
 
@@ -276,7 +275,7 @@ This action:
276
275
  - returns a summary, before-and-after field changes, and any conflicts;
277
276
  - neither applies changes nor starts media generation automatically.
278
277
 
279
- ![Chinese-language Design parameter proposal showing before-and-after changes with Apply and Reject actions](../assets/design-proposal.webp)
278
+ ![English real Design parameter proposal showing Schema-valid before-and-after values with Apply and Reject actions](../assets/design-proposal-en.webp)
280
279
 
281
280
  After review, select “Apply changes” or “Reject.” Resolve conflicts first. If parameters or the Schema changed after proposal creation, the stale proposal is rejected; create another proposal.
282
281
 
@@ -316,7 +315,7 @@ If the connection ends during submission and the plugin cannot know whether upst
316
315
 
317
316
  ### Results, previews, and expiry
318
317
 
319
- ![Chinese-language Design results pane showing the image created during real acceptance, its expiry, and download action](../assets/design-results-media.webp)
318
+ ![English Design results pane showing the real 1536 by 1024 image, its expiry, enlargement, and download actions](../assets/design-results-media-en.webp)
320
319
 
321
320
  When you reopen Design or enter a new Harness session, the results pane reloads Host-persisted records, so unexpired resources remain available. Results are sorted by most recent update. The UI shows at most the latest 1,000 current persisted records, grouped as:
322
321
 
@@ -347,7 +346,7 @@ LLM reuses the same Key and does not require a separate Credential per model.
347
346
 
348
347
  Switching models does not replay an earlier call. Each new Harness model call may incur Modellix usage, and the provider retry limit remains `0`. If the desired model is missing, refresh the catalog in settings instead of typing an unverified model id.
349
348
 
350
- ![English-language Harness model selector expanded to the Modellix provider with multiple LLM models synchronized from the live catalog](../assets/llm-model-selector.webp)
349
+ ![English Harness model selector expanded to the Modellix provider with models synchronized from the live catalog](../assets/llm-model-selector-en.webp)
351
350
 
352
351
  The plugin safely merges the live catalog into the Harness `llm-pi-ai` route while preserving unknown fields and user model metadata it does not own. The protocol configuration is:
353
352
 
@@ -368,7 +367,7 @@ When Web is enabled and a Credential is usable, the plugin registers:
368
367
 
369
368
  It does not create duplicate custom tools. Harness continues to own tool arguments, presentation, and lifecycle; the Bundle only selects the `modellix` provider.
370
369
 
371
- ![English-language Harness conversation showing native web_search and web_fetch completed by the Modellix provider for a Chinese public-documentation request](../assets/web-tools.webp)
370
+ ![English Harness chrome showing real Modellix Search and Fetch results for public official documentation](../assets/web-tools-en.webp)
372
371
 
373
372
  For a typical flow, ask Harness to search a public topic, inspect the native `web_search` sources, and then fetch only the result you need with `web_fetch`. The provider is unavailable when Web is disabled, the Key is removed, or the Key is explicitly invalid. Web requests may incur Modellix usage. The provider does not automatically retry a request; when a potentially billed Fetch outcome is unknown, inspect the Harness transcript or Modellix-side record before manually repeating it. Do not put Secrets, private data, or content that should not be sent to a third party in a query or target page.
374
373
 
@@ -401,7 +400,6 @@ For a typical flow, ask Harness to search a public topic, inspect the native `we
401
400
 
402
401
  A 402, 429, offline failure, timeout, or 5xx remains distinct and does not open invalid-Key recovery.
403
402
 
404
- ![Chinese-language Modellix recovery dialog after an invalid API Key with an empty field and Configure later action](../assets/credential-recovery.webp)
405
403
 
406
404
  ## Accessibility, keyboard, and responsive behavior
407
405
 
@@ -425,7 +423,6 @@ Fields use real labels; help and errors are linked through stable relationships,
425
423
  - Harness semantic tokens adapt the UI to light, dark, and Windows forced-colors modes.
426
424
  - `prefers-reduced-motion: reduce` disables unnecessary animation and transitions.
427
425
 
428
- ![English-language Modellix Design in a single-column layout at 320 pixels with the workspace above Results](../assets/design-mobile-en.webp)
429
426
 
430
427
  ## Cost and security checklist
431
428
 
@@ -520,21 +517,18 @@ Uninstallation does not promise to delete upstream Modellix tasks, external envi
520
517
 
521
518
  ## Included screenshots and safe-capture checklist
522
519
 
523
- These images were captured in an isolated acceptance profile and checked for Secrets. Most plugin copy is Chinese; `design-mobile-en.webp` and `llm-model-selector.webp` use English Harness chrome, while `web-tools.webp` uses English Harness chrome around a Chinese public-documentation request and response. Both guides reuse the same safe set with language-appropriate alt text:
520
+ These six English images were captured full-screen at 1920×889 from the real configured Harness profile and checked for Secrets. The Chinese guide uses a separate six-image Chinese set of the same workflows. The live session exercised the real Modellix catalog, parameter assistant, `gpt-image-2`, LLM, Search, and Fetch:
524
521
 
525
522
  | Suggested file | Alt text | Capture focus |
526
523
  | --- | --- | --- |
527
- | `docs/assets/onboarding-defaults.webp` | Chinese-language Modellix first-time setup dialog with an empty API Key field and Design, LLM, and Web switches enabled | Empty password field, three default switches, Configure later and Save actions |
528
- | `docs/assets/settings-ready.webp` | Chinese-language Modellix settings showing a verified Credential, three feature switches, and LLM catalog status | Show configured status only, never the Key |
529
- | `docs/assets/design-desktop.webp` | Chinese-language Modellix Design desktop layout with model, prompt, and parameters on the left and generation results on the right | 1440px, generic prompt, non-sensitive result |
530
- | `docs/assets/design-proposal.webp` | Chinese-language Design parameter proposal showing before-and-after changes with Apply and Reject actions | No personal data; make clear that a proposal does not generate automatically |
531
- | `docs/assets/design-results-media.webp` | Chinese-language Design results pane showing the image created during real acceptance, its expiry, and download action | The image uses a public test prompt; video and audio passed separate real API acceptance and are not mixed into this screenshot |
532
- | `docs/assets/design-mobile-en.webp` | English-language Modellix Design in a single-column layout at 320 pixels with the workspace above Results | 320px, longest English copy, no clipped key action, and visible English localization |
533
- | `docs/assets/credential-recovery.webp` | Chinese-language Modellix recovery dialog after an invalid API Key with an empty field and Configure later action | Simulated 401 only; never show a real Key |
534
- | `docs/assets/llm-model-selector.webp` | English-language Harness model selector expanded to the Modellix provider with models synchronized from the live catalog | Show only public model names, with no account or call content |
535
- | `docs/assets/web-tools.webp` | English-language Harness conversation showing native web_search and web_fetch completed for a Chinese public-documentation request | Use public documentation; do not show private URLs, Cookies, or request details |
536
-
537
- These screenshots show only an empty Key, an explicitly fake Key, public model names, public URLs, and generic test prompts. The real Key was read directly by the acceptance process and never entered the browser, screenshots, Network/HAR, Console, Credential files, or persistent recordings. Future screenshot updates must preserve the same rule.
524
+ | `docs/assets/settings-ready-en.webp` | English Modellix settings with a verified Credential and live LLM catalog | Shows status and source only, never the stored Key |
525
+ | `docs/assets/design-desktop-en.webp` | English Modellix Design two-pane workspace using the live `gpt-image-2` Schema | Full-screen desktop layout and public model names |
526
+ | `docs/assets/design-proposal-en.webp` | English real parameter proposal with Reject and Apply actions | A billed LLM proposal that does not submit media |
527
+ | `docs/assets/design-results-media-en.webp` | English result pane with the real 1536×1024 acceptance image | One billed image POST, visible expiry, enlargement, and download actions |
528
+ | `docs/assets/llm-model-selector-en.webp` | English Harness model selector populated from the live Modellix catalog | Public model names only |
529
+ | `docs/assets/web-tools-en.webp` | English Harness chrome with real Modellix Search and Fetch results | Public official documentation only; no request internals |
530
+
531
+ The Credential was already stored write-only in the local Harness service. The capture process never read it or opened a request inspector, and no Key, Network/HAR, Console, Credential file, Cookie, or private URL appears in these screenshots. Future screenshot updates must preserve the same rule.
538
532
 
539
533
  ## References
540
534
 
@@ -42,7 +42,7 @@ pnpm run verify:pack
42
42
  pnpm pack
43
43
  ```
44
44
 
45
- 完成后,仓库根目录会生成类似 `dsh-modellix-0.1.0.tgz` 的文件。不要直接把未构建的 TypeScript 源码交给 DSH 安装。
45
+ 完成后,仓库根目录会生成类似 `dsh-modellix-0.1.1.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.1.0.tgz
63
+ dsh plugin --profile web add .\dsh-modellix-0.1.1.tgz
64
64
  dsh --profile web --dump-config
65
65
  ```
66
66
 
@@ -135,7 +135,7 @@ dsh --profile web --no-open
135
135
  Set-Location 'D:\work\maas\githup\dsh-modellix'
136
136
  pnpm run verify:pack
137
137
  pnpm pack
138
- dsh plugin --profile web add .\dsh-modellix-0.1.0.tgz
138
+ dsh plugin --profile web add .\dsh-modellix-0.1.1.tgz
139
139
  dsh --profile web --dump-config
140
140
  dsh --profile web --no-open
141
141
  ```
@@ -51,7 +51,7 @@ dsh --profile web
51
51
  pnpm install --frozen-lockfile
52
52
  pnpm run verify:release:static
53
53
  pnpm pack
54
- dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
54
+ dsh plugin --profile web add ./dsh-modellix-0.1.1.tgz
55
55
  ```
56
56
 
57
57
  `pnpm run check` 包含环境检查、类型检查、lint、完整单元/契约测试、全局覆盖率硬门槛以及 Host runtime 和 Design 参数规划器的文件级回归下限;`verify:release:static` 还执行生产依赖审计、构建、精确制品校验、Node 24 tarball 隔离安装和必须存在的 Node.js `^22.19.0` tarball runtime smoke。它不代替真实浏览器与真实 API/Agent 验收。直接从 Git 安装 TypeScript 源码要求安装阶段能够生成 `lib/`;没有经过验证的 `prepare` 流程时,请使用已发布包或预构建 tarball。
@@ -67,7 +67,7 @@ dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
67
67
  "version": 1,
68
68
  "kind": "browser",
69
69
  "status": "passed",
70
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
70
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
71
71
  "commit": "<current-40-character-lowercase-git-head>",
72
72
  "completedAt": "<canonical-utc-iso-8601>",
73
73
  "checks": {
@@ -91,7 +91,7 @@ dsh plugin --profile web add ./dsh-modellix-0.1.0.tgz
91
91
  "version": 1,
92
92
  "kind": "api-agent",
93
93
  "status": "passed",
94
- "package": { "name": "dsh-modellix", "version": "0.1.0" },
94
+ "package": { "name": "dsh-modellix", "version": "0.1.1" },
95
95
  "commit": "<current-40-character-lowercase-git-head>",
96
96
  "completedAt": "<canonical-utc-iso-8601>",
97
97
  "checks": {
@@ -123,7 +123,6 @@ pnpm run verify:release
123
123
 
124
124
  当插件尚无可用 Credential 且没有被延后配置时,Harness Web UI 会显示“连接 Modellix”弹窗。
125
125
 
126
- ![Modellix 首次配置弹窗,API Key 输入框为空,Design、LLM 和 Web 开关均开启](../assets/onboarding-defaults.webp)
127
126
 
128
127
  ### 标准流程
129
128
 
@@ -170,7 +169,7 @@ pnpm run verify:release
170
169
 
171
170
  ## Modellix 设置页
172
171
 
173
- ![Modellix 设置页显示已验证 Credential、三个功能开关和 LLM 目录状态](../assets/settings-ready.webp)
172
+ ![真实 Harness 会话中的中文 Modellix 设置页,显示已验证本机 Credential、三个功能开关和实时 LLM 目录](../assets/settings-ready-zh.webp)
174
173
 
175
174
  设置页包含三张主要卡片。
176
175
 
@@ -207,7 +206,7 @@ Design、LLM、Web 可以独立开关。修改后必须选择“保存更改”
207
206
 
208
207
  ### 左右布局
209
208
 
210
- ![Modellix Design 桌面布局,左侧为模型、提示词和参数,右侧为生成结果列表](../assets/design-desktop.webp)
209
+ ![真实 Harness 会话中的中文 Modellix Design 双栏桌面布局,左侧为实时模型参数,右侧为结果](../assets/design-desktop-zh.webp)
211
210
 
212
211
  桌面端 Design 采用“左侧对话与参数、右侧结果”的两栏布局:
213
212
 
@@ -276,7 +275,7 @@ Design 使用当前 Modellix 模型目录,不内置一份假定永远有效的
276
275
  - 返回摘要、字段前后差异和可能的冲突;
277
276
  - 不会自动应用改动,也不会自动生成媒体。
278
277
 
279
- ![Design 参数提议卡显示待确认的前后差异和应用、拒绝操作](../assets/design-proposal.webp)
278
+ ![中文真实 Design 参数提议,显示 Schema 合法的前后值与应用、拒绝操作](../assets/design-proposal-zh.webp)
280
279
 
281
280
  检查差异后选择“应用变更”或“拒绝”。有冲突时必须先解决;提议生成后若当前参数或 Schema 已改变,过期提议会被拒绝,请重新生成提议。
282
281
 
@@ -316,7 +315,7 @@ Design 使用当前 Modellix 模型目录,不内置一份假定永远有效的
316
315
 
317
316
  ### 结果列表、预览与过期
318
317
 
319
- ![Design 结果区显示真实验收生成的图片结果、有效期和下载入口](../assets/design-results-media.webp)
318
+ ![中文 Design 结果区显示真实 1536×1024 图片、有效期、原图和下载操作](../assets/design-results-media-zh.webp)
320
319
 
321
320
  重新打开 Design 或进入新的 Harness 会话时,结果区会从 Host 持久记录重新加载;尚未过期的资源仍可查看。结果按最近更新时间排序,最多显示当前持久化记录中的最近 1,000 项,并分为:
322
321
 
@@ -347,7 +346,7 @@ LLM 功能复用同一个 Key,不要求为每个模型分别配置凭据。
347
346
 
348
347
  切换模型不会重放之前的调用;之后每次 Harness 模型调用都可能产生 Modellix 用量,Provider 重试上限始终为 `0`。若目标模型没有出现,应在设置页刷新目录,不要手动填写未经目录验证的模型 id。
349
348
 
350
- ![Harness 模型选择器展开 Modellix Provider,并列出从实时目录同步的多个 LLM 模型](../assets/llm-model-selector.webp)
349
+ ![中文 Harness 模型选择器展开 Modellix Provider,并列出实时目录同步的 LLM 模型](../assets/llm-model-selector-zh.webp)
351
350
 
352
351
  插件把实时目录安全合并到 Harness `llm-pi-ai` 路由,并保留不属于插件的未知字段和用户模型元数据。协议配置为:
353
352
 
@@ -368,7 +367,7 @@ Web 开关开启且 Credential 可用时,插件为 Harness 注册:
368
367
 
369
368
  插件不会创建同名自定义 Tool。Harness 仍拥有 Tool 的参数、展示和生命周期,Bundle 只把 Provider 选择为 `modellix`。
370
369
 
371
- ![Harness 对话中由 Modellix Provider 完成的原生 web_search web_fetch 工具结果](../assets/web-tools.webp)
370
+ ![中文 Harness 中真实完成的 Modellix SearchFetch 公开文档结果](../assets/web-tools-zh.webp)
372
371
 
373
372
  典型流程是先让 Harness 搜索一个公开主题,检查原生 `web_search` 返回的来源,再只对需要的结果调用 `web_fetch`。关闭 Web、移除 Key 或 Key 明确失效时,Provider 不可用。Web 请求可能产生 Modellix 用量,Provider 不会自动重试;若一次可能计费的 Fetch 结果未知,应先检查 Harness 对话记录或 Modellix 侧记录,再决定是否手动重复。提交前避免把 Secret、私人数据或不应发送给第三方的内容放入查询或目标页面。
374
373
 
@@ -401,7 +400,6 @@ Web 开关开启且 Credential 可用时,插件为 Harness 注册:
401
400
 
402
401
  402、429、离线、超时和 5xx 保持独立状态,不会打开 Key 无效恢复弹窗。
403
402
 
404
- ![API Key 无效后的 Modellix 恢复弹窗,输入框为空并提供稍后处理](../assets/credential-recovery.webp)
405
403
 
406
404
  ## 可访问性、键盘与响应式
407
405
 
@@ -425,7 +423,6 @@ Web 开关开启且 Credential 可用时,插件为 Harness 注册:
425
423
  - 使用 Harness 语义 Token 适配浅色、深色和 Windows forced-colors。
426
424
  - `prefers-reduced-motion: reduce` 时关闭非必要动画和过渡。
427
425
 
428
- ![英文 Modellix Design 在 320 像素宽度下使用单列布局,操作区位于结果区上方](../assets/design-mobile-en.webp)
429
426
 
430
427
  ## 成本与安全清单
431
428
 
@@ -520,21 +517,18 @@ dsh --profile web
520
517
 
521
518
  ## 已收录截图与安全拍摄清单
522
519
 
523
- 以下图片已在独立验收 profile 中拍摄并经过 Secret 检查。多数插件文案使用中文;`design-mobile-en.webp` `llm-model-selector.webp` 使用英文 Harness 界面,`web-tools.webp` 在英文 Harness 界面中展示中文公开文档请求与回答。中英文文档复用同一组安全截图并分别提供 Alt 文本:
520
+ 以下 6 张中文图片均从真实已配置 Harness Profile 1920×889 全屏拍摄并经过 Secret 检查;英文指南使用同流程的另一组 6 张英文图。真实会话完整使用了 Modellix 实时目录、参数助手、`gpt-image-2`、LLM、Search 和 Fetch:
524
521
 
525
522
  | 建议文件 | Alt 文本 | 拍摄重点 |
526
523
  | --- | --- | --- |
527
- | `docs/assets/onboarding-defaults.webp` | Modellix 首次配置弹窗,API Key 输入框为空,Design、LLM Web 开关均开启 | password 输入框、三个默认开关、稍后处理和保存按钮 |
528
- | `docs/assets/settings-ready.webp` | Modellix 设置页显示已验证 Credential、三个功能开关和 LLM 目录状态 | 只显示配置状态,不显示 Key |
529
- | `docs/assets/design-desktop.webp` | Modellix Design 桌面布局,左侧为模型、提示词和参数,右侧为生成结果列表 | 1440px、通用提示词、非敏感结果 |
530
- | `docs/assets/design-proposal.webp` | Design 参数提议卡显示待确认的前后差异和应用、拒绝操作 | 不包含个人数据,清楚显示提议不会自动生成 |
531
- | `docs/assets/design-results-media.webp` | Design 结果区显示真实验收生成的图片结果、有效期和下载入口 | 使用公开测试提示词生成的图片;视频和音频另经真实 API 验收,不在此图中混合展示 |
532
- | `docs/assets/design-mobile-en.webp` | 英文 Modellix Design 320 像素宽度下使用单列布局,操作区位于结果区上方 | 320px、最长英文文案、关键操作不裁切,并证明英文 UI 本地化 |
533
- | `docs/assets/credential-recovery.webp` | API Key 无效后的 Modellix 恢复弹窗,输入框为空并提供稍后处理 | 只使用模拟 401,绝不显示真实 Key |
534
- | `docs/assets/llm-model-selector.webp` | Harness 模型选择器展开 Modellix Provider,并列出从实时目录同步的多个 LLM 模型 | 只显示公开模型名,不显示账户或调用内容 |
535
- | `docs/assets/web-tools.webp` | Harness 对话中由 Modellix Provider 完成的原生 web_search 与 web_fetch 工具结果 | 使用公开测试网页,不显示私人 URL、Cookie 或请求详情 |
536
-
537
- 这些截图只显示空 Key、明确的假 Key、公开模型名、公开网址和通用测试提示词;真实 Key 由验收进程直接读取,未进入浏览器、截图、Network/HAR、Console、Credential 文件或持久化录像。后续更新截图时必须继续遵守同一规则。
524
+ | `docs/assets/settings-ready-zh.webp` | 中文 Modellix 设置页显示已验证 Credential 与实时 LLM 目录 | 只显示状态和来源,不显示已保存 Key |
525
+ | `docs/assets/design-desktop-zh.webp` | 中文 Modellix Design 双栏工作区使用实时 `gpt-image-2` Schema | 全屏桌面布局与公开模型名 |
526
+ | `docs/assets/design-proposal-zh.webp` | 中文真实参数提议,包含拒绝和应用操作 | 真实 LLM 参数提议,不会提交媒体生成 |
527
+ | `docs/assets/design-results-media-zh.webp` | 中文结果区显示真实 1536×1024 验收图片 | 一次计费图片 POST,可见有效期、原图和下载操作 |
528
+ | `docs/assets/llm-model-selector-zh.webp` | 中文 Harness 模型选择器显示实时 Modellix 目录 | 只显示公开模型名 |
529
+ | `docs/assets/web-tools-zh.webp` | 中文 Harness 中真实完成的 Modellix Search Fetch | 只读取公开官方文档,不显示请求内部信息 |
530
+
531
+ Credential 已以 write-only 方式保存在本机 Harness 服务中;截图进程没有读取它,也没有打开请求检查器。截图不包含 Key、Network/HAR、Console、Credential 文件、Cookie、私人 URL 或持久化录像。后续更新截图时必须继续遵守同一规则。
538
532
 
539
533
  ## 参考资料
540
534