一个基于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-comfyuinpm 源 · dsh-comfyui 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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 张 · 点击查看大图最近更新
在 GitHub 查看全部 →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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
fandc520/dsh-comfyui
一个基于DeepSeek-Harness的ComfyUI插件
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,344已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,045已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,202已汉化DSH
71.1