前言¶
DeepSeek Harness(DSH)采用插件化架构来扩展智能体的行为。当开发涉及多个步骤、外部 API 调用和复杂逻辑的应用时,简单的脚本往往难以维护。DSH Workflow 是一个原生工作流自动化平台,旨在提供一种可视化的方式来组织触发器、HTTP 请求、代码执行、条件分支和定时任务。
核心功能¶
可视化编排与节点测试¶
插件提供画布式界面,支持通过拖拽节点和连接端口来直观定义执行路径。每个可执行节点(除持久 Wait 外)都支持单独测试。测试过程中,系统会从测试输入或上游样本生成 JSON 字段树,允许通过点击或拖拽插入嵌套字段表达式。
代码执行与 HTTP 请求¶
代码节点支持 TypeScript 与 Python,提供全屏编辑器。HTTP 节点支持自定义方法、请求头、请求体、响应解析、超时和模板。两者均在宿主进程中运行,代码节点可通过全局 dsh 对象访问 DSH 的运行时能力。
触发与调度¶
工作流支持多种启动方式。Webhook 触发器使用独立 token 接收外部请求,支持 HMAC-SHA256 验签。定时任务使用 5 段 Cron 表达式。应用事件触发器支持对 GitHub、Slack 等服务的持续轮询,新事件会触发独立的运行实例。
可靠性与容错¶
系统内置失败重试机制,支持 0-10 次重试及指数退避。可执行节点在重试耗尽后可路由到错误分支,错误事件经过脱敏处理。服务端会在节点边界持久保存检查点,支持从失败处恢复。执行预算可限制最长运行时间和最大步数,超限后保留安全检查点。
安全与状态管理¶
连接管理支持 Bearer Token、API Key、Basic Auth 和 OAuth2,敏感信息使用 AES-256-GCM 加密。项目变量与 Secret 统一存储在主机变量库,运行记录中自动脱敏。Data Store 提供加密的小型状态存储。
安装与启用¶
该项目尚未发布到 npm,请直接从 GitHub 仓库安装。
dsh plugin --profile web add git+https://github.com/luxi233/dsh-workflow.git
安装完成后重启 Web UI (dsh web)。进入 DSH 后,从侧边栏打开 节点模式 即可使用。
典型用法¶
- 创建工作流:从节点模式主页创建新工作流,或从左侧文件夹进行筛选。
- 添加节点:从左侧工具轨进入节点库,搜索并添加所需节点(如 Agent、Code、HTTP)。
- 建立连接:拖动节点端口建立连接,或点击连线中间的
+插入步骤。 - 配置参数:在右侧检查器的配置或输出标签中编辑参数。
- 测试节点:在检查器填写 JSON 测试输入,通过字段映射插入表达式,点击“测试此节点”。
- 发布流程:点击发布,更新实际运行与 Cron 调度使用的快照。
- 管理凭据:在主页连接中创建 Bearer Token、OAuth2 等凭据,在节点中选择。
- 配置策略:在“更多操作 → 运行策略”中设置并发模式、最长运行时间和最大执行步数。
- 错误处理:选择节点的“失败时行为 → 路由到错误分支”,连接红色
error端口。 - 版本控制:点击版本历史比较版本,或恢复并发布。
注意事项¶
- 兼容性标识:npm 包名、Cordis bundle ID 及宿主 API 路径仍保留
dsh-node-flow,仅为兼容性标识,不影响独立仓库维护。 - Secret 安全:Secret 不回传浏览器,在运行记录、错误和 API 响应中自动脱敏。
- 重放机制:重放固定使用当时保存的工作流快照,而非当前草稿。
- 执行预算:预算不会跨运行累计,恢复运行会重新使用快照中的预算。
- 文件夹归属:文件夹只管理控制面归属(如列表筛选),不改变草稿、已发布快照、运行记录或版本历史的内容。
总结¶
DSH Workflow 提供了一套完整的可视化工作流解决方案,将 Agent 调用、代码执行、HTTP 请求和条件逻辑组合成可直接运行的流程。通过节点测试、错误分支、检查点恢复和版本历史等机制,它为构建可靠的自动化任务提供了基础。
- GitHub: https://github.com/luxi233/dsh-workflow
- 技能目录: https://www.skillhub.cn/plugins/luxi233/dsh-workflow