@mokuyoaxis/dsh-iris 0.2.3 → 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/.dsh/skills/iris-compose-media/references/workflows.md +1 -1
- package/.dsh/skills/iris-use/SKILL.md +2 -1
- package/.dsh/skills/iris-use/references/media-contract.md +12 -2
- package/CHANGELOG.md +27 -1
- package/README.en.md +34 -44
- package/README.md +34 -44
- package/bin/dsh-iris.js +8 -0
- package/docs/AGENT_QUICKSTART.md +11 -13
- package/docs/ARCHITECTURE.md +3 -1
- package/docs/CLI_MANAGEMENT.md +11 -3
- package/docs/DSH_COMPATIBILITY.md +69 -0
- package/docs/DSH_RC2_ADAPTATION.md +4 -2
- package/docs/FUNCTION_MODEL_ASSIGNMENTS.md +63 -0
- package/docs/HEADLESS_CLI.md +10 -8
- package/docs/HOST_ADAPTER_CONTRACT.md +11 -7
- package/docs/HOST_DOCTOR.md +5 -3
- package/docs/IMAGE_IMPORT.md +49 -0
- package/docs/ROADMAP.md +6 -2
- package/docs/VISION_CLI.md +3 -3
- package/docs/VISION_MODEL.md +1 -1
- package/docs/WORKBENCH_ARTIFACTS.md +4 -2
- package/docs/releases/0.2.4.md +27 -0
- package/docs/releases/0.2.5.md +33 -0
- package/lib/actions.js +32 -12
- package/lib/adapters.js +5 -2
- package/lib/client.js +28 -29
- package/lib/command-service.js +16 -1
- package/lib/config.js +16 -22
- package/lib/doctor.js +4 -10
- package/lib/dsh-compatibility.js +16 -0
- package/lib/dsh-core-adapter.js +7 -1
- package/lib/dsh-host-adapter.js +22 -29
- package/lib/host-runtime.js +1 -0
- package/lib/image-edit-input.js +7 -5
- package/lib/image-import.js +61 -0
- package/lib/index.js +39 -15
- package/lib/models.js +9 -3
- package/lib/ocr-model-routing.js +1 -0
- package/lib/provider-adapters.js +11 -2
- package/lib/provider-catalog.js +6 -8
- package/lib/provider-config-service.js +5 -5
- package/lib/provider-protocol.js +6 -0
- package/lib/vision-model-routing.js +22 -8
- package/package.json +9 -8
- package/user_guide.md +27 -26
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 图片创作与版本修改
|
|
6
6
|
|
|
7
|
-
已有Core原图并明确要求修改时,直接用 `iris_edit_image(source_artifact_id, prompt)`。写清改变和保留的内容;当前仅支持单张Core
|
|
7
|
+
已有Core原图并明确要求修改时,直接用 `iris_edit_image(source_artifact_id, prompt)`。写清改变和保留的内容;当前仅支持单张Core静态图片输入。源图只有附件或路径时,先用实际可见的 `iris_import_image` 保存为Core作品,再把返回ID传给改图。旧版未装载导入工具时说明缺口,不把附件ID当作Core ID,也不重新生成原图替代导入。
|
|
8
8
|
|
|
9
9
|
需要理解参考素材后再创作时,使用 `iris_look_at_image` 或 `iris_relook_attachment`,提取与目标有关的主体、构图、文字和风格,再调用 `iris_draw_image`。保留用户给出的准确文字;生成后的自述可以提供线索,不需要默认再做一次相同的全图描述。
|
|
10
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: iris-use
|
|
3
|
-
description: "Use dsh-iris for a single media operation or an existing task: image creation/editing, vision/OCR, video, speech, music, and artifact delivery. 用于 Iris
|
|
3
|
+
description: "Use dsh-iris for a single media operation or an existing task: image import/creation/editing, vision/OCR, video, speech, music, and artifact delivery. 用于 Iris 图片导入、单步媒体操作、音乐生成、作品取回与任务状态查询;多步骤创作选 iris-compose-media,界面对照验收选 iris-verify-ui。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# 使用 Iris 媒体能力
|
|
@@ -11,6 +11,7 @@ description: "Use dsh-iris for a single media operation or an existing task: ima
|
|
|
11
11
|
|
|
12
12
|
| 用户目标 | Iris 工具 |
|
|
13
13
|
|---|---|
|
|
14
|
+
| 保存上传图片或本地图片,供后续改图和导出 | `iris_import_image`,输入 image_path 或 attachment_id |
|
|
14
15
|
| 生成图片 | `iris_draw_image` |
|
|
15
16
|
| 修改已有 Core 图片 | `iris_edit_image`,输入 `source_artifact_id` |
|
|
16
17
|
| 理解图片 | `iris_look_at_image`;会话附件用 `iris_relook_attachment` |
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# Iris 能力与产物衔接
|
|
2
2
|
|
|
3
|
-
三项
|
|
3
|
+
三项Iris skills共用本说明。图片导入、统一功能分配及原生Qwen改图要求Iris0.2.4,0.2.3不含这些增量;发布状态见README。按实际已装载工具schema调用,工具可用性以工具列表和安装版本为准。不要为阅读本说明调用模型或读取供应商凭据。
|
|
4
4
|
|
|
5
5
|
## 工具、输入和输出
|
|
6
6
|
|
|
7
7
|
| 工具 | 主要输入 | 完成后的输出 |
|
|
8
8
|
|---|---|---|
|
|
9
|
+
| `iris_import_image` | image_path 或当前会话 attachment_id 二选一 | imported-image作品、稳定Core Artifact ID和图片链接;保留原字节及源文件,不调用模型 |
|
|
9
10
|
| `iris_draw_image` | prompt,可选 size、n、model | Task、Core 图片 Artifact、DSH 图片附件;可能附有图片自述 |
|
|
10
11
|
| `iris_edit_image` | source_artifact_id、修改 prompt | 新图片 Artifact 与附件,保留原图和来源关系 |
|
|
11
12
|
| `iris_look_at_image` | image_path 或 artifact_id 二选一 | 图片理解文字 |
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
|
|
28
29
|
## 功能与模型选择
|
|
29
30
|
|
|
30
|
-
生图、视频、TTS
|
|
31
|
+
生图、视频、TTS、Music、转写和视觉只使用各自明确分配的有序名单;空名单不调用,临时指定须已分配且只用该项。DSH默认视觉须明确加入视觉名单,不能在指定模型失败后隐式回退。手动实测独立于生产分配,旧任务查询/补交付仍绑定原模型。改图复用生图名单,接受 `openai-chat-images` 或 `dashscope` 原生 Qwen edit/max/plus、2.0/pro及日期快照;其他原生Qwen版本尚未接入。源图为一个Core静态PNG/JPEG/WebP,最多20 MiB;不提供蒙版或多张参考图输入。默认发送预算8 MiB,可按账号/模型调整;原生Qwen发送副本另限10 MiB,原作品保留。
|
|
31
32
|
|
|
32
33
|
Music 为独立 `music-gen` 功能,仅使用明确分配名单。模型须配置 `musicProtocol: gemini-web-music`;它不改变账号图片默认协议。其他 Music Adapter 尚未实现。当前正式参数控制客户端超时与502重试;曲长、人声、歌词、语言等是描述意图。
|
|
33
34
|
|
|
@@ -40,6 +41,15 @@ Music 为独立 `music-gen` 功能,仅使用明确分配名单。模型须配
|
|
|
40
41
|
- `content://`、浏览器本地路径与普通网络URL不能直接充当宿主文件路径。已经有可用Core作品时优先复用,确需文件输入时才导出。
|
|
41
42
|
- 保存每步实际返回的ID。图片编辑保留原作品并创建新版本;不要为继续操作重新生成源素材。
|
|
42
43
|
|
|
44
|
+
用户上传或宿主本地图片要保存为可续作作品时,用iris_import_image显式导入;当前支持最多20 MiB的静态PNG/JPEG/WebP。已有Core图片直接复用其ID,不反复导入。导入不创建生成Task,返回ID可交给iris_edit_image的source_artifact_id。上传副本的临时路径不是持久作品ID。
|
|
45
|
+
|
|
46
|
+
CLI使用同一导入命令:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
dsh-iris artifact import --data-root /absolute/path/iris-core \
|
|
50
|
+
--input '{"image_path":"/absolute/path/source.png"}'
|
|
51
|
+
```
|
|
52
|
+
|
|
43
53
|
## 需要文件时导出
|
|
44
54
|
|
|
45
55
|
导出消费已有作品,不调用生成模型。DSH工具没有通用Artifact导出入口,可用工作台下载,或在具备Shell与相同Core数据根时使用CLI。以下路径和ID必须替换为已确认的实际值;输出文件不能覆盖已有文件。
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,30 @@
|
|
|
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
|
+
|
|
17
|
+
## [0.2.4] - 2026-10-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- 图片持久导入:工作台“导入图片”、`iris_import_image`及CLI `artifact import`共用本地命令,保存最多20 MiB的静态PNG/JPEG/WebP,保留原字节与源文件。导入ID可继续看图、改图和导出,不调用模型。见 [图片导入](docs/IMAGE_IMPORT.md)。
|
|
22
|
+
- DashScope 原生 Qwen 改图:复用生图名单、Core 原图及来源关系,支持 Qwen edit/max/plus、2.0/pro 系列与日期快照;CLI、Agent和工作台均可使用,发送副本遵守账号/模型预算。模型在具体账号及地域是否可用仍以上游响应为准。见 [Artifact 改图](docs/CLI_MANAGEMENT.md#artifact-聊天改图)。
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- DSH支持范围扩为 `0.2.0-rc.2 || 0.2.1-alpha.4`,顶层engines、现有嵌套声明、五项可选客户端peer和Doctor使用相同范围。Node.js最低22.0.0,未新增生产依赖。见 [版本兼容](docs/DSH_COMPATIBILITY.md)。
|
|
27
|
+
- 六类媒体/视觉功能统一为严格有序分配名单;空名单不再自动使用模型池,临时指定也须已分配。升级后依赖自动选型的功能需要明确分配,已有名单及个人配置不自动改写。见 [功能模型分配](docs/FUNCTION_MODEL_ASSIGNMENTS.md)。
|
|
28
|
+
- DSH默认视觉改为可排序的显式资源,指定模型失败不再回退到宿主;手动实测与旧任务恢复仍独立于新请求分配。
|
|
29
|
+
- 工作台改为“清空分配”,生成与改图选择器只展示所属功能名单。
|
|
30
|
+
|
|
7
31
|
## [0.2.3] - 2026-10-14
|
|
8
32
|
|
|
9
33
|
### Added
|
|
@@ -311,7 +335,9 @@ Iris 0.2.0 要求 Node.js ≥ 22.0.0,DSH 插件仅支持 `0.2.0-rc.2`;旧宿
|
|
|
311
335
|
- 上传采用流式限额、临时 `.part` 文件和原子落盘,失败时会清理未完成文件。
|
|
312
336
|
- 修改状态的路由拒绝明确的跨站请求,媒体文件继续使用随机能力令牌访问。
|
|
313
337
|
|
|
314
|
-
[Unreleased]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.
|
|
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
|
|
340
|
+
[0.2.4]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.3...v0.2.4
|
|
315
341
|
[0.2.3]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.2...v0.2.3
|
|
316
342
|
[0.2.2]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.1...v0.2.2
|
|
317
343
|
[0.2.1]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.2.0...v0.2.1
|
package/README.en.md
CHANGED
|
@@ -46,21 +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.
|
|
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
|
|
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.
|
|
53
|
+
## What's new in 0.2.5 and existing features
|
|
54
54
|
|
|
55
|
-
**
|
|
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
|
-
- **
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
- **Routing and format feedback:** explain text model selection and check rewrite output while retaining custom v1 configuration.
|
|
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
|
+
- **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
|
+
- **Explicit assignments:** image, video, TTS, music, transcription, and vision use only their assigned ordered lists. Explicit overrides must also be assigned.
|
|
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.
|
|
62
61
|
|
|
63
|
-
|
|
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
|
+
|
|
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).
|
|
64
65
|
|
|
65
66
|
Future work includes additional protocol adapters and creative workflows; see the [roadmap](docs/ROADMAP.md#后续功能方向).
|
|
66
67
|
|
|
@@ -72,7 +73,7 @@ Future work includes additional protocol adapters and creative workflows; see th
|
|
|
72
73
|
| Entry point | Choose a pinned release under "Quickest start" below | `dsh-iris run ...` — see [Headless CLI](docs/HEADLESS_CLI.md) |
|
|
73
74
|
| Data location | `$DSH_HOME/iris/v1/` (Core data root `core-v0`) | Any absolute path passed via `--data-root` |
|
|
74
75
|
| Automatic observation | Yes (bounded DSH host ticks + restart takeover) | Explicit `task observe`; 0.2.2 also offers bounded `task wait` |
|
|
75
|
-
| Dependencies | DSH
|
|
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) |
|
|
76
77
|
|
|
77
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.
|
|
78
79
|
|
|
@@ -86,58 +87,42 @@ If you already have an ai-paint configuration, set `IRIS_IMPORT_WORKBENCH_CONFIG
|
|
|
86
87
|
|
|
87
88
|
## Quickest start
|
|
88
89
|
|
|
89
|
-
Check the host with `dsh --version` and ensure `pnpm` is on your PATH. Iris and DSH have independent version numbers;
|
|
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).
|
|
90
91
|
|
|
91
92
|
| Your DSH | Iris choice | Source |
|
|
92
93
|
|---|---|---|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
| Other versions | No current support claim | Check host adaptation before installing |
|
|
96
|
-
|
|
97
|
-
### Older DSH: install stable 0.1.4
|
|
98
|
-
|
|
99
|
-
For the older DSH range above, add the pinned release to the Web profile:
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4
|
|
103
|
-
dsh web
|
|
104
|
-
```
|
|
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 |
|
|
105
96
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
npm pack @mokuyoaxis/dsh-iris@0.1.4
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
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.
|
|
113
|
-
|
|
114
|
-
### DSH 0.2.0-rc.2: install 0.2.3
|
|
97
|
+
### DSH plugin: install 0.2.5
|
|
115
98
|
|
|
116
99
|
Install the pinned release into your Web profile:
|
|
117
100
|
|
|
118
101
|
```bash
|
|
119
|
-
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.
|
|
102
|
+
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
|
|
120
103
|
dsh web
|
|
121
104
|
```
|
|
122
105
|
|
|
123
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.
|
|
124
107
|
|
|
125
|
-
### Standalone CLI: install 0.2.
|
|
108
|
+
### Standalone CLI: install 0.2.5
|
|
126
109
|
|
|
127
110
|
Install in your own project without DSH:
|
|
128
111
|
|
|
129
112
|
```bash
|
|
130
|
-
npm install @mokuyoaxis/dsh-iris@0.2.
|
|
113
|
+
npm install @mokuyoaxis/dsh-iris@0.2.5
|
|
131
114
|
npx dsh-iris --help
|
|
132
115
|
```
|
|
133
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
|
+
|
|
134
119
|
### Choosing a version in dsh-market
|
|
135
120
|
|
|
136
|
-
The marketplace entry should resolve to the full package name `@mokuyoaxis/dsh-iris`. Check
|
|
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.
|
|
137
122
|
|
|
138
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.
|
|
139
124
|
|
|
140
|
-
After the first start, open "Settings → Iris workbench → + Add provider", enter your provider base URL and API key,
|
|
125
|
+
After the first start, open "Settings → Iris workbench → + Add provider", enter your provider base URL and API key, discover models, label their capabilities, and assign them to each function. Version 0.2.4 uses explicit ordered lists for all functions; see [assignment rules and upgrade impact](docs/FUNCTION_MODEL_ASSIGNMENTS.md) (Chinese). Full steps and protocol selection are in the [user guide](user_guide.md) (Chinese).
|
|
141
126
|
|
|
142
127
|
Once configured, minimal instructions can be as simple as:
|
|
143
128
|
|
|
@@ -176,7 +161,9 @@ After installing the plugin, add a provider in the Iris workbench and assign mod
|
|
|
176
161
|
|
|
177
162
|
## DeepSeek Harness adaptation
|
|
178
163
|
|
|
179
|
-
dsh-iris remains a native DSH plugin. Iris 0.2.
|
|
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.
|
|
165
|
+
|
|
166
|
+
Save an uploaded or local image as a persistent Artifact for viewing, editing and export; see [image import](docs/IMAGE_IMPORT.md) (Chinese).
|
|
180
167
|
|
|
181
168
|
| Iris version | DSH range | Verification |
|
|
182
169
|
|---|---|---|
|
|
@@ -185,10 +172,12 @@ dsh-iris remains a native DSH plugin. Iris 0.2.3 server registers 16 agent tools
|
|
|
185
172
|
| `0.2.0` | Only `0.2.0-rc.2` | Installed-service isolation checks, Core diff, and SlotRegistry; user demonstration reported successful, with detailed browser actions and asynchronous restart/rollback verification continuing |
|
|
186
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 |
|
|
187
174
|
| `0.2.3` | Only `0.2.0-rc.2` | Adds music and a third skill; check actual loading with Host Doctor after upgrading |
|
|
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 |
|
|
188
177
|
|
|
189
|
-
See the [rc.2 adaptation notes](docs/DSH_RC2_ADAPTATION.md) for
|
|
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.
|
|
190
179
|
|
|
191
|
-
|
|
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.
|
|
192
181
|
|
|
193
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).
|
|
194
183
|
|
|
@@ -199,7 +188,8 @@ Core and the DSH Adapter are being separated: DSH keeps loading the same npm pac
|
|
|
199
188
|
| Tool | Purpose |
|
|
200
189
|
|---|---|
|
|
201
190
|
| `iris_draw_image` | Generate images from a prompt |
|
|
202
|
-
| `
|
|
191
|
+
| `iris_import_image` | Save a local or session image as a persistent Artifact for later operations |
|
|
192
|
+
| `iris_edit_image` | Edit a source Artifact with a chat image model or supported native Qwen edit model, preserving provenance |
|
|
203
193
|
| `iris_generate_video` | Text-to-video, image-to-video, or S2V digital-human video |
|
|
204
194
|
| `iris_generate_music` | Generate music from a description and save playable, downloadable audio |
|
|
205
195
|
| `iris_speak_text` | Synthesize speech from text |
|
|
@@ -231,7 +221,7 @@ Look, locate and OCR accept a local path, session attachment or Core image `arti
|
|
|
231
221
|
|
|
232
222
|
Look, OCR chunks, locate and chat editing prepare sending copies using account/model budgets, with an 8 MiB default. Core originals, downloaded dimensions and hashes stay intact. OCR reports resizing and small-text risk; locate returns source-pixel coordinates. See [input budgets](docs/CLI_MANAGEMENT.md#看图输入预算).
|
|
233
223
|
|
|
234
|
-
|
|
224
|
+
Image editing uses a source Artifact ID and saves a linked new image through a chat image model or, in 0.2.4, supported native DashScope Qwen models. See [Artifact editing](docs/CLI_MANAGEMENT.md#artifact-聊天改图) and [workbench management](docs/WORKBENCH_ARTIFACTS.md) for supported models, filtering, selection, downloads and recovery.
|
|
235
225
|
|
|
236
226
|
Iris accepts three file sources, in the recommended order:
|
|
237
227
|
|
|
@@ -280,7 +270,7 @@ npx @mokuyoaxis/dsh-iris doctor --json
|
|
|
280
270
|
|
|
281
271
|
The installed binary is `dsh-iris`. Exit code `0` is healthy, `1` means warnings, and `2` means hard errors. Offline Doctor checks Node.js, sharp, ffmpeg/ffprobe, a real but cleaned-up storage write probe, configuration, models/assignments, task semantics, temporary files, and orphaned or missing artifacts.
|
|
282
272
|
|
|
283
|
-
A running DSH instance also provides a “Host diagnostics” card and
|
|
273
|
+
A running DSH instance also provides a “Host diagnostics” card and authenticated `/iris/api/doctor` JSON. It checks the host version, plugin, 17 tools and three skills, four route groups, host capabilities, client version, and four UI slots. It reads safe registration evidence without calling Browser, models, or providers. See [Host Doctor](docs/HOST_DOCTOR.md).
|
|
284
274
|
|
|
285
275
|
## Composed workflow example
|
|
286
276
|
|
package/README.md
CHANGED
|
@@ -44,21 +44,22 @@ dsh-iris 为 Agent、Iris 工作台和独立 CLI 提供图像、视频、音乐
|
|
|
44
44
|
|
|
45
45
|
项目目前处于早期版本,接口和配置格式仍可能随版本迭代调整。
|
|
46
46
|
|
|
47
|
-
Iris 0.2.
|
|
47
|
+
Iris 0.2.5 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和模型路由。新版恢复旧DSH的当前功能支持;图片导入、原生Qwen改图、音乐、三项Agent Skills和同步媒体交付恢复继续可用。Core内部接口尚未冻结为公共SDK。
|
|
48
48
|
|
|
49
|
-
> 版本支持:
|
|
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.
|
|
51
|
+
## 0.2.5 更新重点与现有能力
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
**旧宿主继续使用当前Iris功能**。默认视觉按接口能力选择精确路由,支持范围从2个准确DSH版本扩大至12个。
|
|
54
54
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- **路由与格式说明**:显示文本模型选择原因,检查改写正文格式,保留自定义 v1 配置。
|
|
55
|
+
- **图片导入**:通过工作台、Agent或CLI把已有图片保存为持久作品,继续看图、改图和导出;保留源文件,不调用模型。
|
|
56
|
+
- **原生 Qwen 改图**:除聊天生图外,支持DashScope Qwen带图编辑,修改版另存为关联原图的新作品。
|
|
57
|
+
- **统一功能分配**:生图、视频、TTS、Music、转写和视觉只使用各自明确分配的有序名单;临时指定也须已分配。
|
|
58
|
+
- **旧宿主与过渡版本**:兼容矩阵中的12个准确版本共用当前功能,manifest、客户端peer和Doctor使用相同范围。
|
|
60
59
|
|
|
61
|
-
|
|
60
|
+
**升级前请检查功能分配**:空名单会停止新调用,不再自动补入模型池;已有任务仍可按原绑定查询和恢复。DSH默认视觉须明确加入视觉名单。详见 [升级说明](docs/FUNCTION_MODEL_ASSIGNMENTS.md)。
|
|
61
|
+
|
|
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)。
|
|
62
63
|
|
|
63
64
|
音乐的接口格式、模型分配与使用示例见 [Music](docs/MUSIC.md)。其他协议与后续能力见 [路线图](docs/ROADMAP.md#后续功能方向)。
|
|
64
65
|
|
|
@@ -70,7 +71,7 @@ Iris 0.2.3 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和
|
|
|
70
71
|
| 入口 | 按下文「最快开始」选择固定版本 | `dsh-iris run ...`,见 [Headless CLI](docs/HEADLESS_CLI.md) |
|
|
71
72
|
| 数据位置 | `$DSH_HOME/iris/v1/`(Core 数据根 `core-v0`) | 显式 `--data-root` 指定的任意绝对路径 |
|
|
72
73
|
| 自动观察 | 有(DSH Host 有界节拍 + 重启接管) | 显式 `task observe`;0.2.2 另提供有界 `task wait` |
|
|
73
|
-
| 依赖 | DSH
|
|
74
|
+
| 依赖 | 兼容矩阵中的DSH、Node.js ≥22(满足宿主要求) | 仅 Node.js ≥22与`sharp`(视频抽帧另需`ffmpeg`) |
|
|
74
75
|
|
|
75
76
|
两条路径读写同一份 Core Task/Artifact 事实:CLI 指向 DSH profile 的 `core-v0` 数据根即可 inspect/export DSH 生成的作品,反之亦然。同一数据根只允许一个写者。
|
|
76
77
|
|
|
@@ -84,58 +85,42 @@ Iris 0.2.3 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和
|
|
|
84
85
|
|
|
85
86
|
## 最快开始
|
|
86
87
|
|
|
87
|
-
先用 `dsh --version` 核对宿主版本,并确认 `pnpm` 在
|
|
88
|
+
先用 `dsh --version` 核对宿主版本,并确认 `pnpm` 在PATH中。Iris与DSH的版本号独立;在 [兼容矩阵](docs/DSH_COMPATIBILITY.md) 列出的12个准确版本中均可安装Iris0.2.5。
|
|
88
89
|
|
|
89
90
|
| 你的 DSH | Iris 选择 | 安装来源 |
|
|
90
91
|
|---|---|---|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
| 其他版本 | 暂无当前支持声明 | 先核对宿主适配,不能按相邻版本推定兼容 |
|
|
94
|
-
|
|
95
|
-
### 旧 DSH:安装稳定版 0.1.4
|
|
96
|
-
|
|
97
|
-
在上述旧 DSH 范围内,将固定版本加入 Web profile:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.1.4
|
|
101
|
-
dsh web
|
|
102
|
-
```
|
|
92
|
+
| 矩阵中的0.1.2/0.1.5/0.1.7/0.2线准确版本 | `0.2.5` | 固定npm版本 |
|
|
93
|
+
| 未列入矩阵的版本 | 尚未验收 | 按实际宿主接口另行检查 |
|
|
103
94
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
npm pack @mokuyoaxis/dsh-iris@0.1.4
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
命令会在当前目录生成 `.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 的后续适配。
|
|
111
|
-
|
|
112
|
-
### DSH 0.2.0-rc.2:安装 0.2.3
|
|
95
|
+
### DSH插件:安装0.2.5
|
|
113
96
|
|
|
114
97
|
安装固定版本到 Web profile:
|
|
115
98
|
|
|
116
99
|
```bash
|
|
117
|
-
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.
|
|
100
|
+
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.5
|
|
118
101
|
dsh web
|
|
119
102
|
```
|
|
120
103
|
|
|
121
104
|
插件在下一次 DSH 启动时装载。Web UI 默认位于 `http://127.0.0.1:3080`;启动输出带认证参数时请打开完整 URL。更新后需重新加载后端并刷新客户端。
|
|
122
105
|
|
|
123
|
-
### 独立
|
|
106
|
+
### 独立CLI:安装0.2.5
|
|
124
107
|
|
|
125
108
|
在自己的项目中安装,无需 DSH:
|
|
126
109
|
|
|
127
110
|
```bash
|
|
128
|
-
npm install @mokuyoaxis/dsh-iris@0.2.
|
|
111
|
+
npm install @mokuyoaxis/dsh-iris@0.2.5
|
|
129
112
|
npx dsh-iris --help
|
|
130
113
|
```
|
|
131
114
|
|
|
115
|
+
需要单独下载时运行`npm pack @mokuyoaxis/dsh-iris@0.2.5`。仍需保留历史Iris0.1.4时可以固定其版本;历史DSH/Node范围见兼容矩阵,0.1.4不包含当前Core媒体CLI及后续新功能。
|
|
116
|
+
|
|
132
117
|
### dsh-market 安装时的版本选择
|
|
133
118
|
|
|
134
|
-
市场条目应对应完整包名 `@mokuyoaxis/dsh-iris`。安装前同时核对市场显示的
|
|
119
|
+
市场条目应对应完整包名 `@mokuyoaxis/dsh-iris`。安装前同时核对市场显示的Iris版本与本机 `dsh --version`,按 [兼容矩阵](docs/DSH_COMPATIBILITY.md) 选择对应发行版。市场目录与npm信息可能有缓存,以实际包的顶层 `engines.dsh`、Node要求及客户端peer为准;市场中可见不代表任意DSH版本兼容。
|
|
135
120
|
|
|
136
121
|
> npm 上无 scope 的 `dsh-iris` 属于另一款插件。安装和更新 Iris Media 时必须保留完整包名 `@mokuyoaxis/dsh-iris`。
|
|
137
122
|
|
|
138
|
-
首次启动后,打开“设置 → Iris 工作台 → + 添加供应商”,填入供应商
|
|
123
|
+
首次启动后,打开“设置 → Iris 工作台 → + 添加供应商”,填入供应商Base URL和API Key,再点“发现模型”,标注能力并为所需功能分配模型。0.2.4统一严格名单,升级差异见 [功能模型分配](docs/FUNCTION_MODEL_ASSIGNMENTS.md);完整步骤和协议选择见 [用户指南](user_guide.md)。
|
|
139
124
|
|
|
140
125
|
配置完成后,最小指令可以是:
|
|
141
126
|
|
|
@@ -175,7 +160,9 @@ DSH 的 profile 与插件命令由[官方安装说明](https://github.com/deepse
|
|
|
175
160
|
|
|
176
161
|
## DeepSeek Harness 适配
|
|
177
162
|
|
|
178
|
-
dsh-iris
|
|
163
|
+
dsh-iris仍按DSH原生插件装载。0.2.5服务端注册17个Agent工具,包含图片导入、改图与音乐;使用宿主提供的路由、附件、模型和生命周期能力。Web客户端接入设置页、会话输入区与全局悬浮层,不启动额外服务或监听端口。
|
|
164
|
+
|
|
165
|
+
上传图片或本地图片可保存为持久作品,继续看图、改图及导出,见 [图片导入](docs/IMAGE_IMPORT.md)。
|
|
179
166
|
|
|
180
167
|
| Iris 范围 | DSH 范围 | 验证记录 |
|
|
181
168
|
|---|---|---|
|
|
@@ -184,10 +171,12 @@ dsh-iris 仍按 DSH 原生插件装载。0.2.3 服务端注册 16 个 Agent 工
|
|
|
184
171
|
| `0.2.0` | 仅 `0.2.0-rc.2` | 真实安装服务隔离验收、Core diff 与 SlotRegistry;已有用户实机演示反馈,逐项浏览器操作与异步重启/回退继续验收 |
|
|
185
172
|
| `0.2.2` | 仅 `0.2.0-rc.2` | 真实安装服务隔离检查覆盖 15 个工具与 31 项边界;完整浏览器/移动端及真实异步重启验收仍待完成 |
|
|
186
173
|
| `0.2.3` | 仅 `0.2.0-rc.2` | 增加音乐工具和第三项 Skill;升级后用宿主诊断检查实际装载 |
|
|
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另通过实际安装包装载 |
|
|
187
176
|
|
|
188
|
-
rc.2
|
|
177
|
+
当前声明与验收范围见 [版本兼容](docs/DSH_COMPATIBILITY.md),早期rc.2修正见 [历史适配记录](docs/DSH_RC2_ADAPTATION.md);npm0.1.4不包含这些后续适配。
|
|
189
178
|
|
|
190
|
-
|
|
179
|
+
0.2.5按宿主实际接口能力适配,按已验证的准确版本声明支持。未列出的版本需另行验收。自动化检查分别覆盖服务端装载、工具与Skill注册、路由及客户端Slot;完整浏览器操作与旧数据升级另行验收。Doctor会指出当前可观察到的具体边界。
|
|
191
180
|
|
|
192
181
|
Core 与 DSH Adapter 正在分离,DSH 继续加载同一个 npm 包,Adapter 把宿主能力映射给 Core。若 DSH 修改 API,修复应限制在 Adapter 和客户端桥接;Core 的任务和产物语义不随宿主版本改变。0.2.0 已提供无 DSH CLI;第二个真实 Host Adapter 完成并验收后再移除名称中的 `dsh` 前缀,届时发布新的 npm 包,见[路线图](docs/ROADMAP.md)。
|
|
193
182
|
|
|
@@ -198,7 +187,8 @@ Core 与 DSH Adapter 正在分离,DSH 继续加载同一个 npm 包,Adapter
|
|
|
198
187
|
| 工具 | 用途 |
|
|
199
188
|
|---|---|
|
|
200
189
|
| `iris_draw_image` | 根据提示词生成图片 |
|
|
201
|
-
| `
|
|
190
|
+
| `iris_import_image` | 将本地图片或会话图片保存为持久作品,返回后续操作使用的作品ID |
|
|
191
|
+
| `iris_edit_image` | 按原图 Artifact ID 和修改指令创建关联来源的新图片(聊天生图或已接入的原生 Qwen 改图模型) |
|
|
202
192
|
| `iris_generate_video` | 生成文生视频、图生视频或 S2V 数字人视频 |
|
|
203
193
|
| `iris_generate_music` | 根据描述生成音乐,保存为可试听、下载的音频作品 |
|
|
204
194
|
| `iris_speak_text` | 将文本合成为语音 |
|
|
@@ -230,7 +220,7 @@ Core 与 DSH Adapter 正在分离,DSH 继续加载同一个 npm 包,Adapter
|
|
|
230
220
|
|
|
231
221
|
看图、OCR 每块、定位和聊天改图按账号/模型预算准备发送副本,默认 8 MiB,可调整大小与最长边;Core 原图、下载尺寸和哈希保持不变。OCR 标明缩小后的实际尺寸与细字风险,定位返回原图像素坐标。详见 [视觉输入预算](docs/CLI_MANAGEMENT.md#看图输入预算)。
|
|
232
222
|
|
|
233
|
-
Core
|
|
223
|
+
Core图片改图直接使用来源ID,修改版另存为新作品;[改图](docs/CLI_MANAGEMENT.md#artifact-聊天改图)支持聊天生图协议及0.2.4的DashScope原生Qwen改图。作品分页、过滤、跨页选择、下载与回收操作见 [工作台作品管理](docs/WORKBENCH_ARTIFACTS.md)。
|
|
234
224
|
|
|
235
225
|
Iris 支持三种文件来源,推荐顺序如下:
|
|
236
226
|
|
|
@@ -279,7 +269,7 @@ npx @mokuyoaxis/dsh-iris doctor --json
|
|
|
279
269
|
|
|
280
270
|
安装后的二进制名是 `dsh-iris`。退出码 `0` 表示正常、`1` 表示有警告、`2` 表示有硬错误。离线 Doctor 检查 Node、sharp、ffmpeg/ffprobe、数据目录真实写入、配置、模型/分配、任务语义、临时文件和孤儿/缺失产物。
|
|
281
271
|
|
|
282
|
-
运行中的
|
|
272
|
+
运行中的DSH另在Iris工作台提供“宿主诊断”卡片及已认证的 `/iris/api/doctor` JSON,检查宿主版本、插件、17工具/3项Skill、四组路由、宿主能力、客户端版本和四个UI Slot。它只读取安全快照与注册证据,不调用Browser、模型或Provider,详见 [Host Doctor](docs/HOST_DOCTOR.md)。
|
|
283
273
|
|
|
284
274
|
## 组合工作流示例
|
|
285
275
|
|
package/bin/dsh-iris.js
CHANGED
|
@@ -73,6 +73,7 @@ function usage() {
|
|
|
73
73
|
' dsh-iris task cancel <id> --data-root <absolute-path> --provider-config <absolute-path>',
|
|
74
74
|
' dsh-iris task retry <id> --data-root <absolute-path> --provider-config <absolute-path> --input <json> --confirm-billing [--model-ref <providerId::modelId>]',
|
|
75
75
|
' dsh-iris artifact inspect <id> --data-root <absolute-path>',
|
|
76
|
+
' dsh-iris artifact import --data-root <absolute-path> --input <json with image_path>',
|
|
76
77
|
' dsh-iris artifact list --data-root <absolute-path>',
|
|
77
78
|
' artifact list supports --offset, --limit, --kind, --media-type, --task-id.',
|
|
78
79
|
' dsh-iris artifact export-many --data-root <absolute-path> --input <json> --output <absolute-directory>',
|
|
@@ -564,6 +565,13 @@ async function main(args) {
|
|
|
564
565
|
return 0;
|
|
565
566
|
}
|
|
566
567
|
|
|
568
|
+
if (args[0] === 'artifact' && args[1] === 'import') {
|
|
569
|
+
const options = flags(args.slice(2), ['data-root', 'input']);
|
|
570
|
+
const result = await withRuntime('writer', options['data-root'], commands => commands.execute('artifact.import', jsonInput(options.input)));
|
|
571
|
+
console.log(JSON.stringify(result, null, 2));
|
|
572
|
+
return 0;
|
|
573
|
+
}
|
|
574
|
+
|
|
567
575
|
if (args[0] === 'artifact' && args[1] === 'inspect' && args[2]) {
|
|
568
576
|
const options = flags(args.slice(3), ['data-root']);
|
|
569
577
|
const result = await withRuntime('reader', options['data-root'], (commands) =>
|
package/docs/AGENT_QUICKSTART.md
CHANGED
|
@@ -2,19 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
把下面一段交给负责安装或使用 Iris 的 Agent。版本与发布状态以当前 [README](../README.md) 为准;Iris 和 DSH 的版本号独立。
|
|
4
4
|
|
|
5
|
-
|
|
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
|
|
13
|
-
- DSH
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
从 dsh-market 安装也要核对实际包名、版本和兼容范围;市场缓存不代表支持旧宿主,不对旧 DSH 安装 latest。
|
|
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。
|
|
15
|
+
先用--help和Doctor核对实际版本与命令。六类模型功能都需明确分配,空名单停止新调用;DSH默认视觉也须明确加入。图片导入用iris_import_image,改图用iris_edit_image;音乐用iris_generate_music并配置Chat Completions(内嵌音频)协议,见docs/MUSIC.md。
|
|
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
|
|
30
|
-
- DSH
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Iris 架构与边界
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
|
@@ -74,6 +74,8 @@ DSH Host / Cordis Headless CLI
|
|
|
74
74
|
|
|
75
75
|
## Provider 边界
|
|
76
76
|
|
|
77
|
+
0.2.4将六类功能统一为严格有序分配名单:不补入全局池,临时指定只绑定名单内单项。DSH默认视觉为显式宿主资源,不作为隐式兜底;手动实测与旧任务恢复保持独立。配置格式、Core受理纪律与生产依赖保持。升级范围见 [功能模型分配](FUNCTION_MODEL_ASSIGNMENTS.md)。下方0.2.2描述保留当时能力声明变更的背景。
|
|
78
|
+
|
|
77
79
|
0.2.2按功能组织有序模型候选池,能力来自明确模型标签、旧能力字段绑定或供应商能力元数据。裸账号不物化默认模型,模型名称不授权进入候选链;明确空池与空标签保持权威。模型与供应商复合身份用于底层执行器,功能入口、分配排序及安全 failover 没有改为模型中心产品或默认轮转。旧 0.2.1 的能力推断行为不再用于裸账号或模型名称赋能。
|
|
78
80
|
|
|
79
81
|
Provider Adapter v0 固定 discovery、submit、poll、cancel、download 与 error mapping 六类生命周期操作;提交前的临时输入上传是可选准备能力,不自动成为 Core 事实。协议实现只接收显式凭据、模型和媒体端点,Core 保存复合模型身份与非敏感 binding,不保存端点原文。
|
package/docs/CLI_MANAGEMENT.md
CHANGED
|
@@ -32,6 +32,10 @@ dsh-iris media html --data-root /path/core --input-file /path/html-input.json \
|
|
|
32
32
|
|
|
33
33
|
## 账号、模型与配置
|
|
34
34
|
|
|
35
|
+
已有本地图片可先用0.2.4的 `artifact import` 保存为作品ID,再执行看图或改图;导入无需账号或模型,见 [图片导入](IMAGE_IMPORT.md)。
|
|
36
|
+
|
|
37
|
+
0.2.4的六类功能均需明确分配;`assignments clear`停止新调用,已有Task仍按原绑定观察和补交付。临时指定须在名单内。旧自动池升级及DSH宿主资源见 [功能模型分配](FUNCTION_MODEL_ASSIGNMENTS.md)。
|
|
38
|
+
|
|
35
39
|
| 命令 | 行为 |
|
|
36
40
|
| --- | --- |
|
|
37
41
|
| `config init/show/check` | 创建空私有配置(不覆盖)、脱敏查看、检查重复账号和失效分配 |
|
|
@@ -53,6 +57,8 @@ dsh-iris media html --data-root /path/core --input-file /path/html-input.json \
|
|
|
53
57
|
|
|
54
58
|
上述命令均需 `--provider-config /path/providers.json`。`<ref>` 必须是 `providerId::modelId`;媒体 run 的既有输入规则不变。`models test` 本身是显式真实请求,可能消耗额度,只调用指定模型,成功后解除该模型的冷却或耗尽停用。视频/转写未提供 `--input` 时返回 `skipped:true`,不请求供应商、不记录成功。`models list` 对受阻模型显示 `rateLimited`,短时限流另有 `retryAt`,明确耗尽另有 `reason`。
|
|
55
59
|
|
|
60
|
+
视觉分配还可保存宿主资源 `host:current-vision`,供 DSH 使用;它不是 Provider 模型,独立 CLI 不执行该项,`models` 命令仍只管理普通复合引用。
|
|
61
|
+
|
|
56
62
|
```bash
|
|
57
63
|
dsh-iris providers add --provider-config /path/providers.json --input-file /path/private-provider.json
|
|
58
64
|
dsh-iris models caps 'aliyun::qwen3-vl-flash' --provider-config /path/providers.json \
|
|
@@ -125,16 +131,18 @@ dsh-iris run image --data-root /path/core --provider-config /path/providers.json
|
|
|
125
131
|
|
|
126
132
|
## Artifact 聊天改图
|
|
127
133
|
|
|
128
|
-
为 `run image` 提供 `source_artifact_id`,将当前
|
|
134
|
+
为 `run image` 提供 `source_artifact_id`,将当前Core原图与修改指令一起发送给带图编辑模型。支持openai-chat-images,0.2.4另支持DashScope原生Qwen改图:
|
|
129
135
|
|
|
130
136
|
```bash
|
|
131
137
|
dsh-iris run image --data-root /path/core --provider-config /path/providers.json \
|
|
132
138
|
--input '{"source_artifact_id":"artifact_ID","prompt":"把蓝色发饰改成白色,保留人物、服装和构图","model_ref":"gateway::gemini-image"}'
|
|
133
139
|
```
|
|
134
140
|
|
|
135
|
-
来源必须是同一数据根中的有效 Artifact ID(`artifact_` 后 24 位十六进制),最多 20 MiB 的静态 PNG/JPEG/WebP;创建 Task 前核验哈希、MIME 和真实格式。不需要导出原图,不支持 GIF/动画或蒙版。省略 `model_ref`
|
|
141
|
+
来源必须是同一数据根中的有效 Artifact ID(`artifact_` 后 24 位十六进制),最多 20 MiB 的静态 PNG/JPEG/WebP;创建 Task 前核验哈希、MIME 和真实格式。不需要导出原图,不支持 GIF/动画或蒙版。省略 `model_ref` 时沿用当前生图分配顺序,只保留已接入的带图编辑模型;显式指定仍须在生图名单内,不支持的模型会在 HTTP 前拒绝,不误发普通文生图。模型实际可用性由上游决定。
|
|
142
|
+
|
|
143
|
+
DashScope 原生改图使用 `imageProtocol: dashscope`(或继承同协议账号),当前接入 `qwen-image-edit`、`qwen-image-edit-max/plus`、`qwen-image-2.0/pro` 及其日期快照。模型还须显式声明 `image-gen` 并加入生图分配名单;名称本身不会授予能力。可将上例的 `model_ref` 换成已分配的 `bailian::qwen-image-edit-max`。原图以 data URL 发送到 `/api/v1/services/aigc/multimodal-generation/generation`,返回图片 URL 后立即保存为 Core 作品。`qwen-image-plus/max` 等纯文生图模型,以及尚未接入的其他 Qwen 版本,不作为原生改图候选。请求结构参考[百炼原生改图文档](https://help.aliyun.com/en/model-studio/qwen-image-edit-api)。
|
|
136
144
|
|
|
137
|
-
原图只读,发送副本复用默认 8 MiB 与账号/模型 `visionInput
|
|
145
|
+
原图只读,发送副本复用默认 8 MiB 与账号/模型 `visionInput`,按每个实际候选分别处理;原生 Qwen 发送副本另限制在 10 MiB 内。新 Task 保存 `sourceArtifactId`,新 Artifact 保存 `derived-from` 来源关系;输出原字节及 MIME 保留。返回的新 Artifact ID 可继续 `vision look/ocr`、导出或编辑。
|
|
138
146
|
|
|
139
147
|
未知受理、纯文字响应和交付失败不会自动重提或切换端点。知情 `task retry --confirm-billing true` 必须在新的 `--input` 中重新提供 `prompt` 和 `source_artifact_id`,模型覆盖使用外层 `--model-ref`。Core 删除预览会识别原图被编辑任务与新作品引用的情况。DSH 对应工具为 `iris_edit_image`,动作是 `image_edit`,工作台图片卡提供“改图”。
|
|
140
148
|
|