🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

ComfyUI 智能驱动 fandc520/dsh-comfyui

DeepSeek Harnessv0.5.5
fandc5208 天前有提交已提供中文文档扫描:含敏感能力

一个基于DeepSeek-Harness的ComfyUI插件

61.9/100
综合分
141
GitHub 星标
2,391
npm 周下载
—/5
用户评分

数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-comfyui
npm 源 · dsh-comfyui 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-comfyui @ 0.5.5
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 11:45:21

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 73 处,展示前 36 条)
  • 发起网络请求
    client/client.js:633
    const data = await (await fetch("/comfyui/queue", { headers: { accept: "application/json" } })).json();
  • 发起网络请求
    client/client.js:681
    fetch("/comfyui/workflows", { headers: { accept: "application/json" } }).then(async (response) => await response.json()).then((data) => {
  • 发起网络请求
    client/client.js:717
    const data = await (await fetch("/comfyui/assets", { headers: { accept: "application/json" } })).json();
  • 发起网络请求
    client/client.js:727
    const data = await (await fetch(`/comfyui/jobs/media?promptId=${encodeURIComponent(promptId)}`, { headers: { accept: "application/json" } })).json();
  • 发起网络请求
    client/client.js:872
    const response = await fetch(url, { headers: { accept: "application/json" } });
  • 发起网络请求
    client/client.js:890
    const response = await fetch(url, {
  • 写入剪贴板
    client/client.js:1644
    if (navigator.clipboard !== void 0) return navigator.clipboard.writeText(text).then(() => true).catch(() => copyViaTextarea(text));
  • 发起网络请求
    lib/comfyui.js:96
    const response = await fetch(this.endpoint(path), init);
  • 发起网络请求
    lib/comfyui.js:105
    const retry = await fetch(`${base}/api${path}`, init);
  • 发起网络请求
    lib/comfyui.js:148
    await this.request(path, {}, timeoutMs);
  • 发起网络请求
    lib/comfyui.js:159
    const data = await this.request('/upload/image', {
  • 发起网络请求
    lib/comfyui.js:182
    const data = await this.request('/upload/image', { method: 'POST', body: form }, opts.timeoutMs ?? Math.max(this.connectTimeoutMs, 120_000));
  • 发起网络请求
    lib/comfyui.js:195
    const data = await this.request('/prompt', {
  • 读取本地文件
    lib/store.js:38
    const parsed = JSON.parse(await readFile(path, 'utf8'));
  • 写入本地文件
    lib/store.js:68
    await mkdir(dirname(this.workflowsPath), { recursive: true });
  • 写入本地文件
    lib/store.js:79
    await writeFile(this.mediaSizesPath, `${JSON.stringify(sizes, null, 2)}\n`, 'utf8');
  • 写入本地文件
    lib/store.js:93
    await writeFile(this.mediaHashesPath, `${JSON.stringify(hashes, null, 2)}\n`, 'utf8');
  • 写入本地文件
    lib/store.js:132
    await writeFile(this.currentImagePath, JSON.stringify({ items: slots }, null, 2) + NEWLINE, 'utf8');
  • 写入本地文件
    lib/store.js:142
    await writeFile(this.workflowsPath, `${JSON.stringify(list, null, 2)}\n`, 'utf8');
  • 写入本地文件
    lib/store.js:241
    await writeFile(this.assetsPath, JSON.stringify(list, null, 2) + NEWLINE, 'utf8');
  • 写入本地文件
    lib/skillpack.js:296
    await mkdir(dir.value, { recursive: true });
  • 读取本地文件
    lib/skillpack.js:299
    await stat(main);
  • 写入本地文件
    lib/skillpack.js:302
    await writeFile(main, seed, 'utf8');
  • 读取本地文件
    lib/skillpack.js:320
    entries = await readdir(this.root);
  • 读取本地文件
    lib/skillpack.js:332
    const stats = await stat(dir.value);
  • 读取本地文件
    lib/skillpack.js:348
    const stats = await stat(dir.value);
  • 读取本地文件
    lib/skillpack.js:367
    for (const entry of (await readdir(dir.value, { withFileTypes: true })).sort((a, b) => a.name.localeCompare(b.name))) {
  • 读取本地文件
    lib/skillpack.js:379
    entries = await readdir(bucketDir);
  • 写入本地文件
    lib/skillpack.js:434
    await mkdir(target, { recursive: true });
  • 写入本地文件
    lib/skillpack.js:503
    await mkdir(join(before.value.dir, parsed.value.bucket), { recursive: true });
  • 写入本地文件
    lib/skillpack.js:504
    await writeFile(target.value, bytes);
  • 写入本地文件
    lib/skillpack.js:550
    await mkdir(dirname(item.target), { recursive: true });
  • 删除本地文件
    lib/skillpack.js:610
    await unlink(target.value);
  • 删除本地文件递归
    lib/skillpack.js:622
    await rm(dir.value, { recursive: true, force: true });
  • 删除本地文件
    lib/routes.js:70
    await unlink(target);
  • 执行外部命令来自配置/变量
    lib/routes.js:875
    const child = spawn(opener, [pack.dir], { detached: true, stdio: 'ignore' });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-settings
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图
v0.5.52026-10-18
· 兼容 DeepSeek Harness 0.2.x(#12、#13、#16、#17、#19;合入 #18) · 新增 engines.dsh: ">=0.1.2-alpha.4 <0.3.0-0"(dsh 0.2.1 起兼容检查只读这个字段),@deepseek-ai/dsh-settings peer 同步补上 0.2.0 / 0.2.1 预发布线——0.2.0-rc.2 等宿主不再被安装拦截。 · 后台任务(mode: "async")适配两代 jobs 契约:dsh 0.1.7+ 传 SessionId、结果走 result,0.1.2–0.1.6 保持原样。此前在 0.1.7+ 宿主上 async 会报 has no live agent 或拿不到结果。 · 客户端 bundle 注册 id 改为从 package.json 读取(感谢 @smallmj 的 #18)。 · 后台任务 · 取消只停自己的任务:job_kill / 中断时先查队列,排队中就移出队列、正在运行才中断该 prompt。此前会直接中断 ComfyUI 当前运行的任何任务(包括别的会话或用户自己在 ComfyUI 里跑的)。 · 任务状态行实时显示采样进度(step x/y)。 · 异步提交后提示模型直接结束本轮,完成时由宿主通知唤醒,不再阻塞等待或轮询。 · 结果回显 · 生成完毕统一由模型在回复里贴出结果:结果文本声明"这就是最终结果"、列出实际提交的提示词,并给出可直接粘贴的 Markdown 媒体引用——同步、异步、PTC(run_code)模式一致。 · 视频 / 音频:回复里的链接下方自动出现内嵌播放器。 · 工具卡片改为运行中显示工作流名 + 进度条,完成后只列文件链接(图片在回复里,不再重复)。 · 资产页卡片增加文件名显示。 · Agent 引导 · skill 开头即「生成内容:第一步永远是 comfyui_workflow list」,直接用库里配好的工作流。 · 删除内置模板(txt2img / img2img / video):写死的标准模型名本机多半没有,且会把模型带偏。comfyui_object_info / comfyui_run 定位为手写工作流(临时测试、按本机环境新建)的次要工具。 · 参数清单标明提示词按用户需求填写(不再展示默认提示词,避免被原样重跑);参数键名写错直接报错,不再静默用默认值。 · 其他 · 新增 prepare 脚本、离线测试 scripts/test-host-compat.mjs 与 GitHub Actions CI(Ubuntu / Windows × Node 22.19 / 24)。 说明:请通过 npm / 插件市场安装。从 git 地址安装时,pnpm 默认拦截 git 依赖的构建脚本,DSH 插件管理器目前不会为此弹出放行确认。 升级:dsh plugin --profile web add dsh-comfyui(desktop 用 --profile desktop)后重启 DSH。
v0.5.42026-09-27
· 画布提取:支持虚拟连线节点(#8) · KJNodes SetNode / GetNode:按名称配对还原成真实连线后再分析与转换。同名 SetNode 有多个时,取 order 小于该 GetNode 的最大者;支持 Get→Set→Get 链式传递和 SetNode 自身的直通输出;找不到对应 SetNode 的 GetNode,其下游保持未连接。 · rgthree Mute / Bypass Relay / Mute / Bypass Repeater:这类连线只用于同步静音/绕过状态、不传数据(状态已保存在各节点的 mode 里),分析与转换时直接忽略,不再报"未注册的 UI-only 节点",也不会把本不相干的流程并成一个分量。 · 分量分析与图→API 转换共用同一套改线规则,虚拟节点不会出现在分量、悬空节点或运行工作流里。 · 新增离线回归测试 scripts/test-convert.mjs(12 项)。 说明:ComfyUI 子图(subgraph)实例暂不支持展开,遇到请在 ComfyUI 中把子图转换回普通节点后再提取。 升级:dsh plugin --profile web add dsh-comfyui 后重启 DSH。
v0.5.32026-09-27
· 兼容 DeepSeek Harness 0.1.7 修复 dsh 0.1.7 上设置页无法保存(#11,以及 #4 在新版宿主上的情况) · dsh 0.1.7 移除了旧的 settings.installSection,设置服务只编辑插件配置中声明为 volatile 的字段,旧版插件保存时报 Plugin entry "comfyui" has no volatile fields,配置无法落盘,「测试连接」实际探测的仍是默认 127.0.0.1:8188。 · 现在 baseUrl、apiKeyEnv、mediaHost、comfyuiDirs、skillsDir 及超时 / 轮询 / 媒体上限等字段支持在线修改:设置页保存后写入 profile 的 cordis.patch.yml,立即生效、无需重启 DSH;修改 baseUrl 时进度 WebSocket 自动重连。 · dataDir、maxAssets、outputDir 仍为普通字段(修改后插件会重载)。 兼容性 · 支持 dsh 0.1.2 – 0.1.7:0.1.2–0.1.5 继续使用旧的设置接口,0.1.7 使用新的 volatile 设置。 · 修正 @deepseek-ai/dsh-settings 的 peer 版本范围:此前 semver 规则不匹配 0.1.5 / 0.1.6 / 0.1.7 的预发布版,在这些宿主上安装会触发 dshmarket 风险提示;现已逐条列出这些版本线。 · 依赖 @deepseek-ai/schemastery 升至 ^3.18.4(需要 .volatile())。 已在 dsh 0.1.7-rc.2 上实测:设置页保存成功并即时生效。 升级:dsh plugin --profile web add dsh-comfyui(desktop 用 --profile desktop),然后重启 DSH。 0.5.2 的修复(DynamicCombo 扁平化 #10、面板崩溃 #5、/api 前缀代理 #6、bypass 分量分析 #8 等)见 v0.5.2 标签。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-comfyui dsh-comfyui 让 DeepSeek Harness 的智能体驱动本地或远程 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)。
展开完整文档(README 剩余 1 节)
dsh-comfyui

dsh-comfyui

让 DeepSeek Harness 的智能体驱动本地或远程 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)。

功能

智能体工具

智能体直接驱动 ComfyUI,无需手动操作画布:

- comfyui_workflow —— 主入口:生成内容就先 list 挑库里的工作流,再 run(按 id 运行 + 参数覆盖,键名写错会被拒绝,未传的参数使用默认值)。list 还带服务器地址、本机 ComfyUI 目录、加载区素材和每个工作流的参数清单;skill 按需读取某工作流的技能包,refresh 重算参数快照。mode: "sync" 等待结果,mode: "async" 后台任务(视频/音频强烈建议)——提交后智能体直接结束本轮,完成时由宿主通知唤醒;生成完毕后统一由智能体把结果里的 Markdown 媒体引用贴进回复(同步、异步、PTC 模式一致),并用一句话说明生成了什么;视频/音频链接下方会自动出现内嵌播放器。
- comfyui_skill —— 读写工作流技能包(list / read / write / append / mkdir / rename / delete / enable / require),智能体可把踩坑经验写回技能包,跨会话复用。
- comfyui_object_info + comfyui_run —— 次要,只用于手写工作流(临时测试,或按本机环境新建工作流):先用 comfyui_object_info 查节点与可用模型,再手写 API JSON,用 comfyui_run 运行测试。测通后可在面板「新建工作流」存进库。

UI 面板

右侧停靠面板,三个页签:

- 工作流 —— 可运行工作流库(新建 / 编辑 / 运行 / 删除 / 导入 .json,标签分类 + 下拉筛选);支持预设导出 / 导入:把选中的工作流(默认全选,带技能包的行有标注)连同参数与技能包打包成 .zip 预设包带走,导出完成后的回执显示实际打包的工作流名单、文件名、体积与警告;把预设包拖进对话框(或点选文件)即可整包分析、按需导入,技能包原样完整还原(上千文件的模板大包也没问题),始终创建为新工作流、不覆盖现有库;自动检测 ComfyUI 端保存的图工作流,支持提取为可运行工作流(画布含多个独立流程时可选整体 / 按分量 / 主流程)。
- 资产 —— 所有生成结果(卡片显示工作流名与文件名),预览、下载、悬停可删除(同步清理 ComfyUI 输出目录里的文件)。
- 队列 —— 实时队列 + 历史任务五态展示,支持删除 / 中断 / 重跑 / 清空 / 释放内存,插件提交的任务带进度条与预览。

点击会话头部的「ComfyUI 面板」按钮时会自动探测后端与 ComfyUI 的连接:连不上时面板自动收起(按钮不高亮),页面顶部弹出提醒(含具体原因),提示启动本机 ComfyUI(确保后端能检测到端口)或到设置页检查远程服务器地址;连接正常时静默,仅在不通→恢复时短暂显示「连接正常」。

加载区(媒体加载器)

工作流页顶部的媒体加载器,仿 ComfyUI LoadImage 节点:图片 / 视频 / 音频可视化选择(可就地试听)、粘贴上传、多加载位。已放入的素材按顺序自动填进工作流里未显式指定的加载参数——智能体不需要猜文件名;未传 width/height 时自动匹配源图分辨率。上传按内容哈希去重命名。

comfyui_workflow list 的 loadArea 字段会把加载位数与内容暴露给智能体。

工作流技能包(给智能体的说明书)

参数清单只能告诉智能体"有哪些旋钮",说不出"这个工作流适合什么、哪一步会翻车"。复杂工作流可以挂一个技能包(面板工作流卡片上点「技能包」按钮启用):

<数据目录>/skills/<工作流>/ SKILL.md # 主文档:适用场景 / 关键参数 / 注意事项 references/ # 参考文档:风格合集、排错记录 assets/ # 参考图等素材(可在面板预览)

- 按需三级披露,不占常驻上下文:comfyui_workflow list 只有一行摘要 → 选中工作流后 action: skill 取正文 → 正文点名某份参考文档时才读那一篇。几十个工作流各带整套文档,平时对话成本也只是一行摘要。
- 面板编辑:左栏文件列表 + 右栏编辑器,支持导入(按扩展名自动分目录)、自定义子目录、图片预览、把整个技能包目录挪到别的盘或同步盘(设置页 技能包目录)。
- Agent 也能写:comfyui_skill 工具让 Agent 查看/编写技能包——踩到坑就 append 进 SKILL.md,下次(换个会话也一样)直接复用经验。
- 运行前必读:可勾选「运行前必读」,勾上后 Agent 本会话没读过该技能包就调 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 画一张红猫的图"
- "把这幅图转成赛博朋克风格"
- "把加载区这张动漫图转成真人照片,分辨率跟原图一致"
- "生成一段 5 秒的短视频:日落下的城市"
- "用我之前在 ComfyUI 里保存的 Krea-Afterlight 跑一下"(若该图还没提取,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) | 技能包根目录(绝对路径,可放同步盘 / 版本库) |

环境要求

- DeepSeek Harness(web / desktop profile)
- 一个运行中的 ComfyUI 服务器(默认 http://127.0.0.1:8188)

License

MIT
预览分享卡片长什么样 ↓fandc520/dsh-comfyui
分享 · DeepSeek Harness Hub
fandc520/dsh-comfyui

一个基于DeepSeek-Harness的ComfyUI插件

回到顶部