Skip to content

dsh-iris

Verified

@mokuyoaxis/dsh-iris · v0.2.7 · MIT · Web UI

Multi-provider image, video, music, and speech generation, transcription, visual understanding, and prompt optimization with an integrated Iris workbench for DeepSeek Harness.

Install

dsh plugin add @mokuyoaxis/dsh-iris

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

简体中文 | English

IRIS 线稿鸢尾花(临时标志)

Iris Media for DSH

Iris 多模态生产运行时 · DSH 插件与独立 CLI

DeepSeek Harness compatible npm version Node.js 22 or newer CI MIT License

dsh-iris 为 Agent、Iris 工作台和独立 CLI 提供图像、视频、音乐、语音与视觉理解能力。图片模型可分别连接 DashScope、OpenAI Images、聊天生图或 Responses 接口;音乐支持 Chat Completions 内嵌音频接口。生成作品由共享 Core 管理,可按 Artifact ID 看图、OCR、聊天改图或导出。DSH 工作台集中配置与任务管理,🫧 泡泡提供对话草稿优化入口。

实际生成示例

由 Iris 优化提示词并生成的蓝紫色鸢尾花

从一句“鸢尾花”开始:Iris 对话框优化 Prompt(deepseek-v4-flash,thinking off)→ 阿里云百炼 qwen-image-3.0-pro 生成 · 2048×2048

Android 16 真机界面

以下截图来自 Android 浏览器连接 Termux/PRoot Debian ARM64 中的 DSH,使用 DSH 默认皮肤;公开图片均已移除 EXIF/XMP/IPTC 元数据。

对话输入区的 🫧 入口 优化结果写回输入框
DSH 对话输入区中的 Iris 泡泡入口 Iris 将优化结果写回 DSH 输入框

Iris 工作台中的图片任务成功详情

查看完整六图流程:优化前、玻璃预览窗、写回、任务成功与实际产物

项目目前处于早期版本,接口和配置格式仍可能随版本迭代调整。

本文对应 Iris 0.2.7。安装与升级请固定版本,并先核对下方的宿主兼容范围。

Iris 0.2.7 同时提供 DSH 插件与无 DSH 的 CLI,共用任务、产物和模型路由。本版修复宿主截图集成,并增加持久图片流程、本地 API 和显式 Core Skill 安装;连接复用、功能池、目录同步与既有媒体能力继续可用。Core 内部接口尚未冻结为公共 SDK。

0.2.7 包含宿主截图适配、实际截图地址、主动截图自检、内部应用运行时与 DSH 实例装配、首版持久改图流程、默认只读本地 API及主动启用的 本地上传与创建,见 0.2.7 发布说明。源码树保留 面向 0.3.0 的独立 Web Demo,用于展示操作方向;界面与交互细节将在 0.3.0 阶段统一润色。Demo 使用内置样例,不连接模型、不计费;API 执行/取消与真实工作台联调继续按 0.3 路线图推进。

版本支持:Iris 0.2.7 沿用 0.2.5 的 12 个准确 DSH 版本,见 兼容矩阵。保留旧 DSH 时仍需 Node.js ≥22.0.0,宿主若要求更高,以宿主为准。连接复用另需宿主提供对应公开接口。

0.2.7 更新重点与现有能力

截图适配更完整,图片流程和 Skills 可脱离 DSH 使用。 功能池继续采用稳定顺序和安全切换,没有跨请求轮转。

  • 宿主截图:直接接收 PNG 并保存为 Core 作品,兼容浏览器下载目录限制;按实际监听地址导航,提供主动截图自检。

  • 图片流程与本地 API:CLI 持久保存步骤、任务、比较和选择;API 默认只读,上传与创建需显式开启,HTTP 执行/取消尚未开放。

  • Core Skill 安装:随包 iris-core 通过 CLI 指导图片创作,可显式安装到 Kimi 或指定扫描目录,保护本地修改并保留备份。

  • 图片导入:通过工作台、Agent或CLI把已有图片保存为持久作品,继续看图、改图和导出;保留源文件,不调用模型。

  • 原生 Qwen 改图:除聊天生图外,支持DashScope Qwen带图编辑,修改版另存为关联原图的新作品。

  • 连接复用与功能池:可引用 DSH 已有 API Key 连接;六类功能可选自动池、仅用所选模型或停用,确认用途时可同时启用自动池。

  • 目录与检测:自动请求前按需同步目录,明确模型不存在后隔离后续候选;能力检测、目录及高级分区默认折叠,实测单独确认费用。

  • 旧宿主与过渡版本:兼容矩阵中的12个准确版本共用当前功能,manifest、客户端peer和Doctor使用相同范围。

升级保持已有调用范围:旧名单和缺失/空分配不会自动启用;需主动选择自动池。新发现模型仍要确认用途,目录未列出不等于下线。DSH 默认视觉需明确加入名单或开启自动池的宿主视觉选项;已有任务按原绑定恢复。详见 功能模型池。

升级与验证边界见 0.2.7 发布说明 和 CHANGELOG。旧宿主支持见 0.2.5,图片续作见 0.2.4,音乐与 Skills 见 0.2.3。

音乐的接口格式、模型分配与使用示例见 Music。其他协议与后续能力见 路线图。

两条使用路径

路径 A:DSH 插件 路径 B:Headless CLI
适合谁 已在使用 DeepSeek Harness,想要 Agent 工具、工作台和对话内提示词优化 想在无 DSH 环境用命令行完成媒体生成、任务跟踪和作品导出
入口 按下文「最快开始」选择固定版本 dsh-iris run ...,见 Headless CLI
数据位置 $DSH_HOME/iris/v1/(Core 数据根 core-v0) 显式 --data-root 指定的任意绝对路径
自动观察 有(DSH Host 有界节拍 + 重启接管) 显式 task observe;0.2.2 另提供有界 task wait
依赖 兼容矩阵中的DSH、Node.js ≥22(满足宿主要求) Node.js ≥22与sharp(视频抽帧另需ffmpeg、ffprobe)

两条路径读写同一份 Core Task/Artifact 事实:CLI 可指向 DSH profile 的 core-v0 数据根检查或导出作品,反之亦然。只读检查可与写者共存;导出也属于写操作,同一数据根已有写者时会返回 busy。

图像处理依赖 sharp 及对应平台的二进制。sharp 无法加载时也可能阻止 CLI 或插件启动;请先修复依赖安装,再运行 dsh-iris doctor 检查环境。

可选的旧配置导入

首次使用时,在 Iris 工作台添加供应商或引用 DSH 已有连接。Iris 使用自己的配置,不会默认扫描其他项目。

引用 DSH 已有连接只保存连接标识,在操作时读取宿主管理的地址和密钥;无可复用连接时可手动填写供应商信息。

功能自动池、手选与停用:确认模型用途时可直接启用自动池,免去再次逐项分配。旧名单和空分配保持原行为。

自动池按需同步模型目录(成功缓存 10 分钟),并隔离当前连接已明确返回“模型不存在”的条目。供应商详情默认折叠展示同步结果;失败保留旧目录,新增条目仍待确认用途,手工配置与历史成功保留。

已有旧 ai-paint 配置时,可通过 IRIS_IMPORT_WORKBENCH_CONFIG 显式指定来源文件的绝对路径,一次性导入供应商;不修改来源文件、不持续同步。该变量保存文件路径,不包含 API Key。具体操作见用户指南。

最快开始

先用 dsh --version 核对宿主版本,并确认 pnpm 在 PATH 中。Iris 与 DSH 的版本号独立;0.2.7 沿用 兼容矩阵 列出的 12 个准确版本。

你的 DSH Iris 选择 安装来源
矩阵中的0.1.2/0.1.5/0.1.7/0.2线准确版本 0.2.7 固定 npm 版本
未列入矩阵的版本 尚未验收 按实际宿主接口另行检查

DSH插件:安装0.2.7

安装固定版本到 Web profile:

dsh plugin --profile web add @mokuyoaxis/[email protected]
dsh web

插件在下一次 DSH 启动时装载。Web UI 默认位于 http://127.0.0.1:3080;启动输出带认证参数时请打开完整 URL。更新后需重新加载后端并刷新客户端。

独立CLI:安装0.2.7

在自己的项目中安装,无需 DSH:

npm install @mokuyoaxis/[email protected]
npx dsh-iris --help

需要单独下载时运行npm pack @mokuyoaxis/[email protected]。仍需保留历史Iris0.1.4时可以固定其版本;历史DSH/Node范围见兼容矩阵,0.1.4不包含当前Core媒体CLI及后续新功能。

dsh-market 安装时的版本选择

市场条目应对应完整包名 @mokuyoaxis/dsh-iris。安装前同时核对市场显示的Iris版本与本机 dsh --version,按 兼容矩阵 选择对应发行版。市场目录与npm信息可能有缓存,以实际包的顶层 engines.dsh、Node要求及客户端peer为准;市场中可见不代表任意DSH版本兼容。

npm 上无 scope 的 dsh-iris 属于另一款插件。安装和更新 Iris Media 时必须保留完整包名 @mokuyoaxis/dsh-iris。

首次启动后,打开“设置 → Iris 工作台 → + 添加供应商”,引用 DSH 连接或手动填写地址与密钥,明确媒体协议,再同步目录并确认模型用途。首次配置可同时启用所选功能的自动池;保留手选模式时需选择模型。完整步骤见 用户指南 和 功能模型池。

配置完成后,最小指令可以是:

使用 iris_draw_image:画一只坐在蓝色窗边的白猫。
总结我刚上传的这张图片。
用 Iris 生成一首复古摇滚配乐,保存为音频作品。
用 Iris 总结 /absolute/path/demo.mp4,再把摘要合成为语音。

DSH 的 profile 与插件命令由官方安装说明定义。生成图片、视频或语音可能产生供应商费用。

给 AI Agent 的可复制安装与使用提示见 Agent 简要 Prompt。

功能概览

Iris 架构总览

  • 图像生成、文生视频、图生视频和 S2V 数字人视频
  • 音乐生成、文本转语音与音频转写
  • 看图问答、长图 OCR、目标定位、裁剪和像素差异分析
  • 视频抽帧与多模态内容摘要
  • 异步任务跟踪、重启恢复和带授权令牌的媒体播放
  • 独立作品库:清除任务历史后仍可浏览本地作品,并可重新索引旧 outputs/
  • 多供应商模型池,以及按 供应商 + 模型 分配能力
  • 浏览器上传、会话附件和宿主路径三种文件来源
  • 独立于工作台的对话框提示词优化,支持当前会话模型与 JSON 固定模型路由

使用前准备

  • 满足所用 DeepSeek Harness 版本要求的 Node.js;Iris 0.2.x 最低为 22.0.0,旧 npm 0.1.4 的历史要求为 20.10.0
  • 一个可用的 DeepSeek Harness 环境,以及 PATH 中的 pnpm
  • 至少一个受支持的媒体或视觉服务供应商
  • 从视频文件抽帧或摘要时,需要系统提供 ffmpeg 与 ffprobe;复用 Core 帧摘要无需这两个工具

安装插件后,在 Iris 工作台中添加供应商并为所需能力分配模型。供应商密钥保存在宿主侧的 Iris 配置中;POSIX 系统上 Iris 自有目录和文件分别收紧为 0700 与 0600,界面和接口不会返回完整密钥。Windows 的 mode 不等同于 ACL,仍需依赖当前用户目录和系统账户权限。

DeepSeek Harness 适配

dsh-iris仍按DSH原生插件装载。0.2.7服务端注册17个Agent工具,包含图片导入、改图与音乐;使用宿主提供的路由、附件、模型和生命周期能力。Web客户端接入设置页、会话输入区与全局悬浮层,不启动额外服务或监听端口。

上传图片或本地图片可保存为持久作品,继续看图、改图及导出,见 图片导入。

Iris 范围 DSH 范围 验证记录
已发布稳定版 0.1.4 >=0.1.2-rc.1 <0.1.3-0 历史 Linux ARM64 干净与日常 Web profile 验收
已发布稳定版 0.1.4 0.1.5-rc.1 历史 Android/Linux 日常 profile 验收
0.2.0 仅 0.2.0-rc.2 真实安装服务隔离验收、Core diff 与 SlotRegistry;已有用户实机演示反馈,逐项浏览器操作与异步重启/回退继续验收
0.2.2 仅 0.2.0-rc.2 真实安装服务隔离检查覆盖 15 个工具与 31 项边界;完整浏览器/移动端及真实异步重启验收仍待完成
0.2.3 仅 0.2.0-rc.2 增加音乐工具和第三项 Skill;升级后用宿主诊断检查实际装载
0.2.4 0.2.0-rc.2 或 0.2.1-alpha.4 17工具/3项Skill;两版实际SDK、加载器与界面插槽隔离验收,完整浏览器/热更新另验
0.2.5 0.1.2/0.1.5/0.1.7/0.2线的12个准确版本,见兼容矩阵 每版官方SDK隔离检查,包含Music与Qwen工具链;旧profile另通过实际安装包装载
0.2.7 沿用0.2.6的12个准确版本 截图修复、实例运行时、图片流程、本地 API 和 Core Skill;独立 Web 仍为源码 Demo
0.2.6 沿用0.2.5的12个准确版本 新增连接复用、功能池与目录;连接引用按宿主公开服务检测,具体边界见该版发布说明

当前声明与验收范围见 版本兼容,早期rc.2修正见 历史适配记录;npm0.1.4不包含这些后续适配。

0.2.5按宿主实际接口能力适配,按已验证的准确版本声明支持。未列出的版本需另行验收。自动化检查分别覆盖服务端装载、工具与Skill注册、路由及客户端Slot;完整浏览器操作与旧数据升级另行验收。Doctor会指出当前可观察到的具体边界。

Core 与 DSH Adapter 正在分离,DSH 继续加载同一个 npm 包,Adapter 把宿主能力映射给 Core。若 DSH 修改 API,修复应限制在 Adapter 和客户端桥接;Core 的任务和产物语义不随宿主版本改变。0.2.0 已提供无 DSH CLI;第二个真实 Host Adapter 完成并验收后再移除名称中的 dsh 前缀,届时发布新的 npm 包,见路线图。

工具

生成、语音与任务

工具 用途
iris_draw_image 根据提示词生成图片
iris_import_image 将本地图片或会话图片保存为持久作品,返回后续操作使用的作品ID
iris_edit_image 按原图 Artifact ID 和修改指令创建关联来源的新图片(聊天生图或已接入的原生 Qwen 改图模型)
iris_generate_video 生成文生视频、图生视频或 S2V 数字人视频
iris_generate_music 根据描述生成音乐,保存为可试听、下载的音频作品
iris_speak_text 将文本合成为语音
iris_transcribe_audio 将音频转写为文本
iris_task_status 查询单个任务或最近任务的状态和产物

视觉与图像处理

工具 用途
iris_look_at_image 对图片提问并获得视觉模型回答
iris_relook_attachment 使用新问题重新查看会话中的图片附件
iris_long_ocr 分块识别长截图或长图文字
iris_locate 定位图片中的目标并返回像素坐标
iris_crop 按像素区域裁剪图片
iris_pixel_diff 比较两张图片并生成差异统计和热力图
iris_html_screenshot 在受限环境中将 HTML 字符串渲染为截图

视频处理

工具 用途
iris_video_frames 从视频中均匀抽取画面帧
iris_media_summarize 结合画面帧和可选音频转写生成视频摘要

文件输入

看图、定位和 OCR 可使用本地路径、会话附件或 Core 图片 artifact_id;摘要可直接复用 frame_artifact_ids。Artifact 输入只读核验 MIME 与内容哈希,无需原文件或临时导出,PNG/JPEG/WebP 不需要用户先转成 JPG。命令示例见 视觉 CLI。

看图、OCR 每块、定位和聊天改图按账号/模型预算准备发送副本,默认 8 MiB,可调整大小与最长边;Core 原图、下载尺寸和哈希保持不变。OCR 标明缩小后的实际尺寸与细字风险,定位返回原图像素坐标。详见 视觉输入预算。

Core图片改图直接使用来源ID,修改版另存为新作品;改图支持聊天生图协议及0.2.4的DashScope原生Qwen改图。作品分页、过滤、跨页选择、下载与回收操作见 工作台作品管理。

Iris 支持三种文件来源,推荐顺序如下:

  1. 浏览器上传:适合本地文件和跨环境访问,单文件上限为 64 MB。
  2. 会话附件:适合复用当前会话中已经上传或生成的媒体。
  3. 宿主路径:适合宿主可以直接读取的大文件。这里填写的是宿主进程看到的路径,不一定等同于浏览器所在系统的路径。

上传内容保存在 $DSH_HOME/iris/v1/uploads/,默认保留 7 天。不同系统下的路径选择建议见文件访问与跨环境。

对话框提示词优化

0.2.2 在既有按次规则、只组装和可编辑对照预览上增加一般功能。一般功能可折叠,提供通用、画图、改图、视频与数字人用途,默认忠实整理保留原文和句序;改写表达需明确选择,补充建议单独获取和采纳。默认指令贴近项目 Skills,既有自定义 v1 配置与旧 API 文字协议保留。规则不持久化,未新增独立提示词 CLI。功能及边界见 提示词优化系统。

Iris 会在 DSH 对话输入区提供一个无边框、无文字的“🫧”入口,不需要打开 Iris 工作台。点击后打开带背景模糊、半透明层次和柔和光影的玻璃悬浮窗;桌面端靠近输入区显示,窄屏与 Android 浏览器自动切换为带安全区和内部滚动的底部面板。它只读取当前未发送的纯文本草稿;结果先预览,用户确认后才写回输入框,不会自动发送。含 @ 或 / 结构化引用的草稿暂不改写,以免引用身份丢失。

默认使用当前会话选中的主模型;会话尚未选定模型时回退到 DSH 默认模型。优化请求不携带聊天历史、工具、附件或工作区,只发送当前草稿与目标模板。为避免推理模型在正文前耗尽生成预算,默认 generation.reasoningEffort 为 off-if-supported:仅在 DSH 模型元数据明确支持关闭 thinking 时禁用推理,否则使用供应商默认值,并且不再继承主会话的 High/Low 档位。可在 JSON 中改为 provider-default、inherit 或模型声明的具体 effort ID;成本与稳定性优先时,建议使用 fixed 路由指定轻量非思考模型。用户也可以导出 prompt-optimizer.json,将 route.mode 改为 fixed 并指定其他已在 DSH 注册的 provider 与 model,然后从面板重新导入。面板提供“恢复默认”,可还原 Iris 内置 Prompt、目标模板、会话模型路由和生成参数。该对话入口可以单独关闭,并从 Iris 工作台重新启用;关闭不会停用工作台、Agent 工具或任务后台。优化调用可能产生对应文本模型的费用。

模型分配与故障转移

Iris 按功能组织有序模型候选池,能力分配使用 providerId::modelId 区分执行器。同名模型来自不同供应商或账号时是独立选项;阿里云百炼可为媒体请求单独配置 Workspace mediaBaseUrl。

0.2.2 只采用明确功能标签、旧能力字段绑定或供应商能力元数据,裸账号和名称不再自动赋能。发现保留未标注模型,可在工作台“设置功能”或 CLI models caps 中明确用途;已有明确标签优先,分配顺序和安全切换保持。旧 0.2.1 的裸账号与模型名称推断不再用于功能赋能。

生成类能力可以配置多个候选模型。每次请求都从有序列表首项开始,并非 round-robin;Iris 只有在供应商明确证明未受理时才会尝试下一个候选;500、超时、断网、响应缺失、轮询失败和本地落盘失败都不会授权自动重提。远端服务一旦受理任务,Iris 只会恢复观察或交付,以免产生重复任务或重复计费。音乐入口另外支持按本次参数执行有限的 502 重试,每次重发建立新任务,可能消耗额外额度;可设置 retry_502: 0 关闭,见 Music。

工作台把观察暂停、受理/结果未知和生成成功但交付失败单列为“需要处理”。“重新观察”不会提交;“重新交付”不会重新生成;“标为已读/恢复提醒”只改变本地提醒队列;只有“知情重试”会创建新任务,并要求用户逐次确认潜在重复费用。新任务创建后,原提醒自动归档但保留未知事实和新旧任务关联。任务语义、架构、安全边界与故障证据分别见 TASK_SEMANTICS.md、ARCHITECTURE.md、SECURITY.md 和 FAULT_INJECTION.md。

生成任务生命周期与受理边界

转写是独立的 transcribe 能力,不会占用 TTS 或视觉能力的模型配置。

能力健康与模型验证

工作台与主泡泡用颜色和文字显示健康状态:灰色未配置,蓝色待验证,绿色表示对应“供应商 × 模型 × 能力”7 天内成功,暗红色表示明确认证/权限失败。0.2.2 另以琥珀色显示短时 429 冷却,红色显示已确认额度或预算耗尽,并给出原因和恢复条件。

Iris 不做后台探测。短时 429 遵从 Retry-After,缺失时冷却 60 秒;到期恢复候选资格,不自动调用验证。明确免费额度或预算耗尽则停用至手动实测成功,重启后仍跳过;实测按钮保持可用。模型池可逐项实测视觉、图片和 TTS,视频与转写可用 CLI 实测命令提供真实素材。网络、5xx、内容安全、取消和受理未知不覆盖近期成功。Host Doctor 只核验装载与 Host Port。完整规则见 Provider 与能力健康状态。

离线诊断

无需安装或启动 DSH,也不会发送供应商请求:

npx @mokuyoaxis/dsh-iris doctor
npx @mokuyoaxis/dsh-iris doctor --json

安装后的二进制名是 dsh-iris。退出码 0 表示正常、1 表示有警告、2 表示有硬错误。离线 Doctor 检查 Node、sharp、ffmpeg/ffprobe、数据目录真实写入、配置、模型/分配、任务语义、临时文件和孤儿/缺失产物。

运行中的 DSH 另在 Iris 工作台提供“宿主诊断”卡片及受 Host/浏览器来源守卫保护的 /iris/api/doctor JSON,检查宿主版本、插件、17 工具/3 项 Skill、四组路由、宿主能力、客户端版本和四个 UI Slot。该守卫不提供身份认证。诊断只读取安全快照与注册证据,不调用 Browser、模型或 Provider,详见 Host Doctor。

组合工作流示例

三项 Agent Skills 分别指导单步媒体操作、多步骤创作与界面验收。下图是既有「看图 → 重绘 → 自检」示例;检查按用户目标加入,已有作品和部分结果保留,音乐作为可选素材步骤。

组合工作流示例

仓库的 docs/assets/diagrams/ 另提供 SVG 版本与可编辑 drawio 源文件;npm 包只随附 README 直接展示的 PNG。

数据与任务

运行数据默认位于 $DSH_HOME/iris/v1/:

位置 内容
providers.json 供应商、能力分配和脱敏健康证据,文件权限为 0600
prompt-optimizer.json 用户导入的优化 Prompt、目标模板、模型路由和生成参数,文件权限为 0600
core-v0/ 新任务、Attempt、Artifact 对象、Manifest 与可恢复隔离事务
tasks.json 旧版任务元数据和附件索引,最多保留 500 条
artifacts.json 旧版作品库最小索引与随机访问令牌,不含 Prompt、Provider 或任务关系
outputs/ 旧版生成和处理后的媒体文件
uploads/ 浏览器上传的临时输入副本

0.1.1 首次装载时会收紧既有 $DSH_HOME/iris/v1/ 树的 POSIX 权限,不修改文件内容,也不跟随符号链接。大媒体下载采用流式私有临时文件与原子替换,不再把整段视频载入内存。

异步任务会在后台轮询。插件重启后,可以继续接管仍在远端执行的任务。取消信号会传递到本地等待与轮询流程;是否能取消远端计算,取决于供应商接口。

作品库与任务历史相互独立:清理终态任务不会删除作品,新旧媒体可在工作台分页浏览,也可用“找回本地作品”重新扫描 outputs/。旧版作品删除会删除实际文件并单独确认,见 作品库 v0;Core 作品先预览,再移入可恢复回收区,见 作品管理。收藏、标签和搜索仍为后续功能。

旧版媒体通过带随机令牌的链接访问;Core 媒体以随机 Artifact ID 读取,受宿主与浏览器来源守卫保护。图片会尽量转存为 DSH 持久附件,方便在会话中继续使用。

安全说明

  • 供应商密钥不会通过状态接口返回。
  • DashScope 媒体协议只允许把密钥发送到阿里云官方 HTTPS、地域或 Workspace 域名;可用独立 mediaBaseUrl 与视觉/对话端点分流,其他地址默认推断为 OpenAI Images 兼容协议。
  • /iris/* 默认只接受回环 Host;LAN 或反向代理必须显式设置 IRIS_TRUSTED_HOSTS,修改状态的请求还会检查跨站来源。
  • IRIS_TRUSTED_HOSTS 不是认证机制。对公网或不可信网络开放 DSH 时,必须在反向代理或宿主层配置身份认证与 HTTPS。
  • 模型实测只按单项能力运行,并在真实供应商调用前确认;视频和转写不会用空样本自动提交付费探针。
  • HTML 截图在不具备同源权限的沙箱页面中渲染,脚本和外部网络默认不可用。
  • 旧版媒体链接使用随机能力令牌,Core 媒体按 Artifact ID 核验内容哈希;宿主 allowlist 不替代用户认证。
  • Iris 不提供独立账号体系,多用户隔离和访问控制由 DeepSeek Harness 部署负责。

已知限制

  • sharp 包含原生组件;主要支持 glibc Linux、Windows 和 macOS。裸 Termux 等非标准运行环境可能需要额外处理。
  • 视频文件抽帧和摘要依赖系统安装的 ffmpeg 与 ffprobe;复用 Core 帧无需这两个工具。
  • HTML 截图不加载远程脚本、字体或图片;需要的资源应先内联。
  • WSL、容器和远程部署中,浏览器路径通常不能直接交给宿主读取,请优先上传文件。
  • 供应商返回的模型清单只是候选集合,模型是否真正支持某项能力仍以实际调用为准。

Agent Skills

0.2.7 新增宿主无关的 iris-core,通过现有独立 CLI 完成图片导入、生成、编辑与原任务/作品取回;英文正文附中文标题。其他 harness 可用 dsh-iris skills install --target kimi 或明确扫描目录安装,配套状态检查、冲突保护与可恢复卸载,见 Core Skill 说明。这些资源和命令随 npm 0.2.7 分发,DSH 继续使用下方三项 Skills;正式 MCP 仍待实现。

插件通过 DSH Skill registry 注册三项随包 Skill:

Skill 适用场景
iris-use 单步生成、改图、看图/OCR、语音、音乐、查询与作品交付
iris-compose-media 图片版本、视频素材、旁白、S2V和可选配乐等多步骤创作
iris-verify-ui 界面还原与截图验收,区分通过、部分通过、失败和证据不足

Skill 不依赖会话工作目录,项目中的同名 Skill 仍优先;宿主未提供 registry 时,工具仍可独立使用。三项共享能力与产物说明,区分Core ID、附件、播放链接和文件输入;TTS用于后续文件处理时先导出。

用户想稳定指定方法时,可直接用 DSH 的 /name 形式:

/iris-use 生成一首摇滚配乐,返回音频作品和播放链接

/iris-compose-media 分析我上传的产品照,生成同构图海报,再检查是否符合要求

/iris-verify-ui 对比当前截图和参考图,定位偏差并给出有证据的结论

也可以自然语言请求或直接指定工具。单步操作由iris-use指导,多步骤由编排Skill指导;音乐仅在用户要求时加入。Skill不能替代工具装载或模型分配,也不改变任务、费用确认和安全边界。

开发与验证

在项目目录运行:

npm test

测试覆盖配置合并、模型身份、任务生命周期、生成动作、HTTP/SSE 路由、客户端交互和安全边界。项目采用 ES Modules,不需要构建步骤。

测试调度使用 Node.js,逐文件启动独立进程,首个失败即停止,不依赖 Bash;临时目录使用系统 API 并在退出时清理。GitHub Actions 定义 Linux/Windows × Node.js 22.0.0/最新 22.x 矩阵,并在最低版本重复检查进程自然退出;发布前钩子会重新运行完整测试。原生 Windows/WSL 的 DSH 宿主烟测仍待实机验证。

发布由 v* 标签触发 .github/workflows/release.yml:跑完整测试后打包,用工作流内置 GITHUB_TOKEN 创建 GitHub Release(附 tarball,发布说明优先取自 docs/releases/<版本>.md,否则取 CHANGELOG 对应章节),并在配置了 NPM_TOKEN secret 时发布到 npm。本机无需任何 GitHub 凭据。

文档

License

MIT