deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:suika009/dsh-comfyui-commander
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
让 DeepSeek Harness (DSH) 的 Agent 通过自然语言全自动控制 ComfyUI: 加载工作流、改造参数与节点结构、提交生成(图像/视频)、实时监控进度、下载结果、批量/多阶段编排。
Let DSH agents fully control ComfyUI through natural language — list/load workflows, modify parameters or recombine nodes, submit image/video generations, watch progress in real time, download results, and orchestrate batch pipelines.
为 DSH 提供完整的 ComfyUI 控制面:生成任务管理、工作流转换与重组、进度监控、结果获取,以及模型文件的盘点/归档/上传/移动(危险操作默认走安全门控)。
| 工具 Tool | 作用 What it does |
|---|---|
comfy_status |
服务器状态:版本、GPU/显存、队列 |
comfy_list_workflows |
列出全部已保存工作流 |
comfy_load_workflow |
加载工作流并转换为 API 格式(UI→API 转换器) |
comfy_submit |
提交生成任务;overrides 改任意节点参数、"__random__" 随机种子、dry_run 安全预览 |
comfy_get_progress |
进度/状态:排队位置、当前节点、采样百分比(队列+历史+WebSocket) |
comfy_fetch_results |
输出清单 + 下载到本地(图片/视频/音频) |
comfy_wait_task |
阻塞等待完成(批量/多阶段编排) |
comfy_queue_status |
队列详情(只读) |
comfy_interrupt |
中断当前任务 |
comfy_upload_model |
上传/下载模型到 models(本地拷贝或 URL 直链,type=loras/checkpoints/vae/embeddings/unet/clip) |
comfy_list_models |
列出 models/ |
comfy_model_disk_usage |
统计 models 磁盘占用 |
comfy_export_model |
归档:拷贝模型到 工作区\model-archive\ |
comfy_move_model |
models 目录内移动(支持子目录移回) |
comfy_delete_model |
⚠️ 仅安全配置 allowDelete: true 时注册,且需 confirm: true |
ctx.subprocess 派生 node -e 辅助进程,用 Node 全局 fetch/WebSocket 与 ComfyUI(默认 http://127.0.0.1:8188)通信;仅需本机 Node ≥ 22。/userdata API 把新工作流写入库。graphToPrompt 算法(节点定义有序 widget + control_after_generate 标志 + 序列化 inputs 链接对齐),标准节点 100% 一致。workflow_json 直接提交。system_stats.argv[0] 推导 ComfyUI 安装目录,无需手配路径。在你的 DSH profile($DSH_HOME/profiles/<name>/)添加依赖与 bundle:
cd $DSH_HOME/profiles/<name>
pnpm add dsh-comfyui-commander
在 profile 的 cordis.patch.yml 添加插件行:
- insert:
- id: comfyui-commander
name: 'dsh-comfyui-commander'
重启 dsh。
提交市场后,可用 find_plugin 搜索「ComfyUI」并一键安装。
「列出工作流 → 加载
SDXL.json→ 改成文生图 → 提示词换成 'a cat, masterpiece' → 生成 → 下载到本地」
Agent 自动编排:comfy_list_workflows → comfy_load_workflow → comfy_submit(overrides) → comfy_get_progress → comfy_fetch_results(download)。
批量编排:「先生成 5 张分镜,全部完成后用合并工作流合成视频」——用 comfy_wait_task 串行编排。
模型文件操作遵循默认安全、危险操作需手动开启的原则。配置文件:$DSH_HOME/dsh-comfyui-commander.json:
{
"safety": {
"allowDelete": false, // 删除模型文件:默认关闭
"allowOverwrite": false, // 覆盖已有模型文件:默认关闭
"allowModify": false // 修改:默认关闭
}
}
comfy_upload_model 写入新文件)、移动(comfy_move_model)、导出归档(comfy_export_model)、盘点(comfy_list_models / comfy_model_disk_usage)。comfy_delete_model 不注册(删除只能走 DSH 审批式权限提升);覆盖已有文件会拒绝。true 并重启 DSH;comfy_delete_model 才会注册,且每次删除仍要求显式 confirm: true。低频模型归档到机械盘工作区,需要时再传回:
comfy_model_disk_usage → comfy_list_models (盘点占用)
comfy_export_model (归档到 工作区\model-archive\<type>\ ,校验大小)
[删除原文件:默认走 DSH 权限提升;或在配置开启 allowDelete 后用 comfy_delete_model]
comfy_upload_model (需要时从 model-archive 传回)
DSH Host (标准 Cordis 插件)
├─ ctx.subprocess ──node -e──► fetch/WebSocket ──► ComfyUI (127.0.0.1:8188)
│ ├─ http : /system_stats /queue /history /prompt /view /userdata /interrupt /object_info
│ └─ ws : /ws?clientId= (progress / executing / status 实时消息)
├─ uiToApi() : UI 格式工作流 → API prompt(内置转换器)
└─ 状态 : 工作流缓存 / 任务表 / object_info 缓存 / clientId
# 本地验证模块可加载(在 profile 目录)
node --input-type=module -e "import('dsh-comfyui-commander').then(m => console.log(m.name, m.inject))"
# 打包验证
npm pack --dry-run
package.json 的 dsh.bundle.patch、cordis.patch.yml、lib/);npm login && npm publish;cordis_define/cordis_run)注册的工具在部分部署中不可见;标准 npm 插件形态无此问题。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。