qichuang321/dsh-workflow-groups

分组工作流看板插件:每个分好组的 workflow 在 DSH Web GUI 有独立标签页实时展示状态/阶段/子agent/日志

项目介绍Project Overview

dsh-workflow-groups 是 DSH Web GUI 的分组工作流看板插件,为每个分组提供独立的「工作流」标签页,实时轮询展示运行卡片、状态徽章、阶段进度与日志。Agent 可调用 workflow_new 启动分组 workflow(inline 启动,免审批),用 workflow_groups 只读读取面板。数据直接读取引擎运行目录,无需事件接线。适用于需要多分组并行管理 workflow 的场景。注意:依赖 @dsh-external/workflow;若审批策略为 never,需在 cordis.patch.yml 中把引擎 approvalMode 覆盖为 never,否则工作流会被拒。

dsh-workflow-groups is a DSH Web GUI plugin that adds a grouped workflow dashboard. Each group gets its own "Workflow" tab in the session header, polling /api/workflow-groups/list every 2 seconds to show run cards, status badges, stage progress, and live logs. It exposes workflow_new (starts an inline group workflow without approval) and workflow_groups (read-only list) as model tools, reading directly from the engine's run directories without event wiring. Use it when you need to manage multiple workflow groups in parallel. Caveat: it requires @dsh-external/workflow; if approval policy is never, override the engine's approvalMode to never in cordis.patch.yml to avoid rejections.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add @dsh-external/workflow

qichuang321/dsh-workflow-groups 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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 中给引擎 加配置覆盖:
    - id: dsh-external-workflow
      config:
        approvalMode: never
    
    之后重启 DSH web。若审批策略是 ask,则无需此配置(审批弹窗放行即可)。

结构

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

上一个 Prev dsh-rename 下一个 Next dsh-tool-generate-image