@mokuyoaxis/dsh-iris 0.2.6 → 0.3.0-alpha.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 +103 -1
- package/README.en.md +104 -304
- package/README.md +101 -302
- package/bin/dsh-iris.js +446 -64
- package/docs/AGENT_CORE_QUICKSTART.md +64 -0
- package/docs/AGENT_QUICKSTART.md +7 -5
- package/docs/ARCHITECTURE.md +20 -4
- package/docs/AUDIO_FLOWS.md +71 -0
- package/docs/CLI_MANAGEMENT.md +1 -1
- package/docs/CONTACT_SHEET.md +62 -0
- package/docs/CORE_CONNECTIONS.md +99 -0
- package/docs/CORE_QUICKSTART.md +108 -0
- package/docs/CORE_RUNTIME_CONTRACT.md +41 -5
- package/docs/CORE_SERVICE.md +97 -0
- package/docs/CORE_SKILLS.md +94 -0
- package/docs/DSH_COMPATIBILITY.md +14 -4
- package/docs/DSH_CORE_MIGRATION.md +4 -2
- package/docs/DSH_PROVIDER_CONNECTIONS.md +1 -1
- package/docs/DSH_RC2_ADAPTATION.md +1 -1
- package/docs/DSH_RUNTIME.md +40 -0
- package/docs/FUNCTION_MODEL_POOLS.md +1 -1
- package/docs/HEADLESS_CLI.md +12 -4
- package/docs/HOST_DOCTOR.md +13 -1
- package/docs/IMAGE_FLOW.md +75 -0
- package/docs/IMAGE_GENERATION.md +127 -0
- package/docs/LOCAL_API.md +62 -0
- package/docs/LOCAL_API_CONTRACT.md +140 -0
- package/docs/LOCAL_CREATION.md +56 -0
- package/docs/LOCAL_OPERATIONS.md +46 -0
- package/docs/LOCAL_SELECTION.md +57 -0
- package/docs/LOCAL_WEB.md +201 -0
- package/docs/MCP.md +191 -0
- package/docs/MUSIC.md +2 -0
- package/docs/PANEL_EXTENSIONS.md +64 -0
- package/docs/PLUGINS.md +189 -0
- package/docs/PLUGIN_STARTUP.md +100 -0
- package/docs/PROVIDER_ADAPTER_CONTRACT.md +1 -1
- package/docs/PROVIDER_EXTENSIONS.md +78 -0
- package/docs/PROVIDER_HEALTH.md +4 -2
- package/docs/PROVIDER_SETTINGS.md +85 -0
- package/docs/PROVIDER_SUBMISSION_CONTRACT.md +6 -0
- package/docs/ROADMAP.md +28 -6
- package/docs/SECURITY.md +9 -1
- package/docs/SYNC_DELIVERY_RECOVERY.md +2 -0
- package/docs/VISION_CLI.md +2 -2
- package/docs/WEB_PROTOTYPE.md +62 -0
- package/docs/WEB_RECOVERY.md +46 -0
- package/docs/WORKBENCH_LOGIN.md +63 -0
- package/docs/assets/screenshots/core-connections-preview.webp +0 -0
- package/docs/assets/screenshots/core-model-pools-preview.webp +0 -0
- package/docs/assets/screenshots/core-overview-preview.webp +0 -0
- package/docs/assets/screenshots/core-spectrum-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-dark-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-mobile-preview.webp +0 -0
- package/docs/assets/screenshots/core-studio-preview.webp +0 -0
- package/docs/releases/0.2.7.md +62 -0
- package/docs/releases/0.3.0-alpha.1.md +51 -0
- package/docs/screenshots.md +41 -1
- package/lib/actions.js +132 -70
- package/lib/adapters.js +20 -11
- package/lib/api.js +38 -38
- package/lib/application-runtime.js +213 -0
- package/lib/audio-flow-input.js +37 -0
- package/lib/client.js +434 -55
- package/lib/comfyui-adapter.js +94 -0
- package/lib/comfyui-client.js +51 -0
- package/lib/comfyui-inspection.js +73 -0
- package/lib/comfyui-workflow.js +94 -0
- package/lib/config.js +36 -1
- package/lib/configured-image-runtime.js +50 -0
- package/lib/connection-skill.js +89 -0
- package/lib/connection-template.js +23 -0
- package/lib/core-artifact-store.js +21 -2
- package/lib/core-bridge-selection.js +31 -0
- package/lib/core-bridge-tools.js +83 -0
- package/lib/core-capability-catalog.js +182 -0
- package/lib/core-connection-diagnostics.js +49 -0
- package/lib/core-connection-store.js +277 -0
- package/lib/core-connections.js +225 -0
- package/lib/core-maintenance.js +31 -2
- package/lib/core-runtime.js +20 -0
- package/lib/core-service-client.js +170 -0
- package/lib/core-tasks.js +84 -13
- package/lib/core-writer-lease.js +16 -0
- package/lib/creation-request-store.js +133 -0
- package/lib/doctor.js +12 -1
- package/lib/dsh-core-adapter.js +666 -572
- package/lib/dsh-host-adapter.js +8 -2
- package/lib/dsh-service-bridge.js +66 -0
- package/lib/execution-ownership.js +43 -0
- package/lib/flow-store.js +290 -0
- package/lib/generation-input.js +10 -1
- package/lib/headless-vision.js +7 -7
- package/lib/image-edit-input.js +1 -1
- package/lib/image-flow.js +232 -0
- package/lib/index.js +94 -68
- package/lib/local-api-projection.js +32 -0
- package/lib/local-api-token-directory.js +31 -0
- package/lib/local-api.js +1083 -0
- package/lib/local-creation.js +150 -0
- package/lib/local-operations.js +36 -0
- package/lib/local-request-root.js +86 -0
- package/lib/local-web-assets.js +37 -0
- package/lib/mcp-bridge.js +58 -0
- package/lib/mcp-check.js +26 -0
- package/lib/mcp-config.js +42 -0
- package/lib/mcp-delivery.js +46 -0
- package/lib/mcp-http.js +101 -0
- package/lib/mcp-server.js +47 -0
- package/lib/model-directory-service.js +16 -6
- package/lib/model-directory.js +3 -3
- package/lib/models.js +2 -2
- package/lib/music-transport.js +2 -1
- package/lib/operation-runner.js +236 -0
- package/lib/operation-store.js +216 -0
- package/lib/panel-extension.js +36 -0
- package/lib/plugin-contract.js +194 -0
- package/lib/plugin-execution.js +51 -0
- package/lib/plugin-launch.js +86 -0
- package/lib/plugin-operation-store.js +101 -0
- package/lib/plugin-operations.js +28 -0
- package/lib/plugin-registry.js +109 -0
- package/lib/plugin-selection.js +15 -0
- package/lib/plugin-source-image.js +5 -0
- package/lib/plugin-web-assets.js +54 -0
- package/lib/plugins.d.ts +288 -0
- package/lib/plugins.js +58 -0
- package/lib/private-storage.js +12 -0
- package/lib/provider-adapter.js +5 -1
- package/lib/provider-adapters.js +56 -18
- package/lib/provider-catalog.js +40 -29
- package/lib/provider-config-service.js +105 -23
- package/lib/provider-diagnostics.js +56 -0
- package/lib/provider-extensions.js +29 -0
- package/lib/provider-health.js +8 -1
- package/lib/provider-monitor.js +79 -0
- package/lib/provider-protocol.js +70 -20
- package/lib/provider-registry.js +118 -0
- package/lib/provider-response.js +28 -0
- package/lib/provider-settings.js +134 -0
- package/lib/provider-task-runner.js +40 -7
- package/lib/render-address.js +35 -0
- package/lib/render.js +52 -13
- package/lib/skill-installation.js +211 -0
- package/lib/vision-model-routing.js +3 -0
- package/lib/web/app.js +642 -0
- package/lib/web/appearance.js +111 -0
- package/lib/web/comfyui.js +146 -0
- package/lib/web/connections.js +377 -0
- package/lib/web/creation.js +355 -0
- package/lib/web/flow-view.js +33 -0
- package/lib/web/gallery.js +132 -0
- package/lib/web/index.html +291 -0
- package/lib/web/media-client.js +204 -0
- package/lib/web/plugin-panel.js +221 -0
- package/lib/web/plugin-surface.css +17 -0
- package/lib/web/providers.js +492 -0
- package/lib/web/recovery.js +105 -0
- package/lib/web/startup.js +18 -0
- package/lib/web/styles.css +518 -0
- package/lib/web/transport.js +96 -0
- package/lib/web/workbench-login.js +165 -0
- package/lib/workbench-artifacts.js +1 -2
- package/lib/workbench-auth-cli.js +47 -0
- package/lib/workbench-auth.js +200 -0
- package/lib/workbench-management.js +8 -9
- package/package.json +22 -6
- package/plugins/contact-sheet/index.d.mts +4 -0
- package/plugins/contact-sheet/index.mjs +33 -0
- package/plugins/contact-sheet/web/board.css +14 -0
- package/plugins/contact-sheet/web/board.mjs +93 -0
- package/skills/iris-core/SKILL.md +44 -0
- package/skills/iris-core/agents/openai.yaml +4 -0
- package/skills/iris-core/references/cli.md +95 -0
- package/skills/iris-core/references/comfyui.md +69 -0
- package/skills/iris-core/references/tasks.md +60 -0
- package/user_guide.md +19 -9
package/docs/SECURITY.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Iris 安全边界
|
|
2
2
|
|
|
3
|
-
版本:Iris 0.2.
|
|
3
|
+
版本:Iris 0.2.7,发布状态见 [README](../README.md)。安全目标是避免凭据泄露、路径越权、跨站写入和因错误重试造成重复计费;Iris 与 DSH 仍是本机同一信任域内的预览软件,不构成多租户安全边界。
|
|
4
4
|
|
|
5
5
|
## 信任模型
|
|
6
6
|
|
|
@@ -52,6 +52,14 @@ API、SSE 和 Doctor 只返回凭据存在性或掩码提示。Provider 错误
|
|
|
52
52
|
- SSE 使用同源连接、节流和背压合并;慢消费者只保留最新快照,避免积压历史状态。
|
|
53
53
|
- 如果把 DSH 通过 LAN、反向代理或隧道暴露,必须由部署者另加真正的认证、TLS、访问控制和来源限制。
|
|
54
54
|
|
|
55
|
+
## 显式本地 API 与 Skill 安装
|
|
56
|
+
|
|
57
|
+
0.2.7 的 [本地 API](LOCAL_API.md)由用户显式启动,只监听 `127.0.0.1`,与 DSH 路由的身份边界分别管理。每次启动产生独立会话 Token,写入新的根外私有文件;全部 API 与媒体都要求 Bearer、准确 Host 和受控 Origin,不将 Token 放入 URL 或 stdout。服务关闭后旧 Token 失效,原私有文件保留。
|
|
58
|
+
|
|
59
|
+
默认 GET/HEAD 不写 Core 或调用 Provider。新空 Flow 根须显式 `api init`,并通过 `--allow-local-writes` 开启 [上传/创建](LOCAL_CREATION.md);这两个 POST 不执行生成。请求意图与业务效果在同一 writer 内提交,同 Key 接回原身份,损坏请求保留并拒写,成功结果删除后不自动复活。固定流程的 Prompt 保存为专用根中的私有 Run 输入,不进入公共 Task/Artifact DTO;备份该根时应按私人创作数据保护。旧 writer 不得写入新流程根,回退应使用完整备份。
|
|
60
|
+
|
|
61
|
+
[Core Skill 安装器](CORE_SKILLS.md)只有显式 `skills install/uninstall` 才修改目标,`status` 与 dry-run 只读。安装记录用于内容与归属检查,不能作为对恶意本机用户的认证。无归属目录、用户修改及软链不被接管;升级/卸载保留扫描根外备份,不自动清理。安装不改变模型、MCP 或宿主权限;文件完整不等于宿主已发现 Skill,也不等于 Agent 已完成业务验收。
|
|
62
|
+
|
|
55
63
|
## 图像处理依赖
|
|
56
64
|
|
|
57
65
|
0.2.6 将 `sharp` 最低版本提高到 `0.35.5`,锁文件同步其修复后的预编译依赖,以处理 [librsvg 高危公告 GHSA-wq5f-xc86-pv6w](https://github.com/lovell/sharp/security/advisories/GHSA-wq5f-xc86-pv6w)。公告涉及特定 glibc Linux 运行条件下的 SVG 内存安全问题;这不是本项目已发生利用的证据。只检查文件扩展名不能代替更新解码器。
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Iris 0.2.3 支持从缓存恢复完整同步媒体结果。本地交付失败后,可沿原任务重新交付;Task/Artifact 格式和公开 HTTP 路径保持,不需要迁移旧数据。
|
|
4
4
|
|
|
5
|
+
未发布的 [固定图片流程](IMAGE_FLOW.md)也将其绑定任务的成功 poll 结果先写入原交付缓存,再按预留 Artifact ID 交付;相应中断只接回原结果,不重新 submit。未绑定 Flow 的异步 Task 沿用原路径,本节其余内容描述 0.2.3 起的同步恢复边界。
|
|
6
|
+
|
|
5
7
|
## 使用行为
|
|
6
8
|
|
|
7
9
|
同步 Images、聊天生图、Responses、TTS 或音乐 返回完整结果后,本地写入失败仍记录 `accepted / succeeded / deliveryState=failed`。工作台“重新取回作品”和 CLI `task redeliver` 共用原 Task/Attempt 的恢复路径,不调用 submit、不创建新 Attempt。
|
package/docs/VISION_CLI.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 独立视觉 CLI
|
|
2
2
|
|
|
3
|
-
版本要求:**Iris 0.2.
|
|
3
|
+
版本要求:**Iris 0.2.7**。发布状态见 [README](../README.md);安装 `npm install @mokuyoaxis/dsh-iris@0.2.7` 后运行 `npx dsh-iris ...`,或从源码运行 `node bin/dsh-iris.js ...`。需要 Node.js ≥ 22、依赖 Sharp;从视频文件抽帧还需要 PATH 中的 ffmpeg、ffprobe,复用既有 Core 帧不需要。
|
|
4
4
|
|
|
5
5
|
## 四个命令
|
|
6
6
|
|
|
@@ -77,7 +77,7 @@ dsh-iris vision summarize \
|
|
|
77
77
|
|
|
78
78
|
## 配置和模型选择
|
|
79
79
|
|
|
80
|
-
配置沿用 Iris Provider 文件,不执行配置迁移或模型发现。文件必须为普通文件,POSIX 权限限制为当前用户可读写(例如 `chmod 600 providers.json
|
|
80
|
+
配置沿用 Iris Provider 文件,不执行配置迁移或模型发现。文件必须为普通文件,POSIX 权限限制为当前用户可读写(例如 `chmod 600 providers.json`)。普通视觉成功保留配置原字节,不持久刷新健康时间;明确模型不存在、限流等失败仍沿用健康记录规则。显式开启音轨转写会创建 Core 媒体任务并保存对应成功证据;这些写入不改变账号、模型或功能分配。不会推断 DSH_HOME、HOME 或当前目录。
|
|
81
81
|
|
|
82
82
|
最小结构如下,`apiKey` 由你在私有文件中设置,不放在命令参数中:
|
|
83
83
|
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# 独立工作台 Demo(面向 0.3.0,未发布)
|
|
2
|
+
|
|
3
|
+
这是面向 **0.3.0** 的交互预览,包含创作、作品和连接草稿三个页面。首轮布局已围绕大图预览、紧凑参数面板和默认折叠的详情整理,仍用于验证操作方向,尚未定稿。
|
|
4
|
+
|
|
5
|
+
Demo 可在源码树中独立预览,无需 DSH;使用内存演示与内置样图,不连接模型、不计费,也不写入 Core 数据。0.3 alpha源码的真实工作台已接入固定图片编辑及[独立文生图](IMAGE_GENERATION.md);npm 0.2.7 不含该页面,也不携带 prototypes/ 和预览脚本。
|
|
6
|
+
|
|
7
|
+
## 启动预览
|
|
8
|
+
|
|
9
|
+
源码另有 [真实 Core 工作台](LOCAL_WEB.md),已采用此 Demo 的布局方向,接入明确改图、选择、下载、恢复及真实连接管理,权限由独立开关控制,默认只读。本页仅描述独立 Demo;演示数据和连接草稿不会转为真实记录,不能以演示检查替代真实服务验收。
|
|
10
|
+
|
|
11
|
+
在 Git 源码树中,使用现有 Node.js ≥22,无须安装新依赖:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
node scripts/preview-workbench.mjs
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
终端打印 `http://127.0.0.1:<随机端口>/`,在本机浏览器中打开。可显式指定 `--port 4173`,端口占用会报错,不自动替换。Ctrl+C 关闭。预览器只监听 loopback 并提供固定静态资源,不能读取任意仓库文件、Core 数据、Provider 配置或 `.internal/`,不会启动 DSH。
|
|
18
|
+
|
|
19
|
+
不要用仓库根上的通用文件服务器代替这个入口,避免把内部资料一并提供给浏览器。页面使用 JavaScript 模块,直接双击 HTML 并不等价于上述预览。
|
|
20
|
+
|
|
21
|
+
## 可体验的流程
|
|
22
|
+
|
|
23
|
+
桌面左侧为导航和最近流程,中间为图片画布,右侧为输入面板;手机上导航保留在顶部,输入和画布纵向排列。
|
|
24
|
+
|
|
25
|
+
1. 使用内置鸢尾花样图,或选择/拖放本地 PNG、JPEG、WebP;本地文件只生成标签页内的 Blob 预览,不上传。
|
|
26
|
+
2. 选择演示模型、填写修改要求,点击“开始演示”。本次输入随后固定;修改输入需明确新建流程。
|
|
27
|
+
3. 查看原图与示例结果,切换并排/叠图,明确选择原图或结果,再下载。
|
|
28
|
+
4. 展开“运行详情与演示场景”,体验原任务进行中、受理未知、生成成功但交付中断、等待本地比较等状态。场景对新流程生效。
|
|
29
|
+
5. 到“作品”页按全部、已选择或待选择筛选本标签页产生的流程;点击卡片或最近流程可只读切回原记录。首次打开为空,不预填虚构作品。
|
|
30
|
+
|
|
31
|
+
提示词快捷按钮只填写要求,放大按钮只预览原图;均不会开始生成。“演示说明”介绍样图与记录的保留范围。
|
|
32
|
+
|
|
33
|
+
**示例结果始终是内置样图,不是对上传图片或提示词的真实修改**。原图和示例结果可能相同;原型不伪造像素差异、模型质量分数、计费价格或进度百分比。下载原图取本地原字节,下载结果取内置样图;“已选择”和“下载请求已交给浏览器”分别显示,不声称文件已保存。
|
|
34
|
+
|
|
35
|
+
状态名称和白名单 DTO 依据真实 [固定流程](IMAGE_FLOW.md);投影有实际 Core/受控 Provider 测试。演示传输不读写磁盘 Run,不保证服务重启恢复。新建后也可从详情中的流程列表只读切回本标签页旧记录;整页刷新清空演示状态,并且不会自动开始。文件、提示词、草稿与主题均不写入 localStorage 或 sessionStorage。
|
|
36
|
+
|
|
37
|
+
“停止本次等待”只中止当前演示操作,原任务事实保留;真实 API 的远端取消须有独立能力与确认,不能把停止等待写成取消成功。展开详情、重新读取状态、切换历史与比较方式均不驱动生成。
|
|
38
|
+
|
|
39
|
+
## 连接草稿
|
|
40
|
+
|
|
41
|
+
“连接”页可自由填写名称,选择图片功能及读取、创建、执行、停止权限,并展开查看相应工具名称。草稿沿用当前 Core 图片流程的工具分组;其他媒体功能灰显,等待逐步接入。关闭图片功能后,只保留连接自检和连接清单工具。
|
|
42
|
+
|
|
43
|
+
“保存演示草稿”只保存到本标签页内存,重复保存更新同一草稿。此页不连接客户端、不创建真实授权,不生成密钥、MCP 配置或 Skill 安装;整页刷新后草稿清空。需要真实配置时使用 [Core 连接中心](CORE_CONNECTIONS.md)。
|
|
44
|
+
|
|
45
|
+
## 实现和下一步
|
|
46
|
+
|
|
47
|
+
原型位于 `prototypes/workbench/`,使用原生 HTML/CSS/JavaScript,复用 Iris 图标和示例图片,没有新框架或生产依赖。运行详情和工具预览默认折叠,关闭显示“展开”、打开显示“收起”;提供浅/深色、键盘焦点与 320/390px 布局。
|
|
48
|
+
|
|
49
|
+
0.2.7 已有 [默认只读 API](LOCAL_API.md)及显式开启的 [本地上传/Run 创建](LOCAL_CREATION.md),带持久请求意图和身份接回;0.3 alpha源码另有 [Operation 与有限执行服务](CORE_SERVICE.md)、[版本约束选择](LOCAL_SELECTION.md)及真实创作页面。此 Demo 仍独立使用内存样例,其布局、提示词和样例效果用于说明方向,不代表模型能力;真实页面的恢复、故障与发布门禁继续独立验收。
|
|
50
|
+
|
|
51
|
+
[本地 API 契约](LOCAL_API_CONTRACT.md)区分已发布的只读/本地创建,以及未发布的有限执行、本地停止和 owner 持久选择。相同 Run 的 Task 复用、HTTP 创建幂等与选择的版本门禁分别验证;替换演示传输时仍须单独验证浏览器写入、原身份恢复与无 DSH 的完整流程。
|
|
52
|
+
|
|
53
|
+
源码树可运行下面的检查;浏览器检查需显式提供已经安装的 Chromium,不下载或安装浏览器。无沙箱仅在受控测试环境确有需要时显式追加 `--no-sandbox`,不改变生产浏览器策略。
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
node tests/web-prototype.mjs
|
|
57
|
+
node scripts/verify-workbench-prototype.mjs --browser-executable /absolute/path/to/chromium --output /absolute/path/to/new-evidence-directory
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
浏览器检查保存交互结果与桌面/手机截图;这是隔离 Chromium 验收,不是 Android 真机触控或日常 DSH 装载证明。
|
|
61
|
+
|
|
62
|
+
布局参考了 [Invoke 的画布分区](https://v7.invoke.ai/users-guide/canvas/canvas-guide/)、[ComfyUI 的导航与工作区域](https://support.comfy.org/articles/7675456845-the-comfyui-interface)和 [Linear 的界面层级整理](https://linear.app/now/behind-the-latest-design-refresh),保留 Iris 自有标识、配色与素材。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 工作台请求核对与刷新恢复(0.3 alpha)
|
|
2
|
+
|
|
3
|
+
本页描述源码中的 W1b 恢复及 W1c 页面接入。npm 0.2.7 不含这些新增接口与浏览器客户端;[真实工作台](LOCAL_WEB.md)已接入明确创作、选择和本地停止,“操作核对”默认折叠,自动恢复始终只读。
|
|
4
|
+
|
|
5
|
+
## 按原请求读取
|
|
6
|
+
|
|
7
|
+
owner 的 `GET /api/v0/session` 提供 `rootId`:使用现有创建请求区的稳定 UUID,服务重启、Token 轮换不改变它;没有请求区时为 `null`,读取不会初始化数据。`instanceId` 继续表示本次服务。连接客户端不获得此字段或新查询权限,MCP 工具和 scope 保持。
|
|
8
|
+
|
|
9
|
+
有现成请求区时,owner 的 `operations` 包含 `creation.lookup`,默认只读服务也可调用:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
GET /api/v0/creation-requests?kind=image-import&key=<original-lowercase-UUIDv4>
|
|
13
|
+
GET /api/v0/creation-requests?kind=flow-create&key=<original-lowercase-UUIDv4>
|
|
14
|
+
|
|
15
|
+
{contractVersion:0, kind, state:"prepared"|"succeeded", result}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
创建类型另包括 `generation-create`;新 v3 音频工作区增加 `audio-import`、`speech-create`、`transcription-create`,返回同样的有限身份,不返回音频或朗读正文。音频恢复与大小边界见[音频流程](AUDIO_FLOWS.md)。
|
|
19
|
+
|
|
20
|
+
`result` 为 `{artifactId}`、`{runId}` 或 `null`。查询会核对原意图与已有结果;prepared 尚无目标时返回 null,已有目标核验通过后才返回引用。它不补写完成回执、不重建目标、不观察 Task 或调用 Provider。已推进或选择的 Run 不退回初始状态。没有原请求为 404;原结果不可用或证据损坏为 409,并保留原记录。
|
|
21
|
+
|
|
22
|
+
查询仍要求 Bearer、可信 Host/Origin,不接受其他 kind、路径或重复参数。不返回原始 Key、Prompt、供应商绑定或磁盘记录。Key 是动作身份,不能替代认证。
|
|
23
|
+
|
|
24
|
+
## 浏览器动作协调
|
|
25
|
+
|
|
26
|
+
内部客户端提供命名的上传、创建、继续、停止与选择方法,没有任意媒体 POST/Command 执行入口。上传、创建、continue 各自使用一个 Key;同一活动动作的重复调用共享同一次请求,输入不同则明确繁忙。请求失败不自动重试。
|
|
27
|
+
|
|
28
|
+
结果未知时先读取原 Key/Operation/Run。显式重试保留原 Key;上传需重新提供原图片或音频字节,创建需原输入。服务器继续核对输入摘要,不用新 Key 绕过冲突。查到创建成功只恢复已有 Run,不自动首次执行;读 Operation 也不调用 continue。
|
|
29
|
+
|
|
30
|
+
选择没有持久 Key:回包丢失后读取 Run,展示“当前选择”,不声称能证明这次请求完成。陈旧 revision 不能覆盖新选择。停止复用原 Operation ID,只停止本地等待,不代表远端取消或退款。
|
|
31
|
+
|
|
32
|
+
读取总并发仍为二;轻量 JSON 优先于排队中的媒体,不能抢占已开始的读取。写请求和停止直接发送,不进入图片读取队列。会话断开会取消客户端等待,服务已接收的事实仍保留。
|
|
33
|
+
|
|
34
|
+
## 标签页恢复表
|
|
35
|
+
|
|
36
|
+
使用 `sessionStorage` 的单个 `iris.workbench.recovery.v0` 键,最多八条待核对动作。只存 origin、稳定 rootId、动作类型与标识、原 Key、已知 Artifact/Run/Operation ID 和预期 revision;不存 Token、Prompt、图片或供应商配置,不使用 localStorage。
|
|
37
|
+
|
|
38
|
+
上传/创建确认后移除记录;活动 Operation 保留到读到终态。prepared、404、冲突、网络错误或当前服务未开放查询时,保留待核对身份,不自动生成。表满先核对或明确处理已有动作,不悄悄丢弃未知请求。存储不可用时退为内存并提示刷新恢复受限;损坏表保留,暂停新动作,不把损坏当空表。
|
|
39
|
+
|
|
40
|
+
刷新后先使用标签页保存的登录重新验证,再核对 session/rootId 和原请求,全程 GET;Token 失效时清除并要求重新连接,见 [会话边界](LOCAL_WEB.md#会话与图片边界)。登录缓存与本页的操作恢复表分开,恢复表仍不含 Token。换到不同 origin/根时只丢弃旧浏览器标识,Core 数据保持;迟到响应不能写回新根的表。无请求区时只有内存记录,不能承诺刷新定位未知上传/创建。
|
|
41
|
+
|
|
42
|
+
面板支持只读的“重新核对”和“查看流程”。prepared/未找到的上传、创建或继续可明确“准备按原 Key 接回”,重新提供原图片/模型/要求/参数后再次确认;接回创建不会自动首次执行。损坏或无法继续处理的本地标识,可在说明影响并二次确认后清除;只移除浏览器核对标识,不删 Core、不停止原任务。关闭标签页后不保证保留 sessionStorage;恢复表也不是作品或请求记录的备份。
|
|
43
|
+
|
|
44
|
+
## 验证
|
|
45
|
+
|
|
46
|
+
`tests/local-creation-lookup.mjs`、`tests/web-recovery.mjs`、`tests/web-media-api.mjs`覆盖只读查询、原 Key、回包丢失、重启、换根、版本冲突、存储异常及有限动作。真实 Chromium 验证可在[工作台验证命令](LOCAL_WEB.md#验证与下一阶段)后增加 `--recovery`:使用独立根和受控 Provider,由测试明确提交本地写入,再检查生产页面只读恢复。它不进行真实付费生成,也不替代 Android 真机验收。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# 工作台访问口令(0.3 alpha)
|
|
2
|
+
|
|
3
|
+
普通 `web serve` 使用一个访问口令,不要求账号、邮箱或读取 Token 文件。**稳定 npm 0.2.7 没有 `web serve`;下文针对0.3.0-alpha.1。** 源码树可把 `dsh-iris` 替换为 `node bin/dsh-iris.js`。
|
|
4
|
+
|
|
5
|
+
## 首次设置与日常使用
|
|
6
|
+
|
|
7
|
+
使用已有的专用 Flow 根;不要转换已有业务数据:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
dsh-iris web serve --data-root /absolute/iris/core --port 3182
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
首次打开输出的 `loginUrl`,在网页中设置 8–128 个字符的访问口令。没有 10 分钟倒计时;设置成功后该设置入口失效。设置尚未完成时,服务重启会生成新的设置入口。初次链接允许设置访问口令,应私下保管。
|
|
14
|
+
|
|
15
|
+
之后收藏普通地址,例如 `http://127.0.0.1:3182`。默认勾选“记住此设备”30天,刷新、新标签页和服务正常重启后继续使用;不勾选时仅当前标签页保存,服务端会话最长12小时。保持相同数据根、认证目录和端口。浏览器清除站点数据、隐私模式或禁止存储时,可能需要重新输入口令;页面会说明存储限制。
|
|
16
|
+
|
|
17
|
+
默认 Panel 在首屏绘制前读取已保存的明暗主题;恢复登录期间显示同色的简洁过渡页,验证成功直接进入工作区,不先展示登录卡片。没有可用登录或验证失败时再显示表单与说明;入口资源加载失败提供重新加载。背景图继续在浏览器内异步读取,不上传到 Core。
|
|
18
|
+
|
|
19
|
+
“退出”经服务确认后撤销当前浏览器会话并清除本机保存的登录。退出后在同一地址输入原口令即可,无需找文件或向 Agent 取新链接。若退出请求尚未确认,页面保留状态并提示重试。已经接收的业务操作不因退出而取消。
|
|
20
|
+
|
|
21
|
+
## 忘记地址或口令
|
|
22
|
+
|
|
23
|
+
只需记住启动时的 Core 数据根,不需要查找凭据文件。在另一个本机终端执行:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dsh-iris web login --data-root /absolute/iris/core
|
|
27
|
+
dsh-iris web password reset --data-root /absolute/iris/core
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`web login` 在已设置时返回普通登录地址;尚未设置时返回当前设置入口,不绕过已设置口令。`web password reset` 撤销全部工作台会话并返回新的设置入口;服务运行时无需重启,不修改作品、任务、供应商配置或 MCP 连接密钥/授权。服务正常停止后也可重置,下一次启动再打开输出的设置入口。不要把口令写在命令参数或聊天里。
|
|
31
|
+
|
|
32
|
+
认证目录默认是 `$IRIS_HOME/web-auth/<物理数据根的SHA-256>`,`IRIS_HOME` 默认 `~/.iris`。用户不需要打开该目录。可在启动、取地址及重置命令中一致指定 `--auth-store /absolute/private-auth`。它必须与 Core 根相互独立,使用私有真实目录,POSIX目录0700、文件0600;Android共享存储通常不适合保存此目录。
|
|
33
|
+
|
|
34
|
+
认证状态有独立写者租约。异常强杀后先核对原进程,再对 `<认证目录>/ownership` 使用现有 `doctor` 和明确的 `runtime recover` 流程;不会自动清锁或抢占实例。Core 执行根与连接目录的租约仍按各自契约处理。损坏、未知版本或属于其他根的认证状态明确报错,不自动覆盖。
|
|
35
|
+
|
|
36
|
+
## 凭据边界
|
|
37
|
+
|
|
38
|
+
口令只在同源登录请求中发送,服务端使用内置异步 scrypt、独立随机盐保存派生值,不保存明文。每次登录生成独立浏览器凭据,服务端只保存摘要和期限,最多32个有效会话。口令错误受有限速控制。
|
|
39
|
+
|
|
40
|
+
“记住此设备”将浏览器凭据保存在当前 origin 的 localStorage,普通模式使用 sessionStorage;不保存口令、owner 控制令牌或 MCP 密钥。继续使用 Bearer 而非共享本机端口的 Cookie,保留精确 Host/Origin、无 CORS 和现有 CSP。可信同源插件仍有页面脚本权限,只加载经过审查的模块;这不是不可信代码沙箱。
|
|
41
|
+
|
|
42
|
+
owner 控制记录仅在私有认证目录供本机 CLI 使用,浏览器会话和 MCP 连接均不能调用口令重置接口。MCP 使用连接中心导出的独立授权,浏览器登录不代替 MCP 配置。服务仍只绑定 `127.0.0.1`,没有新增公网监听、远程账户、SSO 或自动服务管理。
|
|
43
|
+
|
|
44
|
+
## 旧 Token 模式
|
|
45
|
+
|
|
46
|
+
显式提供 `--token-file` 或 `--token-dir` 时,`web serve` 保留旧的一次性链接和备用 Token 登录,服务重启后需新链接;与 `--auth-store` 互斥。`api serve` 继续要求 Token 参数,不默认开放口令登录。旧模式仍可使用 `web login --origin <实际地址> --token-file <本次文件>`。新默认方式不迁移或删除这些旧文件。
|
|
47
|
+
|
|
48
|
+
## 接口与装配
|
|
49
|
+
|
|
50
|
+
以下路径均位于 `/api/v0/workbench` 下,不接受查询参数;POST仅接受最多1024字节的 JSON。所有入口保留 Host/Origin 检查,不开放 CORS。
|
|
51
|
+
|
|
52
|
+
| 路径 | 方法与输入 | 身份与输出 |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| `/auth` | GET/HEAD,无正文 | 有限公开状态:`contractVersion:0, mode:'password', configured, authId, rememberDays, minPasswordLength, maxPasswordLength`;不返回私有路径或哈希 |
|
|
55
|
+
| `/setup` | POST `{ticket,password,remember}` | 严格同源,验证首次设置票据;返回独立会话 |
|
|
56
|
+
| `/password-login` | POST `{password,remember}` | 严格同源,验证访问口令;返回独立会话 |
|
|
57
|
+
| `/logout` | POST `{}` | 严格同源及当前浏览器 Bearer,幂等撤销;返回 `signedOut:true` |
|
|
58
|
+
| `/setup-link` | POST `{}` | 仅本机 owner 控制令牌;尚未设置时返回 `setupUrl` |
|
|
59
|
+
| `/password-reset` | POST `{}` | 仅本机 owner 控制令牌;重置后返回 `setupUrl` |
|
|
60
|
+
|
|
61
|
+
会话响应为 `{contractVersion:0, authId, accessToken, expiresAt, remember}`;`accessToken` 是浏览器会话,不能用于 MCP 或口令重置。未知字段、跨源请求、错误口令、过期会话或版本冲突明确返回对应错误,不自动降级到其他认证方式。正常退出只撤销提供的会话;已撤销会话可重复退出,便于丢失响应后重试。
|
|
62
|
+
|
|
63
|
+
Node 宿主用公开 `createCorePluginWorkbench` 时,显式传入 `workbenchAuth: { directory: '/absolute/private-auth' }` 才启用口令模式;未传时保持旧 SDK 行为。生命周期、媒体写权限和插件选择见[工作台](LOCAL_WEB.md)与[稳定启动](PLUGIN_STARTUP.md)。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Iris 0.2.7: screenshot compatibility, persistent image workflows, and portable Skills
|
|
2
|
+
|
|
3
|
+
Iris 0.2.7 fixes DSH browser screenshots and adds explicit standalone entry points for persistent image editing, local API access, and Core Skill installation. The npm package remains `@mokuyoaxis/dsh-iris`; Node.js 22.0.0 or later is required. The twelve exact DSH versions supported by 0.2.6 are unchanged.
|
|
4
|
+
|
|
5
|
+
## DSH screenshots and runtime ownership
|
|
6
|
+
|
|
7
|
+
- HTML screenshots consume PNG data returned by the browser and save it through Core. The browser no longer needs permission to write into the Iris data root; its download-directory restriction can remain in place.
|
|
8
|
+
- Screenshot navigation uses an explicit `DSH_WEB_BASE`, otherwise the host's public listening address, and finally the historical 3080 fallback when reliable host metadata is unavailable. Public media links retain their existing base-URL contract.
|
|
9
|
+
- Host Doctor distinguishes an available Browser interface from a successful screenshot. An explicit screenshot check creates a local test artifact without calling a model; ordinary diagnosis remains read-only. Cancellation closes sessions opened during the operation.
|
|
10
|
+
- DSH Core operations use an instance-owned application queue, connection references, and task observers. Unload cancels and awaits active work and lease release. Existing data roots, provider protocols, and billing rules remain intact; legacy configuration storage is outside this migration.
|
|
11
|
+
|
|
12
|
+
## Standalone image workflows and local API
|
|
13
|
+
|
|
14
|
+
- The fixed `image-edit/v0` CLI workflow persists a Run, private inputs, step-to-Task bindings, comparison results, and the user's selection; the selected image can then be exported. Recovery reuses existing tasks and reserved artifact identities instead of submitting uncertain work again.
|
|
15
|
+
- `api serve` explicitly starts a loopback-only API that is read-only by default. It exposes selected model/workflow information and controlled image access, with a private session-token file and Bearer, Host, and Origin checks.
|
|
16
|
+
- A new, empty workflow root can opt into local uploads and Run creation through `api init` and `api serve --allow-local-writes`. Durable request keys reconnect repeated requests to the original result. These endpoints do not generate media; execution and cancellation APIs remain future work.
|
|
17
|
+
- Rejected uploads receive the complete error before the server closes the connection, avoiding premature resets on Windows. Remaining body bytes are discarded without buffering under the existing request and idle timeouts; shutdown also closes incomplete uploads. Size, authentication and concurrency limits remain in force.
|
|
18
|
+
|
|
19
|
+
See [image workflows](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.7/docs/IMAGE_FLOW.md), [local API](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.7/docs/LOCAL_API.md), and [local creation](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.7/docs/LOCAL_CREATION.md) for commands and limits. These guides are currently in Chinese.
|
|
20
|
+
|
|
21
|
+
## Portable Core Skill
|
|
22
|
+
|
|
23
|
+
The package includes `iris-core`, with English instructions and bilingual titles for image import, generation, editing, task inspection, and artifact export through the standalone CLI.
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dsh-iris skills install --target kimi --dry-run
|
|
27
|
+
dsh-iris skills install --target kimi
|
|
28
|
+
dsh-iris skills status --target kimi
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Other harnesses can use an explicit absolute scan directory with `--directory`. Installation copies the complete Skill, records its version and content hashes, and preserves local changes. Managed upgrades and `skills uninstall` archive the previous copy outside the scan root. There is no npm postinstall hook or automatic model/MCP configuration.
|
|
32
|
+
|
|
33
|
+
The original three DSH Skills remain registered as before. Successful file installation is separate from harness discovery and actual agent behavior; the status command reports `discovery: not_checked`. See [Core Skill installation](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.7/docs/CORE_SKILLS.md).
|
|
34
|
+
|
|
35
|
+
## Install and upgrade
|
|
36
|
+
|
|
37
|
+
For a supported DSH host:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
dsh plugin --profile web add @mokuyoaxis/dsh-iris@0.2.7
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
For the standalone CLI:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npm install @mokuyoaxis/dsh-iris@0.2.7
|
|
47
|
+
npx dsh-iris --help
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Back up private Iris data before upgrading. Reload the DSH server code and refresh the client; use your actual profile name instead of `web`. This release does not automatically reload services, migrate existing roots, enable empty model assignments, or change dependency requirements. See the [compatibility matrix](https://github.com/mokuyoaxis/dsh-iris/blob/v0.2.7/docs/DSH_COMPATIBILITY.md).
|
|
51
|
+
|
|
52
|
+
Use a new, dedicated root for workflow features and local creation. Older writers must not write that root; retain a pre-upgrade backup for rollback. One physical data root still permits one writer, and uncertain acceptance never permits automatic resubmission.
|
|
53
|
+
|
|
54
|
+
## Scope and verification limits
|
|
55
|
+
|
|
56
|
+
The source-only standalone Web demo remains an interaction reference for 0.3.0. It uses in-memory samples, does not call models, and is not connected to the local API. It is excluded from the npm package. A production standalone workbench, general Recipe engine, public Core SDK, and formal MCP server are not included.
|
|
57
|
+
|
|
58
|
+
Validation covers isolated task/artifact behavior, host service integration, package execution, Skill conflict/backup handling, concurrent installers, and actual Kimi Code 2.3.0 Skill discovery/removal. Skill discovery checks submit no prompt and make no model calls; they do not establish a production Kimi adapter. Complete Android interaction, daily hot upgrades, real-provider availability, and whole-data upgrades from Iris 0.1.4 require separate validation. Historical local test-process timeouts remain under investigation.
|
|
59
|
+
|
|
60
|
+
## 中文摘要
|
|
61
|
+
|
|
62
|
+
0.2.7 修复浏览器截图保存目录限制、实际导航地址与取消处理,增加主动截图自检;Core/DSH 的写队列和观察器归实例持有。独立 CLI 新增持久图片流程,显式本地 API 默认只读,新空根可主动开启上传与流程创建;这些 HTTP 入口不执行生成。随包 `iris-core` Skill 可显式安装到 Kimi 或指定目录,保护用户修改并保留升级/卸载备份。DSH 原三项 Skill、12 个准确宿主版本与生产依赖保持。独立 Web 仍是面向 0.3.0 的源码演示,正式 MCP 和真实执行工作台继续后续开发。
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Iris 0.3.0-alpha.1: a shared media workspace for Agents
|
|
2
|
+
|
|
3
|
+
This first 0.3 alpha adds an independent Core workbench, generic MCP access and explicitly selected plugin contributions to the existing DSH plugin and standalone CLI. Core owns execution, storage and recovery; users choose what each client can access.
|
|
4
|
+
|
|
5
|
+
The package remains `@mokuyoaxis/dsh-iris`, with Node.js 22.0.0 or later required. Install the exact prerelease or follow npm `alpha`; stable `latest` remains 0.2.7. Existing DSH host-version declarations are unchanged. New Core and plugin contracts are experimental and may change before stable 0.3.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @mokuyoaxis/dsh-iris@0.3.0-alpha.1
|
|
9
|
+
npx dsh-iris --help
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Follow the [Core quickstart](https://github.com/mokuyoaxis/dsh-iris/blob/v0.3.0-alpha.1/docs/CORE_QUICKSTART.md) for a new workspace and the [Agent guide](https://github.com/mokuyoaxis/dsh-iris/blob/v0.3.0-alpha.1/docs/AGENT_CORE_QUICKSTART.md) for setup instructions. Both have English text with Chinese headings. The detailed product guides are primarily in Chinese.
|
|
13
|
+
|
|
14
|
+
## An independent workbench
|
|
15
|
+
|
|
16
|
+
- A real creation UI, works library, client connections and model services share the same Core records. The default Panel supports light/dark themes, local backgrounds and mobile layouts. Distributed screenshots use built-in themes, without a personal background.
|
|
17
|
+
- Local password login and remembered devices survive normal restarts. Logout permits signing back in with the same password; it does not require a mobile browser to read a private Termux token file.
|
|
18
|
+
- Model services expose providers, per-function automatic/manual/disabled pools and a health spectrum. Providers support connection checks, opt-in service-lifetime keepalive, disable/restore and protected deletion. Configuration or connectivity is separate from a successful media test.
|
|
19
|
+
|
|
20
|
+
## Durable media and ComfyUI
|
|
21
|
+
|
|
22
|
+
- Image generation/editing and speech/transcription persist Runs, original Tasks and finite Operations. Stable request keys reconnect lost responses; refresh never silently submits media again. Execution, local stop and image selection remain explicit permissions.
|
|
23
|
+
- ComfyUI workflows expose declared scalar parameters, including LoRA model/CLIP weights and schema-driven choices. Both Core and DSH have dedicated controls. Iris talks to an existing ComfyUI service; it does not install ComfyUI or guess workflow/model identifiers.
|
|
24
|
+
- Core Skills add independent ComfyUI guidance: clarify the workflow and requested result, read actual descriptors, keep original task identities and distinguish an API model from a ComfyUI workflow. Skill installation remains explicit and protects local modifications.
|
|
25
|
+
|
|
26
|
+
## Generic MCP and selected plugins
|
|
27
|
+
|
|
28
|
+
- Official SDK stdio and Streamable HTTP transports share Core. Users select media groups, scopes and individual tools; client presets and exports do not scan disks, install clients or grant additional access. Keep the Core service running when using either transport.
|
|
29
|
+
- Trusted plugins can contribute Provider adapters, durable business operations, pages, settings forms and artifact renderers. Core checks identity, compatibility, lifecycle and persistent task dependencies; loading does not authorize execution.
|
|
30
|
+
- The optional contact-sheet plugin demonstrates public SDK access, durable execution, a real Web page and generic MCP calls. Image-input businesses share eligible PNG/JPEG/WebP sources up to 8 MiB within one data root. Other businesses' execution, history and stop controls remain separately authorized; a handler reads only its bound sources.
|
|
31
|
+
- Exact dependency pins, original request keys and stored output identities survive interruption. A missing plugin does not remove saved history or outputs; restarting or upgrading does not automatically replay business work.
|
|
32
|
+
|
|
33
|
+
## Reliability fixes
|
|
34
|
+
|
|
35
|
+
This release fixes provider-health edit conflicts, bounded JSON/media responses, interrupted writer-lease preparation, adapter cleanup and delayed metadata, delivery error categories, transient maintenance-reader errors and stale DSH refresh responses. Startup test waits use a monotonic clock; timeout evidence retains the original budgets and failures.
|
|
36
|
+
|
|
37
|
+
Windows short-path aliases now use the same authentication record identity and credential-directory boundary checks as Core's physical root, while retaining the existing default authentication directory mapping. Downloads wait for the output file to close before publication or partial-file cleanup. Windows lifecycle tests explicitly deliver the CLI's shutdown event; they do not claim that Windows `child.kill('SIGTERM')` is graceful. Use terminal Ctrl+C for normal shutdown and inspect leases after forced termination.
|
|
38
|
+
|
|
39
|
+
Validation includes controlled local HTTP services, persistent Core storage, public SDK consumers, official MCP clients over both transports, Chromium business flows and actual process-interruption recovery. These tests do not establish compatibility with every paid model, GPU deployment or client attachment renderer.
|
|
40
|
+
|
|
41
|
+
## Alpha boundaries and upgrades
|
|
42
|
+
|
|
43
|
+
- Existing roots are not automatically migrated. Initialize new execution/audio roots explicitly; one data root has one writer. The shared-root model is not tenant isolation.
|
|
44
|
+
- Native DSH keeps its own UI and host services. The alpha does not require stable DSH users to move their existing workspace into Core Web.
|
|
45
|
+
- Video, music and visual understanding retain their existing DSH/CLI entry points. Their new Core Web/MCP creation entries are not all implemented. Real ComfyUI GPU inference remains unverified here.
|
|
46
|
+
- This is not a stable plugin SDK, community marketplace or hostile-code sandbox. Provider URLs, redirects and HTTP endpoints remain an explicit trust/deployment boundary.
|
|
47
|
+
- Historical timing anomalies, linear history-validation cost and a specific DSH/Firefox download observation remain recorded. Later successful tests do not establish the cause of an earlier timeout.
|
|
48
|
+
|
|
49
|
+
## 中文摘要
|
|
50
|
+
|
|
51
|
+
0.3.0-alpha.1 提供独立 Core 工作台、通用 MCP、显式插件贡献、功能模型池与健康光谱,以及 ComfyUI参数和持久媒体恢复。使用 npm `alpha` 或准确版本安装,稳定 `latest` 保留0.2.7;DSH原生入口及准确宿主范围保持。安装不授权,刷新不自动重做,旧数据根不自动迁移。当前为实验性alpha,尚未完成所有媒体新入口、真实GPU和全部部署场景验收。
|
package/docs/screenshots.md
CHANGED
|
@@ -1,4 +1,44 @@
|
|
|
1
|
-
# Iris
|
|
1
|
+
# Iris 界面与生成来源 / Screenshots and provenance
|
|
2
|
+
|
|
3
|
+
## Core 工作台开发预览 / Core workbench development preview
|
|
4
|
+
|
|
5
|
+
2026-10-29 重拍,使用当前未发布源码、独立演示数据根及 Chrome for Testing 153.0.8010.12(Linux ARM64)。全新浏览器 profile 只使用内置明亮/暗色主题;流程与作品是此前从零使用演练已完成记录的独立副本,没有读取用户背景、真实供应商凭据或日常浏览器会话。
|
|
6
|
+
|
|
7
|
+
Recaptured on 2026-10-29 from the current unreleased source in Chrome for Testing 153.0.8010.12 on Linux ARM64. A fresh browser profile uses only the built-in light/dark themes. The separate demo data root contains copies of completed records from the earlier first-use walkthrough. No personal background, real provider credentials or daily browser session is used.
|
|
8
|
+
|
|
9
|
+
| 创作与下载 / Studio and download | 完整六类总览 / All six capabilities |
|
|
10
|
+
|---|---|
|
|
11
|
+
|  |  |
|
|
12
|
+
|
|
13
|
+
| 功能模型池 / Function pools | 能力光谱 / Health spectrum |
|
|
14
|
+
|---|---|
|
|
15
|
+
|  |  |
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
客户端图展示实际保存的示例授权,状态为“尚未使用”;未导出或展示连接密钥,不据此声称已连接真实客户端。模型池与光谱中的候选、近期成功来自演示配置与受控任务记录,连接检查和保活均未启用。
|
|
20
|
+
|
|
21
|
+
The client capture shows an actually saved demo grant marked unused. Its credential is not exported or shown, and the image does not claim a real client handshake. Pool candidates and recent-success facts come from demo configuration and controlled task records; no connection check or keepalive is enabled.
|
|
22
|
+
|
|
23
|
+
### 窄屏与暗色 / Mobile layout and dark mode
|
|
24
|
+
|
|
25
|
+
窄屏图使用桌面 Chromium 的390像素视口,展示布局适配;不是 Android 实机截图。创作设置按现有逻辑收起,完整展示图片、选择状态与下载按钮。
|
|
26
|
+
|
|
27
|
+
The mobile layout uses a 390-pixel viewport in desktop Chromium, rather than a physical Android device. Existing responsive behavior collapses creation settings and keeps the image, selection and download visible.
|
|
28
|
+
|
|
29
|
+
<p align="center"><img src="assets/screenshots/core-studio-mobile-preview.webp" width="390" alt="Core 390像素窄屏创作与下载"></p>
|
|
30
|
+
|
|
31
|
+

|
|
32
|
+
|
|
33
|
+
**媒体与截图边界 / Media and capture scope:** 图中的768×768作品来自此前本地受控 OpenAI Images 回放下方历史鸢尾花图片。本轮重拍只读取已有结果及配置,未新增生成、Task或Operation,也不代表真实付费图片、语音或ComfyUI GPU验收。画面未经DOM/CSS改写或拼接,仅通过正常登录、导航和主题操作拍摄。
|
|
34
|
+
|
|
35
|
+
The 768×768 work comes from the earlier controlled local OpenAI Images replay of the historical iris image below. This capture session reads existing works and configuration without adding a generation, Task or Operation. It does not validate paid image/speech services or a ComfyUI GPU. Captures use normal login, navigation and theme controls, without DOM/CSS rewriting or compositing.
|
|
36
|
+
|
|
37
|
+
公开版本采用无损WebP以保留界面文字,未保留EXIF/XMP/IPTC。界面当前以中文显示,独立Core功能尚未包含在npm0.2.7中。使用方法见[Core快速开始](CORE_QUICKSTART.md)。
|
|
38
|
+
|
|
39
|
+
Public copies use lossless WebP to preserve UI text, without EXIF/XMP/IPTC. The current interface is in Chinese; these standalone Core features are outside npm 0.2.7. See the [Core quickstart](CORE_QUICKSTART.md).
|
|
40
|
+
|
|
41
|
+
## DSH Android 历史真机截图 / Historical DSH Android captures
|
|
2
42
|
|
|
3
43
|
这些画面来自 Android 16 浏览器,访问运行在 Termux/PRoot Debian ARM64 中的 DSH;界面使用 DSH 默认皮肤。截图与生成图均为 2026-09-06 的真实操作结果,公开副本已重新编码并移除 EXIF、XMP 与 IPTC 元数据。
|
|
4
44
|
|