DeepSeek Harness 工作流插件

前言

DeepSeek Harness(DSH)采用「一切皆插件」的设计理念,开发者需要通过插件扩展能力。在工作流编排场景下,直接使用原生 API 或手工编写脚本会带来较多重复工作。sunshaobei/dsh-workflow 以 MCode 源码为基准重写,将工作流 UI 和运行时集成到 DSH 插件生态中,通过统一的侧栏面板管理全局与项目工作流,并支持运行历史、参数、源码查看和对话修订。

是什么

sunshaobei/dsh-workflow 是一个 DSH 插件,提供工作流 UI 和运行时集成能力。它由维护者 sunshaobei 开发,包含前端与后端实现,支持全局与项目级工作流管理、子代理编排、运行历史与产物导出。

核心功能

  • 侧栏「工作流」面板:展示全局和打开的项目工作流。卡片提供详情、参数、历史、源码、移动、删除以及通过对话修订。
  • 表单校验:支持 string、number、boolean、JSON、必填项和默认值校验。
  • 运行会话管理:在所选项目的新会话中直接启动工作流;再次运行时会预填上次参数。新建运行会话自动命名为 工作流名称-YYYYMMDDHHmmss(例如 flutter-dev-pipeline-20261019220905),优先使用保存的工作流名;无名称的运行退化为 工作流-时间。使用北京时间和实际运行开始时间;已有自定义标题保留。
  • 运行卡片展示:水平阶段与子代理,展开后进入右侧竖向阶段面板;点击子代理进入原生子会话。支持停止、恢复、并发/后续子代理模型配置、保存及再次运行。
  • 完成卡片:展示真实交付物和时间、tokens、子代理数、阶段数;缺失数据显示 —。
  • 产物支持:Markdown/GFM、图片、隔离 HTML、PDF、下载,以及 report 驱动的表格、指标、看板和图表。
  • 执行与存储:MCode 编译器、schema、分析、引擎、重放与修订缓存保留在 vendor/;脚本通过独立 Node 子进程与 VM 单元执行。DSH adapter 负责原生子代理、权限/模型继承、取消、转录、真实用量及完成通知。工具及外层传输成功后才提交结果。
  • 目录结构:默认目录为 $DSH_HOME/workflows,未设置时使用 ~/.dsh/workflows。包含 saved/.dwf.ts(全局工作流)、项目 .dsh/workflows/.dwf.ts(项目工作流;兼容读取 .zcode/workflows)、runs//(脚本、参数、计划、元信息、journal、事件、产物)、transcripts/(恢复与修订需要的子代理事件快照)、settings.json(模式、默认并发及模型设置)。
  • 元数据格式:支持 MCode /* zcode-workflow ... */ YAML,兼容旧 @description / @arg。恢复保留原参数和模型。修订只复用具备转录边界的已完成缓存。
  • 修复脚本:旧版本写入 dsh-workflow/run 导致历史读取失败时,可在关闭 DSH 后运行 node scripts/repair-session-records.mjs <dsh-home> <backup-directory> 预览修复,追加 --apply 执行。脚本仅修复工作流锚点并给无标题的运行会话补名,保留事件序号与内容,先备份原始压缩日志,再原子替换;需要本机 zstd 命令。重复运行不会重复追加标题。
  • 工具集:workflow_compile、workflow_create_run、workflow_save、workflow_list_saved、workflow_get_saved、workflow_delete_saved、workflow_get_run、workflow_status、workflow_runs、workflow_stop、workflow_resume、workflow_amend、workflow_asks、workflow_submit_ask、workflow_holes、workflow_fill_hole、workflow_graphs。
  • 适配器与权限:DSH adapter 负责原生子代理、权限/模型继承、取消、转录、真实用量及完成通知。
  • 文件/Git/命令:使用 MCode world ports。
  • 测试与对照:对照清单与测试见项目中的 spec/mcode-parity.md 与 SELFTEST.md。

安装与启用

通过 npm 安装插件包:

npm install @sunshaobei/dsh-workflow

安装后,在插件详情中关闭并重新启用工作流组件,即可在侧栏看到「工作流」面板。

典型用法

  1. 在侧栏「工作流」面板中新建工作流,填写名称与参数(支持 string、number、boolean、JSON、必填项和默认值校验)。
  2. 保存工作流,可在项目新会话中直接启动。
  3. 运行完成后,在运行卡片中查看交付物、tokens、子代理数、阶段数;支持停止、恢复、并发/后续子代理模型配置及再次运行。
  4. 通过对话修订工作流,或点击子代理进入原生子会话。
  5. 导出产物为 Markdown/GFM、图片、隔离 HTML、PDF、下载,或使用 report 驱动的表格、指标、看板和图表。
  6. 需要时,通过目录结构管理全局与项目工作流,或在需要时使用修复脚本修复历史记录。

适用场景与注意

适合需要在工作流编排场景下,通过统一 UI 管理全局与项目工作流、子代理编排、运行历史与产物导出的 DSH 用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。

短结尾

sunshaobei/dsh-workflow 提供工作流 UI 与运行时集成,支持参数校验、会话命名、阶段与子代理编排、历史与产物管理。了解更多,可访问 插件目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye