qichuang321
dsh-workflow-groups
分组工作流看板插件:每个分好组的 workflow 在 DSH Web GUI 有独立标签页实时展示状态/阶段/子agent/日志
- Stars
- 1
- Language
- TypeScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-workflow-groups · 分组工作流看板
为 DeepSeek Harness Web GUI 提供分好组的工作流看板:每个分组的 workflow 在会话头部的独立「工作流」标签页中实时展示 —— 状态徽章、阶段进度、子 agent 明细与实时日志。
功能
- 分组展示:每个分组一个独立面板,组内逐条展示每个 workflow 的运行卡片。
- 实时刷新:每 2 秒轮询
/api/workflow-groups/list,另有「刷新」「清空」按钮。 - 模型工具:
workflow_new—— 创建并启动一个分组 workflow(经ctx.dynamicWorkflows.startInline直接启动引擎,approvalGranted免审批;引擎不可达时登记为「已登记」);workflow_groups—— 只读列出当前分组面板数据。
- 数据源:直接读取 workflow 引擎的持久化运行目录(
.dsh/workflow-runs/run-*下的run.json+manifest.json+events.jsonl),无需事件流接线;分组名持久化在~/.dsh/dsh-workflow-groups.json(runId → group),重启不丢。
安装
# 从 GitHub
dsh plugin --profile web add https://github.com/CriscolTheCoder/dsh-workflow-groups
安装后刷新页面,会话头部出现「工作流」标签;Agent 调用 workflow_new
创建分组 workflow 即实时出现在对应分组面板。
依赖与配置
- 需要 workflow 引擎:本看板展示的是
@dsh-external/workflow(DSH 工作流引擎)产生的运行。请确保该插件已安装:dsh plugin --profile web add @dsh-external/workflow - 审批策略为
never时必须配置(否则工作流无法运行):workflow 引擎默认approvalMode: generated-and-local(inline 生成的工作流要先过一次审批)。 当会话审批策略是never时,该审批请求会被自动拒绝,工作流报workflow approval rejected。此时在 profile 的cordis.patch.yml中给引擎 加配置覆盖:
之后重启 DSH web。若审批策略是- id: dsh-external-workflow config: approvalMode: neverask,则无需此配置(审批弹窗放行即可)。
结构
src/index.ts Host 半区:run 目录扫描、group 映射、模型工具、HTTP 路由
src/client.ts Client 半区:「工作流」conversation.view 标签页(react 外部化,随 shell 渲染)
cordis.patch.yml 插件行(insert: workflow-groups)
scripts/build.mjs 构建(esbuild bundle 到 lib/)
开发
node scripts/build.mjs
License
Apache-2.0