ysr666/dsh-vision-router
ysr666/dsh-vision-router为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
English | 中文
dsh-comfyui
版本配对(选对 dsh 版本再装,否则 dshmarket 会报风险提示):
| dsh-comfyui | 配对的 DeepSeek Harness | 说明 |
| --- | --- | --- |
| 0.5.x(最新,`latest` tag) | ≥ 0.1.2,< 0.3(含 0.1.5 / 0.1.6 / 0.1.7 / 0.2.x 预发布版) | 0.5.3 起兼容 dsh 0.1.7 的设置机制(设置页保存直接生效,无需重启);0.5.5 起兼容 dsh 0.2.x |
| 0.3.x(beta 线,`beta` tag) | 0.1.1 | 老版本 dsh 请留在 0.3.x 线 |
安装:dsh plugin --profile web add dsh-comfyui(装最新 0.5.x)/dsh plugin --profile web add dsh-comfyui@beta(老宿主装 0.3.x)。
Agent 直接驱动 ComfyUI,无需手动操作画布:
comfyui_workflow —— 主入口:生成内容就先 list 挑库里的工作流,再 run(按 id 运行 + 参数覆盖,键名写错会被拒绝,未传的参数使用默认值)。list 还带服务器地址、本机 ComfyUI 目录、加载区素材和每个工作流的参数清单;skill 按需读取某工作流的技能包,refresh 重算参数快照。mode: "sync" 等待结果,mode: "async" 后台任务(视频/音频强烈建议)——提交后 Agent 直接结束本轮,完成时由宿主通知唤醒;生成完毕后统一由 Agent 把结果里的 Markdown 媒体引用贴进回复(同步、异步、PTC 模式一致),并用一句话说明生成了什么;视频/音频链接下方会自动出现内嵌播放器。comfyui_skill —— 读写工作流技能包(list / read / write / append / mkdir / rename / delete / enable / require),Agent 可把踩坑经验写回技能包,跨会话复用。comfyui_object_info + comfyui_run —— 次要,只用于手写工作流(临时测试,或按本机环境新建工作流):先用 comfyui_object_info 查节点与可用模型,再手写 API JSON,用 comfyui_run 运行测试。测通后可在面板「新建工作流」存进库。右侧停靠面板,三个页签:
.json,标签分类 + 下拉筛选);支持预设导出 / 导入:把选中的工作流(默认全选,带技能包的行有标注)连同参数与技能包打包成 .zip 预设包带走,导出完成后的回执显示实际打包的工作流名单、文件名、体积与警告;把预设包拖进对话框(或点选文件)即可整包分析、按需导入,技能包原样完整还原(上千文件的模板大包也没问题),始终创建为新工作流、不覆盖现有库;自动检测 ComfyUI 端保存的图工作流,支持提取为可运行工作流(画布含多个独立流程时可选整体 / 按分量 / 主流程)。点击会话头部的「ComfyUI 面板」按钮时会自动探测后端与 ComfyUI 的连接:连不上时面板自动收起(按钮不高亮),页面顶部弹出提醒(含具体原因),提示启动本机 ComfyUI(确保后端能检测到端口)或到设置页检查远程服务器地址;连接正常时静默,仅在不通→恢复时短暂显示「连接正常」。
工作流页顶部的媒体加载器,仿 ComfyUI LoadImage 节点:图片 / 视频 / 音频可视化选择(可就地试听)、粘贴上传、多加载位。已放入的素材按顺序自动填进工作流里未显式指定的加载参数——Agent 不需要猜文件名;未传 width/height 时自动匹配源图分辨率。上传按内容哈希去重命名。
comfyui_workflow list 的 loadArea 字段会把加载位数与内容暴露给 Agent。
参数清单只能告诉 Agent"有哪些旋钮",说不出"这个工作流适合什么、哪一步会翻车"。复杂工作流可以挂一个技能包(面板工作流卡片上点「技能包」按钮启用):
<数据目录>/skills/<工作流>/
SKILL.md # 主文档:适用场景 / 关键参数 / 注意事项
references/ # 参考文档:风格合集、排错记录
assets/ # 参考图等素材(可在面板预览)comfyui_workflow list 只有一行摘要 → 选中工作流后 action: skill 取正文 → 正文点名某份参考文档时才读那一篇。几十个工作流各带整套文档,平时对话成本也只是一行摘要。技能包目录)。comfyui_skill 工具让 Agent 查看/编写技能包——踩到坑就 append 进 SKILL.md,下次(换个会话也一样)直接复用经验。run 会被拒绝并提示先读。生成文件经同源路由(/comfyui/media)按文件名转发,不依赖 ComfyUI 内存态历史——重启或清空历史后旧结果照样能打开。浏览器不直接接触 ComfyUI:无 CORS、无混合内容、API Key 不下发。
DH 设置页新增 "ComfyUI" 分区:服务器地址、API Key 环境变量名、本机 ComfyUI 目录、媒体访问地址、测试连接、界面语言切换,改完即生效,无需改 cordis.yml。
# web profile
dsh plugin --profile web add dsh-comfyui
# desktop profile
dsh plugin --profile desktop add dsh-comfyui重启应用后:侧边栏出现面板入口,设置页出现 "ComfyUI" 分区,Agent 立即获得全部工具与配套 skill。
直接告诉 Agent,例如:
远程 ComfyUI 若位于需鉴权的代理之后,通过凭据存储或 apiKeyEnv 指定的环境变量(默认 COMFYUI_API_KEY)提供密钥,绝不发给浏览器。
cordis.yml 的 comfyui 段(多数可在设置页改):
键 · 默认值 · 说明 baseUrl · http://127.0.0.1:8188 · ComfyUI 服务器地址 apiKeyEnv · COMFYUI_API_KEY · 可选 API Key 的环境变量 / 凭据名 dataDir · *(DSH 数据目录)* · 工作流库与资产索引存放位置 comfyuiDirs · [] · 本机 ComfyUI 安装目录列表(可多条),Agent 据此定位 models、自定义节点、TTS 音色库 outputDir · ''(自动推断) · ComfyUI 输出目录(删除资产时定位文件用) mediaHost · ''(自动检测) · 生成媒体的外网访问基址 skillsDir · ''(默认 dataDir/skills) · 技能包根目录(绝对路径,可放同步盘 / 版本库)
web / desktop profile)http://127.0.0.1:8188)MIT