# 变更记录 本文件记录 dsh-iris 的用户可见变化。 ## [Unreleased] 当前没有尚未发布的用户可见变更。 ## [0.1.1] - 2026-09-05 ### Changed - 明确 ai-paint 是维护者未公开的本地前身而非用户依赖;插件默认启动不再读取其固定路径,仅在用户显式设置 `IRIS_IMPORT_WORKBENCH_CONFIG` 时由宿主本地一次性导入,已有供应商时跳过。 - `npm test` 使用 Node.js 调度器,移除 POSIX Shell 循环,保留逐文件进程隔离和失败即停。 - 对齐公开路线图与 `v0.1.0` 标签,区分当前 DSH 插件能力和未来宿主无关 Core/CLI/工作台。 - 工作台新增安全的媒体协议自动判断与显式选择;模型实测改为按能力触发,真实调用前确认,视频与转写不再提交空样本探针。 - 测试临时目录改用系统 API 并自动清理;`ffmpeg` 探测不再依赖 POSIX `which`。 - 增加 Linux/Windows × Node.js 20.10/22 CI 矩阵和发布前完整测试钩子。 - 新增标签驱动的 Release 工作流:推送 `vX.Y.Z` 标签即自动跑全量测试、校验标签与 package.json 版本一致、创建附 tarball 的 GitHub Release 并发布 npm(含 provenance;未配置 `NPM_TOKEN` 时仅跳过 npm 发布)。 - Node.js 最低版本调整为 20.10;20.9 无法解析当前图片依赖使用的 JSON import attributes。 ### Fixed - 修复 DSH 0.1.2+ Web 客户端按完整 npm 包名校验时,Iris 仍以旧短名注册而导致整个插件组合包加载失败的问题;同时将客户端依赖声明对齐新版的 Renderer/Session 服务。 - 旧配置为 `null` 或供应商凭据字段类型错误时,跳过无效内容而不使导入崩溃。 - 语法合法但根节点、供应商、模型、任务或分配结构错误的持久化文件现在会被隔离并安全重建,不再静默丢失后续更新。 - 大媒体下载改为流式原子落盘,避免把完整视频一次性载入内存,并清理失败的临时文件。 - Windows CI:Skill 测试先归一化 CRLF 再解析 frontmatter,并新增 `.gitattributes` 强制所有平台以 LF 检出(Windows runner 默认 `core.autocrlf=true` 曾致 `npm test` 失败)。 - Windows CI:`tests/pixels.mjs` 改用 `fileURLToPath` 解析模块路径;`URL.pathname` 在 Windows 上返回 `/D:/...`,拼出的非法临时目录路径使该测试进程直接崩溃。 - 上传接口竞态:写入流改为惰性创建、`.part` 清理等待 fd 关闭,空上传或提前失败的请求不再可能残留孤儿 `.part` 文件。 ### Security - DashScope 凭据在网络请求发出前绑定到阿里云官方 HTTPS 域名,阻止错误协议配置把 API Key 发给第三方端点。 - POSIX 上统一以 `0700` 目录和 `0600` 文件保存 Iris 配置、任务、上传及产物;启动时收紧既有 Iris 树且不跟随符号链接。 - `/iris/*` 默认只接受回环 Host;LAN/反向代理需显式配置 `IRIS_TRUSTED_HOSTS`,公开文档明确该列表不替代身份认证。 ## [0.1.0] - 2026-09-04 ### Added - 增加文生图、文生视频、图生视频和 S2V 数字人视频能力。 - 增加文本转语音和独立的音频转写能力。 - 增加看图问答、附件重看、长图 OCR、目标定位、图片裁剪和像素差异分析。 - 增加视频抽帧和多模态视频摘要;缺少 `ffmpeg` 时只影响相关工具。 - 增加 Iris 工作台及悬浮泡泡入口,可管理供应商、能力分配、文件输入和任务历史。 - 增加浏览器上传与会话附件选择,支持在不同文件系统之间传递输入文件。 - 增加异步任务跟踪、重启恢复、状态事件推送和带授权令牌的音视频播放。 - 为图生视频和 S2V 动作补充回归测试。 - 增加仓库级 `iris-verify-ui` 与 `iris-compose-media` Skills:前者执行可重复的 UI 视觉验收,后者编排多步骤媒体工作流。 - 增加面向安装、供应商、模型池、能力分配和文件输入的 `user_guide.md`。 ### Changed - npm 发布包改用 `@mokuyoaxis/dsh-iris`,避开已被其他项目占用的无 scope 包名;运行时插件 ID 和工具名保持不变。 - 模型引用升级为 `providerId::modelId`,避免不同供应商下的同名模型发生碰撞。 - 图像、视频、语音、转写和视觉能力分别配置,不再复用含义不同的能力槽位。 - 工作台和 Agent 的视频生成统一使用同一套动作实现和参数校验。 - 生成类故障转移只发生在上传、提交或同步生成失败时;远端受理后不再自动重提。 - 供应商更新采用字段级合并,未提交的字段会保留原值。 - npm 包显式包含 README、用户指南、变更记录和 `docs/`,Node.js 版本要求调整为 `>=20.9.0`。 ### Fixed - 修复新版 Qwen Image、Wan 2.6/2.7 和 Z-Image 被错误发送到旧文生图端点的问题,并兼容新版图片结果结构。 - 纯图像编辑模型不再被自动分配给文生图能力。 - 修复文件转写使用错误模型与请求字段、未下载 `transcription_url` 结果的问题。 - 修复局部更新供应商配置时覆盖已有配置的问题。 - 修复旧任务附件在索引裁剪或重启后无法正确查找的问题。 - 修复上传中断遗留临时文件、过期上传未及时回收和文件权限不一致的问题。 - 修复取消信号未完整传递到上传、生成等待和后台轮询的问题。 - 修复 SSE 测试依赖固定等待时间而偶发失败的问题。 - 修复工作台与 Agent 视频参数和返回结果不一致的问题。 ### Security - HTML 截图页面改为不具备同源权限的沙箱环境,页面脚本无法访问 Iris 或宿主 API。 - 上传采用流式限额、临时 `.part` 文件和原子落盘,失败时会清理未完成文件。 - 修改状态的路由拒绝明确的跨站请求,媒体文件继续使用随机能力令牌访问。 [Unreleased]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.1.1...HEAD [0.1.1]: https://github.com/mokuyoaxis/dsh-iris/compare/v0.1.0...v0.1.1 [0.1.0]: https://github.com/mokuyoaxis/dsh-iris/releases/tag/v0.1.0