前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。对于开发者来说,如何让 Agent 能够直接调用本地运行的图形化工具(如 ComfyUI),是一个常见需求。传统的做法需要编写大量的 API 适配代码或通过脚本中转。DSH 的 Agent 插件机制提供了解决方案:通过接入 dsh-comfyui-agent,Agent 可以直接读取你本地保存的 ComfyUI 画布工作流、修改参数、执行出图,并将结果直接回显在对话中。
插件介绍¶
dsh-comfyui-agent 是一个面向 DeepSeek Harness 0.2.0-rc.2 的工具插件,由开发者 Nana7mi0721 维护。它解决了 Agent 与本地 ComfyUI 通信的痛点,让 Agent 能够像操作本地程序一样控制 ComfyUI。
- 核心价值:直接驱动本地 ComfyUI,跑存好的工作流,产出的图片直接显示在对话里。
- 兼容性:兼容 DSH 0.2.0-rc.2(
@deepseek-ai/dsh-tools0.2.0-rc.2 / cordis 4.x)。该插件不依赖dsh-settings,因此可以直接安装使用。 - 许可证:MIT。
核心功能¶
该插件注册了五个工具,覆盖了从状态探测到结果展示的完整流程:
-
comfyui_status
- 作用:探活。用于确认 ComfyUI 版本、队列长度、路径以及可用模型清单。
- 使用时机:在第一次使用前先跑它,确认连接正常。
-
comfyui_nodes
- 作用:搜节点类或查某个类的输入定义。
- 使用时机:不确定某个节点具体需要什么参数时使用。
-
comfyui_workflows
- 作用:管理本地保存的画布工作流。
- 用法:
action:"list":列出工作流名字、节点数、输出节点。action:"params":列出可调参数(按节点分组,带取值范围)。action:"get":打印完整 API 工作流(诊断用,费 token)。
-
comfyui_run
- 作用:真正跑图。
- 用法:通过
file(画布工作流名)、template(内置模板)或workflow(自定义 API 工作流对象)执行。
-
comfyui_show
- 作用:查看或上传图片。
- 用法:
action:"latest":查看最近产出(默认 6 张)。action:"view":按文件名取图。action:"upload":把本地图片传进 ComfyUI 的input/(img2img 要用)。
安装与配置¶
插件安装后,配置项会写入 ~/.dsh/profiles/desktop/cordis.patch.yml。
安装步骤:
- 确保你的 DSH 版本为 0.2.0-rc.2。
- 执行以下命令将插件安装到桌面配置文件中:
dsh plugin --profile desktop add \
https://github.com/Nana7mi0721/dsh-comfyui-agent/releases/download/v0.1.3/dsh-comfyui-agent-0.1.3.tgz
配置说明:
安装时(或事后修改)需要配置 ComfyUI 的连接信息,配置项如下:
| 字段 | 默认值 | 说明 |
|---|---|---|
baseUrl |
http://127.0.0.1:8188 |
ComfyUI 的 HTTP 服务地址。核心默认只监听 127.0.0.1,跨机器需加 --listen |
comfyuiDir |
E:\ComfyUI\ComfyUI |
ComfyUI 本体目录(读取 output/、input/、user/default/workflows/) |
workflowsDir |
空 | 留空则自动使用 <comfyuiDir>/user/default/workflows |
timeoutMs |
120000 | 单次 HTTP 请求超时时间 |
pollIntervalMs |
1200 | 等待运行结果时的轮询间隔 |
runTimeoutMs |
1800000 | 一次运行跑完的上限(30 分钟) |
toolTimeoutMs |
2400000 | 单个工具调用的上限(40 分钟) |
典型用法¶
下面是一个 Agent 修改画布参数并重新出图的典型对话流程:
-
列出参数:首先查看画布里有哪些可调参数。
> Agent:comfyui_workflows {action:"params", name:"anima v2"}
> 输出结果:看到节点 765:709 是 steps(步数)。 -
第一次出图:使用默认步数(如 12)出一张图。
> Agent:comfyui_run {file:"anima v2", inputs:{"765:709":{"value":12}}, savePrefix:"silver"} -
修改参数再次出图:将步数改为 20。
> Agent:comfyui_run {file:"anima v2", inputs:{"765:709":{"value":20}}, savePrefix:"silver20"}
注意事项与限制¶
在使用该插件时,请注意以下事实:
- 纯前端节点会被跳过:如果工作流中包含纯前端节点(如 Note、Fast Muter 或没有服务端实现的 rgthree 开关),这些节点会被跳过。如果下游连线因节点被跳过而断开,会在工具回复的
warnings中说明。 - 显存限制:在 8GB 显存下,建议不要并发提交多个大工作流,以免 OOM。
- 版本依赖:必须安装 DSH 0.2.0-rc.2 或更高版本。
- 图片回显:默认最多回显 4 张图(上限 12 张),显式设置
0则只返回路径不回显图片。
总结¶
dsh-comfyui-agent 通过将 ComfyUI 的图形化工作流转化为 Agent 可执行的指令,实现了本地绘图任务的自动化。它不依赖额外的配置管理库,直接通过 cordis 挂载工具,配合简单的配置即可让 Agent 具备操作本地绘图软件的能力。
- GitHub 仓库:https://github.com/Nana7mi0721/dsh-comfyui-agent
- 社区目录:https://www.skillhub.cn/plugins/Nana7mi0721/dsh-comfyui-agent