@mokuyoaxis/dsh-iris 0.2.4 → 0.2.5

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
@@ -4,6 +4,16 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.2.5] - 2026-10-16
8
+
9
+ ### Changed
10
+
11
+ - 恢复当前功能在旧DSH上的支持:准确覆盖0.1.2-rc.1、0.1.5-rc.1/rc.2/rc.3、0.1.7-rc.1/rc.2、0.2.0-rc.1/rc.2及0.2.1-alpha.1/alpha.2/alpha.3/alpha.4;同步engines、可选客户端peers与Doctor。旧宿主共用当前Core、Music、图片导入和原生Qwen改图,Node最低仍为22。见 [兼容矩阵与验证范围](docs/DSH_COMPATIBILITY.md)。
12
+
13
+ ### Fixed
14
+
15
+ - 默认视觉按宿主接口能力启用精确路由,修复旧SDK已有相同API却被版本号判断送入历史路径、可能返回空结果或忽略失败终态的问题。
16
+
7
17
  ## [0.2.4] - 2026-10-15
8
18
 
9
19
  ### Added
@@ -325,7 +335,8 @@ Iris 0.2.0 要求 Node.js ≥ 22.0.0,DSH 插件仅支持 `0.2.0-rc.2`;旧宿
325
335
  - 上传采用流式限额、临时 `.part` 文件和原子落盘,失败时会清理未完成文件。
326
336
  - 修改状态的路由拒绝明确的跨站请求,媒体文件继续使用随机能力令牌访问。
327
337
 
328
- [Unreleased]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.4...HEAD
338
+ [Unreleased]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.5...HEAD
339
+ [0.2.5]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.4...v0.2.5
329
340
  [0.2.4]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.3...v0.2.4
330
341
  [0.2.3]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.2...v0.2.3
331
342
  [0.2.2]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.1...v0.2.2
package/README.en.md CHANGED
@@ -46,22 +46,22 @@ These captures come from an Android browser connected to DSH under Termux/PRoot
46
46
 
47
47
  The project is at an early stage; interfaces and configuration formats may still change between releases.
48
48
 
49
- Iris 0.2.4 provides a DSH plugin and a headless CLI sharing tasks, artifacts and model routing, with persistent image import, native Qwen editing, and explicit function assignments. Music, three agent skills, and synchronous delivery recovery remain available. Core internals have not been frozen as a public SDK.
49
+ Iris 0.2.5 provides a DSH plugin and a headless CLI sharing tasks, artifacts and model routing. This release restores current Iris features on older DSH hosts; image import, native Qwen editing, music, three agent skills and synchronous delivery recovery remain available. Core internals have not been frozen as a public SDK.
50
50
 
51
- > Version support: Iris 0.2.4 supports DSH `0.2.0-rc.2` or `0.2.1-alpha.4`; Iris 0.2.0–0.2.3 supports rc.2 only. Node.js must be at least 22.0.0 and meet any higher host requirement. Older DSH hosts should pin Iris 0.1.4. See the [compatibility matrix](docs/DSH_COMPATIBILITY.md).
51
+ > Version support: Iris 0.2.5 covers 12 exact DSH versions across the 0.1.2, 0.1.5, 0.1.7 and 0.2 lines; see the [compatibility matrix](docs/DSH_COMPATIBILITY.md). Node.js must be at least 22.0.0, including on older DSH hosts, and meet any higher host requirement.
52
52
 
53
- ## What's new in 0.2.4
53
+ ## What's new in 0.2.5 and existing features
54
54
 
55
- **Image reuse, explicit function assignments, and support for the newer host.**
55
+ **Keep current Iris features on older hosts.** Default vision uses host API capabilities to bind an exact model route; the verified host range grows from two to twelve exact versions.
56
56
 
57
57
  - **Persistent image import:** save an existing image through the workbench, agent, or CLI for later vision, editing, and export. The source file stays intact and no model is called.
58
58
  - **Native Qwen editing:** use supported DashScope Qwen image editing models as well as chat image models; edited images retain a link to their source.
59
59
  - **Explicit assignments:** image, video, TTS, music, transcription, and vision use only their assigned ordered lists. Explicit overrides must also be assigned.
60
- - **Two host versions:** DSH rc.2 and alpha.4 use the same manifest, client peer, and Doctor compatibility boundary.
60
+ - **Older and transitional hosts:** the twelve exact versions in the matrix share current features and use the same manifest, client peer and Doctor compatibility boundary.
61
61
 
62
62
  **Check assignments before upgrading:** empty lists stop new calls instead of adding models from the pool. Existing tasks retain their original bindings. Add the DSH default model explicitly to vision when needed. See the [upgrade guide](docs/FUNCTION_MODEL_ASSIGNMENTS.md).
63
63
 
64
- See the [0.2.4 release notes](docs/releases/0.2.4.md) and [CHANGELOG](CHANGELOG.md); music and Skills from the previous release are documented in [0.2.3](docs/releases/0.2.3.md).
64
+ See the [0.2.5 release notes](docs/releases/0.2.5.md) for host compatibility and validation limits, and the [CHANGELOG](CHANGELOG.md). Image import and assignments were added in [0.2.4](docs/releases/0.2.4.md); music and Skills are documented in [0.2.3](docs/releases/0.2.3.md).
65
65
 
66
66
  Future work includes additional protocol adapters and creative workflows; see the [roadmap](docs/ROADMAP.md#后续功能方向).
67
67
 
@@ -73,7 +73,7 @@ Future work includes additional protocol adapters and creative workflows; see th
73
73
  | Entry point | Choose a pinned release under "Quickest start" below | `dsh-iris run ...` — see [Headless CLI](docs/HEADLESS_CLI.md) |
74
74
  | Data location | `$DSH_HOME/iris/v1/` (Core data root `core-v0`) | Any absolute path passed via `--data-root` |
75
75
  | Automatic observation | Yes (bounded DSH host ticks + restart takeover) | Explicit `task observe`; 0.2.2 also offers bounded `task wait` |
76
- | Dependencies | DSH rc.2 or alpha.4, and Node.js ≥ 22 meeting host requirements | Node.js ≥ 22 and `sharp` only (`ffmpeg` for video frames) |
76
+ | Dependencies | A DSH version in the compatibility matrix, and Node.js ≥ 22 meeting host requirements | Node.js ≥ 22 and `sharp` only (`ffmpeg` for video frames) |
77
77
 
78
78
  Both paths read and write the same Core Task/Artifact facts: point the CLI at the `core-v0` data root of a DSH profile to inspect/export DSH-generated artifacts, and vice versa. Only one writer is allowed per data root.
79
79
 
@@ -87,54 +87,38 @@ If you already have an ai-paint configuration, set `IRIS_IMPORT_WORKBENCH_CONFIG
87
87
 
88
88
  ## Quickest start
89
89
 
90
- Check the host with `dsh --version` and ensure `pnpm` is on your PATH. Iris and DSH have independent version numbers; choose a matching combination:
90
+ Check the host with `dsh --version` and ensure `pnpm` is on your PATH. Iris and DSH have independent version numbers; Iris0.2.5 supports all twelve exact hosts listed in the [compatibility matrix](docs/DSH_COMPATIBILITY.md).
91
91
 
92
92
  | Your DSH | Iris choice | Source |
93
93
  |---|---|---|
94
- | `0.2.0-rc.2` or `0.2.1-alpha.4` | `0.2.4` | Pinned npm release |
95
- | `>=0.1.2-rc.1 <0.1.3-0` or `0.1.5-rc.1` | Stable `0.1.4` | Pinned npm release |
96
- | Other versions | No current support claim | Check host adaptation before installing |
94
+ | Exact 0.1.2 / 0.1.5 / 0.1.7 / 0.2 versions in the matrix | `0.2.5` | Pinned npm release |
95
+ | Versions outside the matrix | Not yet validated | Check the actual host interfaces |
97
96
 
98
- ### Older DSH: install stable 0.1.4
99
-
100
- For the older DSH range above, add the pinned release to the Web profile:
101
-
102
- ```bash
103
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4
104
- dsh web
105
- ```
106
-
107
- To download the published npm package separately:
108
-
109
- ```bash
110
- npm pack @mokuyoaxis/dsh-iris@0.1.4
111
- ```
112
-
113
- This writes a `.tgz` to the current directory. Use `npm install @mokuyoaxis/dsh-iris@0.1.4` if you only want a regular npm dependency; that does not add a DSH profile layer. Pinning `@0.1.4` keeps selecting the old stable release after latest changes. See [npm pack](https://docs.npmjs.com/cli/v11/commands/npm-pack/). Version 0.1.4 does not contain the 0.2.0 Core media CLI or the later DSH rc.2 adaptation.
114
-
115
- ### DSH rc.2 or alpha.4: install 0.2.4
97
+ ### DSH plugin: install 0.2.5
116
98
 
117
99
  Install the pinned release into your Web profile:
118
100
 
119
101
  ```bash
120
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4
102
+ dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
121
103
  dsh web
122
104
  ```
123
105
 
124
106
  The plugin loads on the next DSH start. The web UI defaults to `http://127.0.0.1:3080`; open the complete URL if startup output includes authentication parameters. Reload the backend and refresh the web client after updating.
125
107
 
126
- ### Standalone CLI: install 0.2.4
108
+ ### Standalone CLI: install 0.2.5
127
109
 
128
110
  Install in your own project without DSH:
129
111
 
130
112
  ```bash
131
- npm install @mokuyoaxis/dsh-iris@0.2.4
113
+ npm install @mokuyoaxis/dsh-iris@0.2.5
132
114
  npx dsh-iris --help
133
115
  ```
134
116
 
117
+ Download the package separately with `npm pack @mokuyoaxis/dsh-iris@0.2.5`. Users who need historical Iris0.1.4 can still pin it; see the matrix for its DSH/Node requirements. It lacks the current Core media CLI and later features.
118
+
135
119
  ### Choosing a version in dsh-market
136
120
 
137
- The marketplace entry should resolve to the full package name `@mokuyoaxis/dsh-iris`. Check its Iris version and your local `dsh --version` against the [compatibility matrix](docs/DSH_COMPATIBILITY.md); older hosts should pin `@0.1.4`. Catalog and npm data may be cached. The actual package's top-level `engines.dsh`, Node requirement, and client peers define its requirements; a visible listing does not imply support for every DSH release.
121
+ The marketplace entry should resolve to the full package name `@mokuyoaxis/dsh-iris`. Check its Iris version and your local `dsh --version` against the [compatibility matrix](docs/DSH_COMPATIBILITY.md) for that release. Catalog and npm data may be cached. The actual package's top-level `engines.dsh`, Node requirement, and client peers define its requirements; a visible listing does not imply support for every DSH release.
138
122
 
139
123
  > The unscoped `dsh-iris` on npm belongs to a different plugin. Always keep the fully scoped name `@mokuyoaxis/dsh-iris` when installing or updating Iris Media.
140
124
 
@@ -177,7 +161,7 @@ After installing the plugin, add a provider in the Iris workbench and assign mod
177
161
 
178
162
  ## DeepSeek Harness adaptation
179
163
 
180
- dsh-iris remains a native DSH plugin. Iris 0.2.4 registers 17 agent tools, including import, editing, and music, and uses host routing, attachments, models, and lifecycle services. The web client contributes settings, composer, and global-overlay UI. Iris does not start another service or listen on an extra port.
164
+ dsh-iris remains a native DSH plugin. Iris 0.2.5 registers 17 agent tools, including import, editing, and music, and uses host routing, attachments, models, and lifecycle services. The web client contributes settings, composer, and global-overlay UI. Iris does not start another service or listen on an extra port.
181
165
 
182
166
  Save an uploaded or local image as a persistent Artifact for viewing, editing and export; see [image import](docs/IMAGE_IMPORT.md) (Chinese).
183
167
 
@@ -189,10 +173,11 @@ Save an uploaded or local image as a persistent Artifact for viewing, editing an
189
173
  | `0.2.2` | Only `0.2.0-rc.2` | Installed-service checks cover 15 tools and 31 boundaries; complete browser/mobile and real asynchronous restart acceptance remain pending |
190
174
  | `0.2.3` | Only `0.2.0-rc.2` | Adds music and a third skill; check actual loading with Host Doctor after upgrading |
191
175
  | `0.2.4` | `0.2.0-rc.2` or `0.2.1-alpha.4` | 17 tools / 3 skills; actual SDK, loader, and client slot isolation checks; full browser and hot reload checks remain separate |
176
+ | `0.2.5` | 12 exact versions across the 0.1.2 / 0.1.5 / 0.1.7 / 0.2 lines; see the matrix | Official SDK isolation checks including Music and Qwen dispatch; old profiles also load the actual installed package |
192
177
 
193
178
  See the [compatibility matrix](docs/DSH_COMPATIBILITY.md) for the current scope and [rc.2 adaptation notes](docs/DSH_RC2_ADAPTATION.md) for historical changes. npm 0.1.4 does not contain these later adaptations.
194
179
 
195
- Iris 0.2.x no longer claims older DSH support; historical validation does not automatically cover this version. DSH `0.2.0` stable and other rc versions are also outside its support range. Automated checks cover server loading, tool and Skill registration, routes, the client bundle, and UI slots separately so Doctor can identify which boundary failed.
180
+ Version 0.2.5 adapts to host API capabilities and declares support for the exact versions tested. Other versions need separate validation. Checks cover loading, tools, Skills, routes and client slots; full browser interaction and old-data upgrades remain separate. Doctor identifies the boundaries it can observe at runtime.
196
181
 
197
182
  Core and the DSH Adapter are being separated: DSH keeps loading the same npm package, while the Adapter maps host capabilities into Core. A DSH API change should require an Adapter or client-bridge fix, not a rewrite of Task or Artifact semantics. Version 0.2.0 includes the headless CLI. The `dsh` prefix will be removed after a second real Host Adapter is implemented and accepted, with a new npm package at that point; see the [roadmap](docs/ROADMAP.md).
198
183
 
package/README.md CHANGED
@@ -44,22 +44,22 @@ dsh-iris 为 Agent、Iris 工作台和独立 CLI 提供图像、视频、音乐
44
44
 
45
45
  项目目前处于早期版本,接口和配置格式仍可能随版本迭代调整。
46
46
 
47
- Iris 0.2.4 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和模型路由,支持图片导入、原生 Qwen 改图及统一功能分配。音乐、三项 Agent Skills 和同步媒体交付恢复继续可用。Core 内部接口尚未冻结为公共 SDK。
47
+ Iris 0.2.5 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和模型路由。新版恢复旧DSH的当前功能支持;图片导入、原生Qwen改图、音乐、三项Agent Skills和同步媒体交付恢复继续可用。Core内部接口尚未冻结为公共SDK。
48
48
 
49
- > 版本支持:Iris 0.2.4支持DSH `0.2.0-rc.2` 或 `0.2.1-alpha.4`,Iris 0.2.0–0.2.3仅支持rc.2。Node.js最低22.0.0;宿主若要求更高,以宿主为准。旧DSH固定使用Iris0.1.4,详见 [兼容矩阵](docs/DSH_COMPATIBILITY.md)。
49
+ > 版本支持:Iris0.2.5覆盖DSH 0.1.2、0.1.5、0.1.7及0.2线中的12个准确版本,见 [兼容矩阵](docs/DSH_COMPATIBILITY.md)。保留旧DSH时仍需Node.js ≥22.0.0,宿主若要求更高,以宿主为准。
50
50
 
51
- ## 0.2.4 更新重点
51
+ ## 0.2.5 更新重点与现有能力
52
52
 
53
- **图片续作、明确的功能模型分配与新版宿主兼容**。
53
+ **旧宿主继续使用当前Iris功能**。默认视觉按接口能力选择精确路由,支持范围从2个准确DSH版本扩大至12个。
54
54
 
55
55
  - **图片导入**:通过工作台、Agent或CLI把已有图片保存为持久作品,继续看图、改图和导出;保留源文件,不调用模型。
56
56
  - **原生 Qwen 改图**:除聊天生图外,支持DashScope Qwen带图编辑,修改版另存为关联原图的新作品。
57
57
  - **统一功能分配**:生图、视频、TTS、Music、转写和视觉只使用各自明确分配的有序名单;临时指定也须已分配。
58
- - **双版本宿主**:兼容DSH rc.2及alpha.4,manifest、客户端peer和Doctor使用相同范围。
58
+ - **旧宿主与过渡版本**:兼容矩阵中的12个准确版本共用当前功能,manifest、客户端peer和Doctor使用相同范围。
59
59
 
60
60
  **升级前请检查功能分配**:空名单会停止新调用,不再自动补入模型池;已有任务仍可按原绑定查询和恢复。DSH默认视觉须明确加入视觉名单。详见 [升级说明](docs/FUNCTION_MODEL_ASSIGNMENTS.md)。
61
61
 
62
- 完整变化见 [0.2.4 发布说明](docs/releases/0.2.4.md) 与 [CHANGELOG](CHANGELOG.md);上一版音乐与Skills见 [0.2.3](docs/releases/0.2.3.md)。
62
+ 兼容修正与验证边界见 [0.2.5发布说明](docs/releases/0.2.5.md) 和 [CHANGELOG](CHANGELOG.md)。图片续作与统一分配见 [0.2.4](docs/releases/0.2.4.md),音乐与Skills见 [0.2.3](docs/releases/0.2.3.md)。
63
63
 
64
64
  音乐的接口格式、模型分配与使用示例见 [Music](docs/MUSIC.md)。其他协议与后续能力见 [路线图](docs/ROADMAP.md#后续功能方向)。
65
65
 
@@ -71,7 +71,7 @@ Iris 0.2.4 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和
71
71
  | 入口 | 按下文「最快开始」选择固定版本 | `dsh-iris run ...`,见 [Headless CLI](docs/HEADLESS_CLI.md) |
72
72
  | 数据位置 | `$DSH_HOME/iris/v1/`(Core 数据根 `core-v0`) | 显式 `--data-root` 指定的任意绝对路径 |
73
73
  | 自动观察 | 有(DSH Host 有界节拍 + 重启接管) | 显式 `task observe`;0.2.2 另提供有界 `task wait` |
74
- | 依赖 | DSH rc.2或alpha.4、Node.js ≥ 22(满足宿主要求) | 仅 Node.js ≥ 22 与 `sharp`(视频抽帧另需 `ffmpeg`) |
74
+ | 依赖 | 兼容矩阵中的DSH、Node.js ≥22(满足宿主要求) | 仅 Node.js ≥22与`sharp`(视频抽帧另需`ffmpeg`) |
75
75
 
76
76
  两条路径读写同一份 Core Task/Artifact 事实:CLI 指向 DSH profile 的 `core-v0` 数据根即可 inspect/export DSH 生成的作品,反之亦然。同一数据根只允许一个写者。
77
77
 
@@ -85,54 +85,38 @@ Iris 0.2.4 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和
85
85
 
86
86
  ## 最快开始
87
87
 
88
- 先用 `dsh --version` 核对宿主版本,并确认 `pnpm` 在 PATH 中。Iris 版本与 DSH 版本独立,按以下组合选择:
88
+ 先用 `dsh --version` 核对宿主版本,并确认 `pnpm` 在PATH中。Iris与DSH的版本号独立;在 [兼容矩阵](docs/DSH_COMPATIBILITY.md) 列出的12个准确版本中均可安装Iris0.2.5。
89
89
 
90
90
  | 你的 DSH | Iris 选择 | 安装来源 |
91
91
  |---|---|---|
92
- | `0.2.0-rc.2` 或 `0.2.1-alpha.4` | `0.2.4` | 固定 npm 版本 |
93
- | `>=0.1.2-rc.1 <0.1.3-0` 或 `0.1.5-rc.1` | 稳定版 `0.1.4` | 固定 npm 版本 |
94
- | 其他版本 | 暂无当前支持声明 | 先核对宿主适配,不能按相邻版本推定兼容 |
92
+ | 矩阵中的0.1.2/0.1.5/0.1.7/0.2线准确版本 | `0.2.5` | 固定npm版本 |
93
+ | 未列入矩阵的版本 | 尚未验收 | 按实际宿主接口另行检查 |
95
94
 
96
- ### 旧 DSH:安装稳定版 0.1.4
97
-
98
- 在上述旧 DSH 范围内,将固定版本加入 Web profile:
99
-
100
- ```bash
101
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4
102
- dsh web
103
- ```
104
-
105
- 需要单独下载 npm 发布包时:
106
-
107
- ```bash
108
- npm pack @mokuyoaxis/dsh-iris@0.1.4
109
- ```
110
-
111
- 命令会在当前目录生成 `.tgz`。只需安装为普通 npm 依赖时可使用 `npm install @mokuyoaxis/dsh-iris@0.1.4`;这不会自动把插件加入 DSH profile。固定 `@0.1.4` 可在 latest 更新后继续取得旧稳定版本,见 [npm pack 文档](https://docs.npmjs.com/cli/v11/commands/npm-pack/)。0.1.4 不包含 0.2.0 的 Core 媒体 CLI,也不包含 DSH rc.2 的后续适配。
112
-
113
- ### DSH rc.2或alpha.4:安装 0.2.4
95
+ ### DSH插件:安装0.2.5
114
96
 
115
97
  安装固定版本到 Web profile:
116
98
 
117
99
  ```bash
118
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4
100
+ dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
119
101
  dsh web
120
102
  ```
121
103
 
122
104
  插件在下一次 DSH 启动时装载。Web UI 默认位于 `http://127.0.0.1:3080`;启动输出带认证参数时请打开完整 URL。更新后需重新加载后端并刷新客户端。
123
105
 
124
- ### 独立 CLI:安装 0.2.4
106
+ ### 独立CLI:安装0.2.5
125
107
 
126
108
  在自己的项目中安装,无需 DSH:
127
109
 
128
110
  ```bash
129
- npm install @mokuyoaxis/dsh-iris@0.2.4
111
+ npm install @mokuyoaxis/dsh-iris@0.2.5
130
112
  npx dsh-iris --help
131
113
  ```
132
114
 
115
+ 需要单独下载时运行`npm pack @mokuyoaxis/dsh-iris@0.2.5`。仍需保留历史Iris0.1.4时可以固定其版本;历史DSH/Node范围见兼容矩阵,0.1.4不包含当前Core媒体CLI及后续新功能。
116
+
133
117
  ### dsh-market 安装时的版本选择
134
118
 
135
- 市场条目应对应完整包名 `@mokuyoaxis/dsh-iris`。安装前同时核对市场显示的Iris版本与本机 `dsh --version`,按 [兼容矩阵](docs/DSH_COMPATIBILITY.md) 选择;旧宿主使用固定 `@0.1.4`。市场目录与npm信息可能有缓存,以实际包的顶层 `engines.dsh`、Node要求及客户端peer为准;市场中可见不代表任意DSH版本兼容。
119
+ 市场条目应对应完整包名 `@mokuyoaxis/dsh-iris`。安装前同时核对市场显示的Iris版本与本机 `dsh --version`,按 [兼容矩阵](docs/DSH_COMPATIBILITY.md) 选择对应发行版。市场目录与npm信息可能有缓存,以实际包的顶层 `engines.dsh`、Node要求及客户端peer为准;市场中可见不代表任意DSH版本兼容。
136
120
 
137
121
  > npm 上无 scope 的 `dsh-iris` 属于另一款插件。安装和更新 Iris Media 时必须保留完整包名 `@mokuyoaxis/dsh-iris`。
138
122
 
@@ -176,7 +160,7 @@ DSH 的 profile 与插件命令由[官方安装说明](https://github.com/deepse
176
160
 
177
161
  ## DeepSeek Harness 适配
178
162
 
179
- dsh-iris仍按DSH原生插件装载。0.2.4服务端注册17个Agent工具,包含图片导入、改图与音乐;使用宿主提供的路由、附件、模型和生命周期能力。Web客户端接入设置页、会话输入区与全局悬浮层,不启动额外服务或监听端口。
163
+ dsh-iris仍按DSH原生插件装载。0.2.5服务端注册17个Agent工具,包含图片导入、改图与音乐;使用宿主提供的路由、附件、模型和生命周期能力。Web客户端接入设置页、会话输入区与全局悬浮层,不启动额外服务或监听端口。
180
164
 
181
165
  上传图片或本地图片可保存为持久作品,继续看图、改图及导出,见 [图片导入](docs/IMAGE_IMPORT.md)。
182
166
 
@@ -188,10 +172,11 @@ dsh-iris仍按DSH原生插件装载。0.2.4服务端注册17个Agent工具,包
188
172
  | `0.2.2` | 仅 `0.2.0-rc.2` | 真实安装服务隔离检查覆盖 15 个工具与 31 项边界;完整浏览器/移动端及真实异步重启验收仍待完成 |
189
173
  | `0.2.3` | 仅 `0.2.0-rc.2` | 增加音乐工具和第三项 Skill;升级后用宿主诊断检查实际装载 |
190
174
  | `0.2.4` | `0.2.0-rc.2` 或 `0.2.1-alpha.4` | 17工具/3项Skill;两版实际SDK、加载器与界面插槽隔离验收,完整浏览器/热更新另验 |
175
+ | `0.2.5` | 0.1.2/0.1.5/0.1.7/0.2线的12个准确版本,见兼容矩阵 | 每版官方SDK隔离检查,包含Music与Qwen工具链;旧profile另通过实际安装包装载 |
191
176
 
192
177
  当前声明与验收范围见 [版本兼容](docs/DSH_COMPATIBILITY.md),早期rc.2修正见 [历史适配记录](docs/DSH_RC2_ADAPTATION.md);npm0.1.4不包含这些后续适配。
193
178
 
194
- Iris 0.2.x 不再声明支持旧 DSH;旧版的历史验收不自动覆盖当前版本。DSH `0.2.0` 正式版及其他 rc 同样未列入支持范围。自动化测试分别检查服务端装载、工具与 Skill 注册、路由、客户端 bundle 和 Slot;其中一层失效时,Doctor 应指出具体边界。
179
+ 0.2.5按宿主实际接口能力适配,按已验证的准确版本声明支持。未列出的版本需另行验收。自动化检查分别覆盖服务端装载、工具与Skill注册、路由及客户端Slot;完整浏览器操作与旧数据升级另行验收。Doctor会指出当前可观察到的具体边界。
195
180
 
196
181
  Core 与 DSH Adapter 正在分离,DSH 继续加载同一个 npm 包,Adapter 把宿主能力映射给 Core。若 DSH 修改 API,修复应限制在 Adapter 和客户端桥接;Core 的任务和产物语义不随宿主版本改变。0.2.0 已提供无 DSH CLI;第二个真实 Host Adapter 完成并验收后再移除名称中的 `dsh` 前缀,届时发布新的 npm 包,见[路线图](docs/ROADMAP.md)。
197
182
 
@@ -2,19 +2,18 @@
2
2
 
3
3
  把下面一段交给负责安装或使用 Iris 的 Agent。版本与发布状态以当前 [README](../README.md) 为准;Iris 和 DSH 的版本号独立。
4
4
 
5
- 本文对应Iris0.2.4。执行安装命令前先核对README的发布状态,再确认实际版本、工具和功能分配;旧宿主仍固定安装0.1.4。
5
+ 下列npm示例对应Iris0.2.5,支持旧宿主的当前功能,准确范围见 [兼容矩阵](DSH_COMPATIBILITY.md)。执行安装命令前先核对发布状态,再确认所选发行包的实际版本、工具和功能分配。
6
6
 
7
7
  ## 中文
8
8
 
9
9
  ```text
10
10
  请根据本仓库 README,帮我安装并使用 Iris(@mokuyoaxis/dsh-iris)。
11
11
  先确认运行环境、目标 DSH profile,并用 dsh --version 核对宿主;Iris 0.2.x 要求 Node.js >=22.0.0(旧 npm 0.1.4 的历史要求为 >=20.10.0):
12
- - DSH 0.2.0-rc.2或0.2.1-alpha.4:固定安装 dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4。
13
- - DSH >=0.1.2-rc.1 <0.1.3-0 或 0.1.5-rc.1:固定安装 dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4;只下载用 npm pack @mokuyoaxis/dsh-iris@0.1.4。
14
- - 其他 DSH 版本:先报告没有支持声明,不自行升级宿主或跳过版本检查。
15
- 没有DSH、希望用CLI时,按docs/HEADLESS_CLI.md使用npm0.2.4;npm0.1.4不含新的Core媒体CLI。
12
+ - DSH在docs/DSH_COMPATIBILITY.md列出的12个准确版本中:固定安装 dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5;只下载用 npm pack @mokuyoaxis/dsh-iris@0.2.5。
13
+ - 未列入所选Iris版本兼容矩阵的DSH:先报告没有支持声明,不自行升级宿主或跳过版本检查。
14
+ 没有DSH、希望用CLI时,按docs/HEADLESS_CLI.md使用npm0.2.5;npm0.1.4不含当前Core媒体CLI。
16
15
  先用--help和Doctor核对实际版本与命令。六类模型功能都需明确分配,空名单停止新调用;DSH默认视觉也须明确加入。图片导入用iris_import_image,改图用iris_edit_image;音乐用iris_generate_music并配置Chat Completions(内嵌音频)协议,见docs/MUSIC.md。
17
- 从 dsh-market 安装也要核对实际包名、版本和兼容范围;市场缓存不代表支持旧宿主,不对旧 DSH 安装 latest。
16
+ 从dsh-market安装也要核对实际包名、版本和兼容范围;缓存的旧版安装信息仍按其历史矩阵判断。
18
17
  若使用其他 profile,把示例中的 web 换成已确认的目标。保留完整 scoped 包名,不把 dsh-iris 当作同一 npm 包。
19
18
  安装后检查 Doctor 和工具可达性,再执行我指定的媒体任务;不要输出 API Key,重启宿主前说明影响。
20
19
  查询、观察和重新取回不等于重新生成;任务已受理或受理未知时,不自行重新提交。音乐入口内部执行本次配置的有限502重试,不再由Agent包外层循环;配乐仅按用户要求加入流程。
@@ -26,12 +25,11 @@
26
25
  ```text
27
26
  Help me install and use Iris (@mokuyoaxis/dsh-iris) according to this repository's README.
28
27
  Check the environment, target DSH profile, and dsh --version first; Iris 0.2.x requires Node.js >=22.0.0 (the published npm 0.1.4 historically requires >=20.10.0):
29
- - DSH 0.2.0-rc.2 or 0.2.1-alpha.4: pin dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4.
30
- - DSH >=0.1.2-rc.1 <0.1.3-0 or 0.1.5-rc.1: pin dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4; download only with npm pack @mokuyoaxis/dsh-iris@0.1.4.
31
- - Other DSH versions: report the missing support claim; do not upgrade the host or bypass its version checks automatically.
32
- For CLI use without DSH, follow docs/HEADLESS_CLI.md using npm 0.2.4; npm 0.1.4 does not include the new Core media CLI. Check the README publication status first.
28
+ - For one of the twelve exact DSH versions in docs/DSH_COMPATIBILITY.md, pin dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5; download only with npm pack @mokuyoaxis/dsh-iris@0.2.5.
29
+ - DSH versions outside the selected Iris version's matrix: report the missing support claim; do not upgrade the host or bypass its version checks automatically.
30
+ For CLI use without DSH, follow docs/HEADLESS_CLI.md using npm0.2.5; npm0.1.4 lacks the current Core media CLI. Check the README publication status first.
33
31
  Check --help, Doctor and the actual installed version. All six model functions require explicit assignments; empty lists stop new calls. Add DSH default vision explicitly when needed. Use iris_import_image for import, iris_edit_image for editing, and iris_generate_music with its configured inline-audio protocol for music.
34
- For dsh-market, check the actual package name, version, and compatibility range too. Cached listings do not establish older-host support; do not install latest on an old DSH host.
32
+ For dsh-market, check the actual package name, version, and compatibility range too. Cached older releases retain their historical compatibility matrices.
35
33
  Replace web with the confirmed profile when needed. Keep the scoped package name; unscoped dsh-iris is a different npm package.
36
34
  Check Doctor and tool availability after installation, then carry out my requested media task. Do not expose API keys; explain the impact before restarting the host.
37
35
  Inspect, observe, and redeliver do not generate again. Do not add an agent retry loop after accepted or unknown acceptance; music handles its configured bounded 502 retries internally. Add music to workflows only when requested.
@@ -1,6 +1,6 @@
1
1
  # Iris 架构与边界
2
2
 
3
- 状态:本文面向 **Iris 0.2.4**。0.2.0建立实例化Core Runtime、Headless CLI及共享Task/Artifact事实;后续加入共享视觉、图片编辑、音乐和交付恢复。0.2.4补图片导入、原生Qwen改图、统一功能分配及DSH双版本声明。插件支持rc.2或alpha.4,Node.js最低22.0.0;旧宿主固定Iris0.1.4,详见 [兼容矩阵](DSH_COMPATIBILITY.md)。Core内部API尚未冻结为公共SDK。
3
+ 状态:本文描述 **Iris0.2.5** 的架构。0.2.0建立实例化Core Runtime、Headless CLI及共享Task/Artifact事实;后续加入共享视觉、图片编辑、音乐和交付恢复。0.2.4补图片导入、原生Qwen改图和统一功能分配;0.2.5按接口能力恢复旧宿主支持。准确版本及历史发行范围见 [兼容矩阵](DSH_COMPATIBILITY.md)。Node.js最低22.0.0;Core内部API尚未冻结为公共SDK。
4
4
 
5
5
  ## 当前形态
6
6
 
@@ -2,35 +2,55 @@
2
2
 
3
3
  Iris与DSH的版本号独立。安装前运行 `dsh --version`,并核对要安装的Iris版本;发布状态见 [README](../README.md)。
4
4
 
5
+ ## Iris 0.2.5
6
+
7
+ 0.2.5恢复旧宿主支持,并覆盖以下12个准确版本。旧宿主使用同一套 Iris Core、Music、图片导入和原生 Qwen 改图功能,无需维护旧版功能分支。
8
+
9
+ | DSH 版本线 | 已验证的准确版本 |
10
+ |---|---|
11
+ | 0.1.2 | `0.1.2-rc.1` |
12
+ | 0.1.5 | `0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.5-rc.3` |
13
+ | 0.1.7 | `0.1.7-rc.1`、`0.1.7-rc.2` |
14
+ | 0.2.0 | `0.2.0-rc.1`、`0.2.0-rc.2` |
15
+ | 0.2.1 | `0.2.1-alpha.1`、`0.2.1-alpha.2`、`0.2.1-alpha.3`、`0.2.1-alpha.4` |
16
+
17
+ 0.1.0/0.1.1及未列出的alpha、rc和正式版本未纳入本轮声明。
18
+
19
+ ## 历史版本
20
+
5
21
  | Iris版本 | 支持的DSH版本 |
6
22
  |---|---|
7
23
  | 0.2.4 | `0.2.0-rc.2` 或 `0.2.1-alpha.4` |
8
24
  | 0.2.0–0.2.3 | `0.2.0-rc.2` |
9
25
  | 0.1.4 | `>=0.1.2-rc.1 <0.1.3-0` 或 `0.1.5-rc.1` |
10
26
 
11
- 0.2.4的范围是两项准确版本,不包含其他alpha、其他rc或未来版本。扩大插件支持不要求现有rc.2用户升级宿主。Iris Core与独立CLI要求Node.js ≥ 22.0.0;DSH插件还须满足所用DSH自身更高的运行要求。
27
+ 0.2.4的历史范围保持两项准确版本。0.2.5按实际接口能力选择桥接,不再按“0.2”版本号启用默认视觉路由;已验证的旧宿主也能精确绑定默认模型、确认图片输入能力并正确处理失败终态。
28
+
29
+ 扩大插件支持不要求现有用户升级DSH。当前Iris Core、CLI和插件要求Node.js ≥ 22.0.0;DSH若要求更高,以宿主为准。保留旧DSH时也需要满足这个Node要求。
12
30
 
13
31
  ## 安装与升级
14
32
 
15
- 在上表支持的宿主中固定安装所需Iris版本,以下为0.2.4命令:
33
+ 在上述12个准确版本的宿主中固定安装0.2.5:
16
34
 
17
35
  ```bash
18
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4
36
+ dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
19
37
  ```
20
38
 
21
39
  使用其他profile时替换 `web`。更新后检查服务端装载、刷新Web客户端,并查看Iris工作台的 [宿主诊断](HOST_DOCTOR.md)。alpha.3及之后的DSH改善了插件更新与热加载,但仍以实际装载结果为准。
22
40
 
23
- 0.2.4另统一了六类功能的明确模型名单。已有分配保持;以前依赖自动模型池的功能需要在升级后明确分配,见 [升级说明](FUNCTION_MODEL_ASSIGNMENTS.md)。
41
+ 0.2.4起统一六类功能的明确模型名单。已有分配保持;以前依赖自动模型池的功能需要在升级后明确分配,见 [升级说明](FUNCTION_MODEL_ASSIGNMENTS.md)。本次宿主适配不迁移旧作品、任务或个人配置;从Iris0.1.4整体升级的旧数据流程仍需单独验收。
24
42
 
25
43
  ## 兼容声明如何生效
26
44
 
27
- 0.2.4的 `package.json` 顶层 `engines.dsh` 与五项可选客户端peer统一为 `0.2.0-rc.2 || 0.2.1-alpha.4`;现有嵌套 `dsh.engines.dsh` 保持同值。Doctor按相同版本集合诊断。Iris不把DSH客户端包安装为生产依赖。
45
+ 0.2.5的 `package.json` 顶层 `engines.dsh`、嵌套 `dsh.engines.dsh` 与五项可选客户端peer列出12个准确版本;Doctor按同一集合诊断。各版本的客户端SDK分别验收;也覆盖现有根包0.1.5-rc.1/关键组件0.1.5-rc.2的混合安装。宿主版本与SDK版本需要分别核对,不能只根据根包字符串推定。Iris不把DSH客户端包安装为生产依赖。
28
46
 
29
- rc.2的加载器检查DSH相关peer;alpha.4优先读取顶层 `engines.dsh`,未声明时再检查peer。只改嵌套字段不能扩大新加载器的支持范围。另外,npm默认的预览版匹配与DSH的匹配选项有差别,`^0.2.0-rc.2` 不能代替这里明确并列的两版范围。
47
+ rc.2的加载器检查DSH相关peer;alpha.4优先读取顶层 `engines.dsh`,未声明时再检查peer。只改嵌套字段不能扩大新加载器的支持范围。另外,npm默认的预览版匹配与DSH的匹配选项有差别,`^0.2.0-rc.2` 不能代替按已验收准确版本逐项并列的范围。
30
48
 
31
49
  ## 验证范围
32
50
 
33
- 宿主验收使用各版官方发布的Cordis、LLM、ToolRuntime、附件、Skill、WebServer和SlotRegistry,覆盖模型路由、错误终态、视觉/OCR/定位/摘要、工具交付、作品管理及四个Iris界面插槽。模型事件由本地fixture提供,禁止外部模型请求。
51
+ 宿主验收使用各版官方发布的Cordis、LLM、ToolRuntime、附件、Skill、WebServer和SlotRegistry,覆盖模型路由、错误终态、视觉/OCR/定位/摘要、工具交付、作品管理及四个Iris界面插槽。Music和原生Qwen改图通过实际工具调度,使用离线响应核对持久产物、图片附件及原图关系。模型事件由本地fixture提供,禁止外部模型请求;音频夹具只验证字节交付,不代表试听质量。
52
+
53
+ 旧Loader没有现代兼容检查helper时,脚本改用其原生Profile/Boot装载;较新Loader检查最终manifest。临时SDK安装只用于验收配套服务,不等于启动了完整DSH应用。
34
54
 
35
55
  维护者可在本机已有目标SDK时运行:
36
56
 
@@ -38,6 +58,12 @@ rc.2的加载器检查DSH相关peer;alpha.4优先读取顶层 `engines.dsh`,
38
58
  node scripts/verify-dsh-host.mjs --dsh-root /absolute/path/to/@deepseek-ai/dsh
39
59
  ```
40
60
 
41
- 脚本在独立临时目录使用隔离DSH_HOME,不操作日常profile。Node客户端夹具另需同版本的官方 `@deepseek-ai/dsh-client-ui-slots` SDK;实际Web前端已内嵌此模块。脚本不会自动下载依赖或升级宿主。
61
+ 脚本在独立临时目录使用隔离DSH_HOME,不操作日常profile。Node客户端夹具另需与目标renderer同版本的官方 `@deepseek-ai/dsh-client-ui-slots` SDK;实际Web前端已内嵌此模块。若宿主安装树未提供独立包,可在仓库外准备官方SDK后显式指定:
62
+
63
+ ```bash
64
+ node scripts/verify-dsh-host.mjs --dsh-root /absolute/path/to/@deepseek-ai/dsh --client-sdk-root /absolute/path/to/sdk-fixture
65
+ ```
66
+
67
+ 脚本不会自动下载依赖或升级宿主。仅准备SDK且未安装DSH的原生模块时,旧Loader的Node接口检查可使用 `node --expose-internals`;常规DSH安装使用宿主自带的模块。
42
68
 
43
69
  React/DOM和会话数据部分使用fixture,因此这项验收不代替完整浏览器操作、草稿写回、真机触摸或插件热更新验收。TLS和带前缀反代也不由loopback HTTP检查推定通过。早期rc.2适配的历史原因见 [rc.2适配记录](DSH_RC2_ADAPTATION.md)。
@@ -1,6 +1,6 @@
1
1
  # DSH 0.2.0-rc.2 适配
2
2
 
3
- 本文保留Iris0.2.0/0.2.1适配rc.2时的背景与验证记录。当前0.2.4兼容rc.2及alpha.4,声明规则、使用步骤和验证边界见 [DSH版本兼容](DSH_COMPATIBILITY.md)。以下准确rc.2限制属于当时发行范围。
3
+ 本文保留Iris0.2.0/0.2.1适配rc.2时的背景与验证记录。0.2.4兼容rc.2及alpha.4,0.2.5恢复了部分旧宿主支持。声明规则、使用步骤和验证边界见 [DSH版本兼容](DSH_COMPATIBILITY.md)。以下准确rc.2限制属于当时发行范围。
4
4
 
5
5
  本适配随 Iris `0.2.0` 发布;npm 0.1.4 包不包含这些后续修正。Iris 0.2.0 要求 Node.js `>=22.0.0`,DSH engines、五项客户端 peers 与 Host Doctor 仅放行准确版本 `0.2.0-rc.2`,不再沿用旧版支持窗口,也不推定其他 0.2 预览版或正式版兼容。
6
6
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  `run music` 支持音乐生成与模型级协议配置,见 [音乐生成](MUSIC.md)。0.2.4的六类功能均采用明确分配名单,升级差异见 [功能模型分配](FUNCTION_MODEL_ASSIGNMENTS.md)。
4
4
 
5
- 本文面向Iris0.2.4,涵盖无DSH的本地处理、媒体生成、视觉分析、配置和任务管理。媒体结果保存为Core Artifact,可在后续进程中检查、分析或导出;纯视觉不自动创建产物。Core内部接口与Artifact v0尚未冻结为公共SDK。
5
+ 本文面向Iris0.2.5,涵盖无DSH的本地处理、媒体生成、视觉分析、配置和任务管理。媒体结果保存为Core Artifact,可在后续进程中检查、分析或导出;纯视觉不自动创建产物。Core内部接口与Artifact v0尚未冻结为公共SDK。
6
6
 
7
- 需要Node.js ≥ 22.0.0。按 [README](../README.md) 核对发布状态,安装 `npm install @mokuyoaxis/dsh-iris@0.2.4` 后运行 `npx dsh-iris --help`。源码入口为 `node bin/dsh-iris.js ...`;本地tarball也可用于安装。
7
+ 需要Node.js ≥ 22.0.0。按 [README](../README.md) 核对发布状态,安装 `npm install @mokuyoaxis/dsh-iris@0.2.5` 后运行 `npx dsh-iris --help`。源码入口为 `node bin/dsh-iris.js ...`;本地tarball也可用于安装。
8
8
 
9
9
  0.2.1 提供 `vision look / locate / ocr / summarize`。文件输入的纯视觉不需要数据根,支持显式模型覆盖、JSON/文本、结果和拼图文件;图片/帧 Artifact ID 输入需显式数据根,以 reader 读取既有 Core 产物,只有主动音轨转写才创建 Core Task/Artifact。完整命令与输出规则见 [独立视觉 CLI](VISION_CLI.md);S2V、HTML、配置、等待及批量管理见 [CLI 管理](CLI_MANAGEMENT.md)。
10
10
 
@@ -92,6 +92,7 @@ Iris 继续作为普通 DSH/Cordis 插件装载:`cordis.patch.yml` 只把 npm
92
92
  - 已发布 Iris `0.1.4` 在 DSH `0.1.2-rc.1` 与 `0.1.5-rc.1` 上有历史宿主验证记录,不继承为当前版本的支持声明。
93
93
  - Iris `0.2.1` 只声明 DSH `0.2.0-rc.2`,已通过真实安装服务隔离验收,保留附件完整引用、绑定明确图片模型路由并适配客户端主视图选择;边界与尚未完成的浏览器实机检查见 [rc.2 适配说明](DSH_RC2_ADAPTATION.md)。
94
94
  - Iris0.2.4扩大为rc.2与alpha.4两项准确版本,顶层engines.dsh、嵌套字段、五项可选peer及Doctor同步;Core/Provider契约保持。当前范围和服务/浏览器验证区别见 [DSH版本兼容](DSH_COMPATIBILITY.md)。
95
+ - Iris0.2.5在单一Adapter中按默认选择与模型元数据接口启用精确视觉路由,恢复旧宿主的当前功能;12个准确版本经官方SDK隔离验收后进入声明。Core/Provider和数据格式保持,具体范围仍以兼容矩阵为准。
95
96
 
96
97
  Local Host 不模拟 Browser、会话或附件。测试需要这些能力时必须显式注入,缺失行为也属于契约。
97
98
 
@@ -31,7 +31,7 @@ Host Doctor 是 Iris 在运行中的 DSH 实例内提供的兼容性诊断。它
31
31
 
32
32
  如果刚安装、热更新或强制刷新,先等 Web 页面完成装载,再刷新诊断。未收到客户端握手时,Host Doctor 只报告警告,不会把“服务端已装载”冒充成“UI 已装载”。
33
33
 
34
- Iris0.2.4支持DSH `0.2.0-rc.2` 或 `0.2.1-alpha.4`,Doctor与package顶层/嵌套DSH engines及客户端peer保持同一范围。0.2.0–0.2.3仅支持rc.2。旧DSH0.1.2线或0.1.5-rc.1返回版本错误,并提示固定Iris0.1.4;无DSH的CLI/离线诊断不受宿主版本限制。见 [兼容矩阵](DSH_COMPATIBILITY.md)。
34
+ Iris0.2.5的Doctor与package顶层/嵌套DSH engines及客户端peer统一覆盖12个已验证准确版本,包含0.1.2-rc.1和0.1.5系列;旧宿主不再被统一引导至Iris0.1.4。Iris0.2.4的历史范围仍为 `0.2.0-rc.2` 或 `0.2.1-alpha.4`。具体范围及SDK验收限制见 [兼容矩阵](DSH_COMPATIBILITY.md)。无DSH的CLI/离线诊断不受宿主版本限制。
35
35
 
36
36
  ## 运行时证据
37
37
 
package/docs/ROADMAP.md CHANGED
@@ -4,16 +4,18 @@ Iris 的方向是本地优先、Agent 可调用的多模态创作工作台。用
4
4
 
5
5
  ## 当前状态
6
6
 
7
- 本文对应 **Iris0.2.4**,发布状态见 [README](../README.md)。包名为 `@mokuyoaxis/dsh-iris`,同时提供DSH插件与独立CLI,详见 [0.2.4发布说明](releases/0.2.4.md)。
7
+ 本文对应 **Iris0.2.5**,发布状态见 [README](../README.md)。包名为 `@mokuyoaxis/dsh-iris`,同时提供DSH插件与独立CLI;本版恢复旧宿主支持,详见 [0.2.5发布说明](releases/0.2.5.md)。
8
8
 
9
9
  - 图片生成、Artifact ID 看图/OCR/定位和聊天改图,支持按模型配置图片协议。
10
- - 持久图片导入与原生Qwen改图,六类功能统一严格分配及显式宿主视觉;支持DSH rc.2和alpha.4。见 [0.2.4发布说明](releases/0.2.4.md)。
10
+ - 持久图片导入与原生Qwen改图,六类功能统一严格分配及显式宿主视觉,见 [0.2.4发布说明](releases/0.2.4.md)。0.2.5将DSH范围扩为12个准确版本。
11
11
  - 视频、S2V、TTS、转写与音乐生成,共用任务、音频/视频作品和导出入口;音乐使用明确分配名单。
12
12
  - 三项 Agent Skills 分别指导单步操作、多步骤创作和界面验收;配乐与检查按用户目标加入。
13
13
  - 提示词的忠实整理、明确改写、可选建议与预览;完整同步媒体结果缓存后的交付恢复。
14
14
  - 工作台全媒体筛选、分页、跨页选择和下载,CLI 的配置、查询与可恢复维护。
15
15
 
16
- DSH与CLI共用Task和Artifact,同一数据根只允许一个写者。纯视觉和提示词预览不自动创建媒体任务;Core与Model Port仍是内部契约。Node.js最低22.0.0,Iris0.2.4支持DSH rc.2或alpha.4,旧宿主固定Iris0.1.4,见 [兼容矩阵](DSH_COMPATIBILITY.md)。
16
+ DSH与CLI共用Task和Artifact,同一数据根只允许一个写者。纯视觉和提示词预览不自动创建媒体任务;Core与Model Port仍是内部契约。Node.js最低22.0.0。0.2.5恢复旧宿主的当前功能,并覆盖12个准确DSH版本;具体版本和历史范围见 [兼容矩阵](DSH_COMPATIBILITY.md)。
17
+
18
+ 宿主兼容继续集中在Adapter与客户端桥接。后续DSH更新优先检查实际API、工具/附件交付和输入区契约,复用同一验收入口扩充版本矩阵,避免让旧用户长期停留在缺少新功能的Iris分支。
17
19
 
18
20
  ## 近期优先:真实使用验收
19
21
 
@@ -0,0 +1,33 @@
1
+ # Iris 0.2.5:旧宿主继续使用当前功能
2
+
3
+ 0.2.5恢复当前Iris在旧DSH上的支持,将准确版本范围从2个扩展至12个。已验证的旧宿主可使用同一套Music、图片导入、原生Qwen改图和其他现有功能,无需停留在Iris0.1.4。
4
+
5
+ ## DSH版本范围
6
+
7
+ - `0.1.2-rc.1`
8
+ - `0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.5-rc.3`
9
+ - `0.1.7-rc.1`、`0.1.7-rc.2`
10
+ - `0.2.0-rc.1`、`0.2.0-rc.2`
11
+ - `0.2.1-alpha.1`、`0.2.1-alpha.2`、`0.2.1-alpha.3`、`0.2.1-alpha.4`
12
+
13
+ engines、可选客户端peer和Doctor同步使用上述范围。保留旧DSH时仍需Node.js ≥22.0.0;宿主自身要求更高时以宿主为准。未列出的版本需单独验收。见 [兼容矩阵](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.5/docs/DSH_COMPATIBILITY.md)。
14
+
15
+ ## 视觉桥接修正
16
+
17
+ 默认视觉按宿主实际接口能力启用精确模型路由,修复旧SDK已有相同接口却进入历史路径、可能返回空结果或忽略失败终态的问题。旧版同样确认图片输入能力并处理取消;Core、Provider和数据格式保持,未增加生产依赖。
18
+
19
+ ## 安装与升级
20
+
21
+ ```bash
22
+ dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
23
+ ```
24
+
25
+ 将`web`替换为实际profile,更新后重载后端并刷新页面,用Iris宿主诊断确认17工具、3项Skill和客户端版本。独立CLI可使用`npm install @mokuyoaxis/dsh-iris@0.2.5`。
26
+
27
+ 从较早版本升级时,六类模型功能都需明确分配;DSH默认视觉也需加入视觉名单。见 [功能分配与升级说明](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.5/docs/FUNCTION_MODEL_ASSIGNMENTS.md)。本版不迁移旧任务、作品或个人配置。
28
+
29
+ ## 验证范围
30
+
31
+ 12个准确版本及现有根0.1.5-rc.1/组件rc.2混合安装,共13组官方SDK组合通过工具、附件、模型路由、HTTP和界面插槽隔离检查;旧Profile/Boot另通过实际tarball安装和装载。
32
+
33
+ 模型响应使用离线夹具,Music/Qwen检查验证协议与作品交付。React/DOM和部分会话数据使用fixture;完整浏览器/移动端交互、草稿写回、热更新和从Iris0.1.4个人数据整体升级仍需实际使用验证。见 [用户指南](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.5/user_guide.md)。
package/lib/client.js CHANGED
@@ -21,7 +21,7 @@ window.__ModuleLoader__.load({ id: '@mokuyoaxis/dsh-iris', factory: (require) =>
21
21
  var exports = module.exports;
22
22
 
23
23
  var React = require('react');
24
- var IRIS_CLIENT_VERSION = '0.2.4';
24
+ var IRIS_CLIENT_VERSION = '0.2.5';
25
25
  var HOST_CLIENT_PROTOCOL_VERSION = 0;
26
26
  var reportedSeats = [];
27
27
 
package/lib/doctor.js CHANGED
@@ -378,7 +378,7 @@ export function hostDoctor(host, evidence = {}, options = {}) {
378
378
  checks.push(result('dsh-version', 'ok', 'DSH ' + snapshot.host.version + ' 位于已验证支持范围'));
379
379
  } else {
380
380
  checks.push(result('dsh-version', 'error', 'DSH ' + snapshot.host.version + ' 超出已验证支持范围',
381
- '当前支持 DSH ' + SUPPORTED_DSH_VERSIONS.join('、') + ';旧 DSH 0.1.2 线或 0.1.5-rc.1 使用 Iris @mokuyoaxis/dsh-iris@0.1.4。其他版本须另行验收。'));
381
+ '当前支持 DSH ' + SUPPORTED_DSH_VERSIONS.join('、') + ';请核对所装 Iris 的兼容矩阵及 Node 要求,其他版本须另行验收。'));
382
382
  }
383
383
  }
384
384
 
@@ -1,7 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  /** 已完成宿主接口验收的版本;manifest/Doctor/验收脚本共用同一边界。 */
4
- export const SUPPORTED_DSH_VERSIONS = Object.freeze(['0.2.0-rc.2', '0.2.1-alpha.4']);
4
+ export const SUPPORTED_DSH_VERSIONS = Object.freeze([
5
+ '0.1.2-rc.1',
6
+ '0.1.5-rc.1', '0.1.5-rc.2', '0.1.5-rc.3',
7
+ '0.1.7-rc.1', '0.1.7-rc.2',
8
+ '0.2.0-rc.1', '0.2.0-rc.2',
9
+ '0.2.1-alpha.1', '0.2.1-alpha.2', '0.2.1-alpha.3', '0.2.1-alpha.4'
10
+ ]);
5
11
  export const DSH_SUPPORT_RANGE = SUPPORTED_DSH_VERSIONS.join(' || ');
6
12
 
7
13
  export function isSupportedDshVersion(value) {
@@ -93,37 +93,30 @@ function visionRouteError(message) {
93
93
  return Object.assign(new Error(message), { code: 'IRIS_HOST_CAPABILITY_INCOMPATIBLE' });
94
94
  }
95
95
 
96
- function dshVisionPort(llm, { defaults, requiresRoute }) {
96
+ function dshVisionPort(llm, defaults) {
97
97
  return Object.freeze({
98
98
  id: 'dsh-global',
99
99
  model: '全局视觉模型',
100
100
  async analyze({ question, ref, signal }) {
101
- let route = {};
102
- if (requiresRoute) {
103
- // rc.2 路由检查前就停止取消请求;旧桥接继续由宿主处理 signal,
104
- // 其 fallback 语义待共享调用控制迁移时统一。
105
- if (signal?.aborted) throw signal.reason instanceof Error ? signal.reason : new Error('已取消');
106
- const selection = defaults.currentSelection();
107
- if (typeof selection?.provider !== 'string' || !selection.provider.trim()
108
- || typeof selection?.model !== 'string' || !selection.model.trim()) {
109
- throw visionRouteError('DSH 默认模型没有明确路由;请在 Iris 配置视觉模型');
110
- }
111
- // 默认文本选择只有明确声明 image 输入时才可成为视觉候选。
112
- const { provider, model } = selection;
113
- const info = await llm.resolveModelInfo(provider, model, signal);
114
- if (signal?.aborted) throw signal.reason instanceof Error ? signal.reason : new Error('已取消');
115
- if (info?.provider !== provider || info?.id !== model || !Array.isArray(info.inputModalities)
116
- || !info.inputModalities.includes('image')) {
117
- throw visionRouteError('DSH 默认模型未确认支持图片;请在 Iris 配置视觉模型或选择已声明图片输入的宿主模型');
118
- }
119
- route = { provider, model };
101
+ if (signal?.aborted) throw signal.reason instanceof Error ? signal.reason : new Error('已取消');
102
+ const selection = defaults.currentSelection();
103
+ if (typeof selection?.provider !== 'string' || !selection.provider.trim()
104
+ || typeof selection?.model !== 'string' || !selection.model.trim()) {
105
+ throw visionRouteError('DSH 默认模型没有明确路由;请在 Iris 配置视觉模型');
106
+ }
107
+ // 默认文本选择只有明确声明 image 输入时才可成为视觉候选。
108
+ const { provider, model } = selection;
109
+ const info = await llm.resolveModelInfo(provider, model, signal);
110
+ if (signal?.aborted) throw signal.reason instanceof Error ? signal.reason : new Error('已取消');
111
+ if (info?.provider !== provider || info?.id !== model || !Array.isArray(info.inputModalities)
112
+ || !info.inputModalities.includes('image')) {
113
+ throw visionRouteError('DSH 默认模型未确认支持图片;请在 Iris 配置视觉模型或选择已声明图片输入的宿主模型');
120
114
  }
121
115
  const chunks = [];
122
116
  for await (const chunk of llm.stream({
123
117
  sessionId: undefined,
124
- provider: undefined,
125
- model: undefined,
126
- ...route,
118
+ provider,
119
+ model,
127
120
  signal,
128
121
  messages: [{
129
122
  role: 'user',
@@ -134,8 +127,8 @@ function dshVisionPort(llm, { defaults, requiresRoute }) {
134
127
  }]
135
128
  })) {
136
129
  if (chunk?.type === 'error') throw visionRouteError('DSH 视觉调用失败;请检查宿主模型状态');
137
- // rc.2 的 Runtime 把 Adapter 异常转换为 finish,而不是单独的 error 事件。
138
- if (requiresRoute && chunk?.type === 'finish') {
130
+ // Runtime 也会把 Adapter 异常转换为 finish,不能接受失败前的部分文本。
131
+ if (chunk?.type === 'finish') {
139
132
  if (chunk.reason?.kind === 'error') throw visionRouteError('DSH 视觉调用失败;请检查宿主模型状态');
140
133
  if (chunk.reason?.kind === 'aborted') throw visionRouteError('DSH 视觉调用已取消');
141
134
  }
@@ -219,12 +212,12 @@ export function createDshHostAdapter(ctx, { version = detectDshVersion() } = {})
219
212
  ? () => defaults.currentSelection()
220
213
  : () => null
221
214
  });
222
- const requiresRoute = /^0\.2\./.test(version);
223
- if (!requiresRoute || defaults && typeof defaults.currentSelection === 'function'
215
+ // 旧 SDK 同样提供精确路由;按接口探测,避免用宿主版本号误选历史路径。
216
+ if (defaults && typeof defaults.currentSelection === 'function'
224
217
  && typeof llm.resolveModelInfo === 'function') {
225
- ports.visionModel = dshVisionPort(llm, { defaults, requiresRoute });
218
+ ports.visionModel = dshVisionPort(llm, defaults);
226
219
  } else unavailable.visionModel = {
227
- kind: 'unavailable', reason: 'DSH 0.2 视觉桥接需要默认模型选择和精确图片能力元数据'
220
+ kind: 'unavailable', reason: 'DSH 视觉桥接需要默认模型选择和精确图片能力元数据'
228
221
  };
229
222
  } else {
230
223
  unavailable.textModel = unavailableFor(llm, 'DSH llm 需要 stream');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mokuyoaxis/dsh-iris",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "Multi-provider image, video, music, and speech generation, transcription, visual understanding, and prompt optimization with an integrated Iris workbench for DeepSeek Harness.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -34,7 +34,7 @@
34
34
  ],
35
35
  "dsh": {
36
36
  "engines": {
37
- "dsh": "0.2.0-rc.2 || 0.2.1-alpha.4"
37
+ "dsh": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4"
38
38
  },
39
39
  "bundle": {
40
40
  "patch": "./cordis.patch.yml"
@@ -66,7 +66,7 @@
66
66
  "license": "MIT",
67
67
  "engines": {
68
68
  "node": ">=22.0.0",
69
- "dsh": "0.2.0-rc.2 || 0.2.1-alpha.4"
69
+ "dsh": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4"
70
70
  },
71
71
  "scripts": {
72
72
  "test": "node scripts/test.mjs",
@@ -74,11 +74,11 @@
74
74
  "prepublishOnly": "npm test"
75
75
  },
76
76
  "peerDependencies": {
77
- "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2 || 0.2.1-alpha.4",
78
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2 || 0.2.1-alpha.4",
79
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2 || 0.2.1-alpha.4",
80
- "@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.2 || 0.2.1-alpha.4",
81
- "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2 || 0.2.1-alpha.4"
77
+ "@deepseek-ai/dsh-client-locale": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4",
78
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4",
79
+ "@deepseek-ai/dsh-client-ui-renderer": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4",
80
+ "@deepseek-ai/dsh-client-ui-session": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4",
81
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.5-rc.3 || 0.1.7-rc.1 || 0.1.7-rc.2 || 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-alpha.1 || 0.2.1-alpha.2 || 0.2.1-alpha.3 || 0.2.1-alpha.4"
82
82
  },
83
83
  "peerDependenciesMeta": {
84
84
  "@deepseek-ai/dsh-client-locale": {
package/user_guide.md CHANGED
@@ -1,40 +1,33 @@
1
1
  # dsh-iris 用户指南
2
2
 
3
- 本指南对应Iris 0.2.4。发布状态见 [README](README.md),升级范围见 [CHANGELOG](CHANGELOG.md) 和 [发布说明](docs/releases/0.2.4.md)。
3
+ 本指南对应Iris0.2.5,包含旧DSH的当前功能支持。发布状态见 [README](README.md),升级范围见 [CHANGELOG](CHANGELOG.md) 和 [发布说明](docs/releases/0.2.5.md)。
4
4
 
5
5
  功能来自明确标签、旧能力字段绑定或供应商能力元数据,账号和名称不会自动赋能。0.2.4还要求把模型明确加入对应功能名单;空名单停止新调用。已有配置保留,详见 [升级说明](docs/FUNCTION_MODEL_ASSIGNMENTS.md)。
6
6
 
7
7
  ## 安装
8
8
 
9
- 先运行 `dsh --version`。Iris 0.2.4支持DSH `0.2.0-rc.2` 或 `0.2.1-alpha.4`;Iris0.2.0–0.2.3仅支持rc.2。旧DSH `>=0.1.2-rc.1 <0.1.3-0` 或 `0.1.5-rc.1` 固定使用Iris0.1.4,见 [兼容矩阵](docs/DSH_COMPATIBILITY.md)。还需要PATH中的pnpm及至少一个所需功能的供应商。Iris最低Node.js为22.0.0,宿主要求更高时以宿主为准;旧npm0.1.4的历史要求为20.10.0。
9
+ 先运行`dsh --version`。Iris0.2.5覆盖12个准确DSH版本,包含0.1.2-rc.1、0.1.5、0.1.7及0.2线的已验证版本,详见 [兼容矩阵](docs/DSH_COMPATIBILITY.md)。还需要PATH中的pnpm及至少一个所需功能的供应商。当前Iris最低Node.js为22.0.0,即使保留旧DSH也需满足;宿主要求更高时以宿主为准。
10
10
 
11
- 在上述旧 DSH 范围内,从 npm 安装固定稳定版到 Web profile:
11
+ 在矩阵所列宿主中,将固定版本加入Web profile:
12
12
 
13
13
  ```bash
14
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4
14
+ dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
15
15
  dsh web
16
16
  ```
17
17
 
18
18
  npm 上无 scope 的 `dsh-iris` 是另一款插件;安装或更新 Iris Media 时必须使用完整 scoped 包名。
19
19
 
20
- 只下载旧稳定包可运行 `npm pack @mokuyoaxis/dsh-iris@0.1.4`,安装为普通npm依赖可运行 `npm install @mokuyoaxis/dsh-iris@0.1.4`;后者不会自动加入DSH profile。0.1.4不包含新的Core媒体CLI。
21
-
22
- 在DSH rc.2或alpha.4上,固定安装0.2.4:
23
-
24
- ```bash
25
- dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.4
26
- dsh web
27
- ```
20
+ 只下载包可运行`npm pack @mokuyoaxis/dsh-iris@0.2.5`;普通`npm install`不会自动加入DSH profile。仍需保留历史Iris0.1.4时可以固定其版本,历史DSH/Node要求见兼容矩阵;0.1.4不包含当前Core媒体CLI与后续新功能。
28
21
 
29
22
  浏览器默认打开 `http://127.0.0.1:3080`。插件安装后只会在下一次 DSH 启动时装载;如果 DSH 已经运行,请先停止再启动。启动输出包含一次性认证参数时,必须完整打开该 URL,不能只输入裸地址。
30
23
 
31
24
  ### 独立 CLI
32
25
 
33
- 无需DSH,在自己的项目安装 `npm install @mokuyoaxis/dsh-iris@0.2.4`,通过 `npx dsh-iris --help` 查看入口。发布状态见README,完整说明见 [Headless CLI](docs/HEADLESS_CLI.md) 和 [视觉CLI](docs/VISION_CLI.md)。
26
+ 无需DSH,在自己的项目安装 `npm install @mokuyoaxis/dsh-iris@0.2.5`,通过 `npx dsh-iris --help` 查看入口。发布状态见README,完整说明见 [Headless CLI](docs/HEADLESS_CLI.md) 和 [视觉CLI](docs/VISION_CLI.md)。
34
27
 
35
- 其他 DSH 版本,包括 `0.2.0` 正式版与其他 rc,须另行验收。让 Agent 协助安装时,可使用[简要 Prompt](docs/AGENT_QUICKSTART.md)。
28
+ 未列入对应Iris版本兼容矩阵的DSH版本须另行验收。让Agent协助安装时,可使用 [简要Prompt](docs/AGENT_QUICKSTART.md)。
36
29
 
37
- 通过 dsh-market 安装时也要核对显示的 Iris 版本、完整 scoped 包名和 DSH 支持范围。市场可能缓存 npm 信息;旧宿主仍按固定 `@0.1.4` 命令安装,不直接跟随 latest。
30
+ 通过dsh-market安装时也要核对显示的Iris版本、完整scoped包名和对应发行版的DSH支持范围。市场可能缓存npm信息;0.2.4及更早发行版仍按各自历史范围安装。
38
31
 
39
32
  可以在启动前检查组合配置:
40
33
 
@@ -387,7 +380,7 @@ npx @mokuyoaxis/dsh-iris doctor --json
387
380
 
388
381
  已安装包也可以直接运行 `dsh-iris doctor`。退出码为 `0`(正常)、`1`(警告)和 `2`(硬错误)。Doctor 会执行一个随后立即删除的本地写入探针,并检查配置、任务、能力分配、临时文件和产物引用;输出不含完整 API Key。离线模式无法检查 DSH 工具/客户端是否已经装载,也不会用付费请求验证 Provider。
389
382
 
390
- **0.2.0** 另提供 `doctor --data-root <绝对路径> --json`:只读盘点指定 Core 数据根的 Task、Artifact、Index 和租约,不执行上述写入探针,也不自动修复。`providers list` 与 `capabilities list` 可用 `--provider-config <私有配置绝对路径>` 只读查看脱敏供应商摘要和按配置排序的候选链;它们不代表远端能力已实测。异常退出留下租约时,先用显式 Doctor 查看 owner,再按 [Headless CLI 的恢复步骤](docs/HEADLESS_CLI.md#异常退出后的写者租约)人工确认并运行 `runtime recover`,不要手动删除租约。安装 Iris 后使用 `dsh-iris` 命令;临时运行可用 `npx --package @mokuyoaxis/dsh-iris@0.2.4 dsh-iris ...`。旧版 0.1.4 不包含这些 Core 命令。
383
+ **0.2.0** 另提供 `doctor --data-root <绝对路径> --json`:只读盘点指定 Core 数据根的 Task、Artifact、Index 和租约,不执行上述写入探针,也不自动修复。`providers list` 与 `capabilities list` 可用 `--provider-config <私有配置绝对路径>` 只读查看脱敏供应商摘要和按配置排序的候选链;它们不代表远端能力已实测。异常退出留下租约时,先用显式 Doctor 查看 owner,再按 [Headless CLI 的恢复步骤](docs/HEADLESS_CLI.md#异常退出后的写者租约)人工确认并运行 `runtime recover`,不要手动删除租约。安装 Iris 后使用 `dsh-iris` 命令;临时运行可用 `npx --package @mokuyoaxis/dsh-iris@0.2.5 dsh-iris ...`。旧版 0.1.4 不包含这些 Core 命令。
391
384
 
392
385
  ## Host Doctor
393
386