DeepSeek Harness (DSH) 提供了运行智能体的基础环境。在构建涉及云端绘图或复杂工作流的智能体时,直接集成外部服务通常需要额外的开发工作。dsh-runninghub-api 是一个 DSH 插件,旨在将 RunningHub 的云端 ComfyUI 工作流直接接入 DSH 环境。
该插件由 lucyTrump 维护,遵循 MIT 许可证。
核心功能¶
该插件提供了一套完整的机制,用于在 DSH 智能体中管理 RunningHub 工作流:
- 云端工作流整合:直接在 DSH 环境中调用 RunningHub 的云端 ComfyUI 工作流。
- 配置管理:提供 API Key 和工作流库的配置表单。
- 工具集:提供
runninghub_*工具集供智能体调用。 - 上传缓存:使用 SHA256 算法对上传的媒体文件进行缓存,避免重复上传。
- 并发控制:提供本地并发门控,采用 FIFO 队列和超时机制管理任务。
- 后台任务:支持带有完成通知的后台任务。
- 持久化与恢复:提供持久化的任务账本,支持任务自动重启恢复。
安装与启用¶
在 DSH ≥ 0.1.6-alpha.2 版本中,配置位置已调整。
- 执行安装命令:
dsh plugin --profile web add dsh-runninghub-api
或者通过应用内的插件市场(dshmarket)进行安装/更新。
- 打开侧边栏的 Plugins 页面。
- 找到 dsh-runninghub-api 卡片,在描述下方填写配置表单。
配置项¶
配置位于插件页面的表单中,默认值如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
apiKey |
— | API 密钥(Literal 类型),建议优先使用 apiKeyEnv |
apiKeyEnv |
RUNNINGHUB_API_KEY |
环境变量引用,每次请求时解析 |
baseUrl |
https://www.runninghub.cn |
OpenAPI 基础地址 |
pollIntervalMs |
5000 |
状态轮询间隔(最小 1000) |
runTimeoutMs |
3600000 |
运行阶段超时(0 表示无限制) |
queueTimeoutMs |
0 |
队列阶段超时(0 表示无限制) |
maxConcurrentTasks |
3 |
本地并发门控上限 |
uploadUseLegacy |
false |
是否使用旧的 multipart 上传端点 |
workflows |
[] |
保存的工作流定义列表 |
工具与用法¶
插件提供了以下工具供智能体在对话中调用:
runninghub_list_workflows:列出可用工作流。runninghub_fetch_workflow:获取单个工作流定义。runninghub_run_workflow:运行工作流(两阶段:报告缺失参数/值,而非直接提交)。runninghub_get_task:获取指定任务状态。runninghub_list_tasks:列出任务。runninghub_cancel_task:取消任务。runninghub_upload_file:上传文件(支持 SHA256 去重)。runninghub_refresh_workflow:刷新工作流定义。runninghub_note_workflow:为工作流添加使用提示。
在浏览器端,插件通过 ctx.remote.$mount() 自我挂载命名空间,提供以下远程接口:
fetchWorkflow:获取并解析工作流 JSON。validateWorkflow:执行干运行 payload 组装。describeWorkflow:生成包含节点约束、参数、使用提示的 LLM 描述。runTest:使用配置表单进行真实的付费提交测试。testConnection:测试连接有效性。
注意事项¶
- 版本要求:需要 DSH ≥ 0.1.6-alpha.2。
- 本地开发:如果通过链接安装到本地 DSH 检出(
dsh plugin add <this dir>),node_modules中的@deepseek-ai/*条目必须是符号链接,否则会导致 cordis 单例重复。 - 热更新:
dsh-hmr观察的是配置文件和补丁文件,而非插件内容本身。 - 依赖检查:安装链接版本时,确保源码环境正确,避免因依赖复制导致的问题。
总结¶
dsh-runninghub-api 填补了 DSH 环境与 RunningHub 云端 ComfyUI 之间的连接空白。它通过工具集、后台任务管理以及持久化账本,为智能体提供了稳定、可控的云端工作流执行能力。