DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

WilShi /

WilShi/dsh-workflow-library

Verified

可复用的工作流库:把编排脚本存成文件,按名字跑。Reusable workflow library for DeepSeek Harness.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@6b4ce521

dsh-workflow-library

把工作流存成文件,按名字重复运行。可进 git、可 code review、可团队共享。

DSH 自带 workflow 工具,让模型写编排脚本扇出到多个子 agent。但那段脚本是每次现写的,跑完就没了。

这个插件补上缺的那一层:工作流以文件形式存在项目中,按名字运行,可以带参数。

安装

dsh plugin add dsh-workflow-library

工作流长什么样

在项目里建 .dsh/workflows/review-files.js:

---
name: review-files
description: 并发审查多个文件
whenToUse: 需要一次性审查一批文件时
---
const files = (args && args.files) || []

const results = await Promise.all(
  files.map(async (file) => {
    const answer = await agent({ prompt: `审查 ${file},指出最严重的问题` })
    return { file, review: String(answer) }
  }),
)

return { reviewed: results.length, results }

上半部分是元信息,下半部分是脚本正文——就是原生 workflow 工具里写的那个脚本体,一字不改。

用起来

> 跑一下 review-files,审查 src/index.ts 和 src/cli.ts

模型会调用 workflow_run,把 args 传进去。之后每次都只需要说「跑一下 review-files」。

四个工具

工具 作用
workflow_list 列出当前项目可用的工作流
workflow_show 看某个工作流的元信息和完整脚本
workflow_run 按名字运行,可传 args 参数
workflow_save 把刚跑通的流程存成模板文件

目录约定

和 DSH 的 skill 约定保持一致,按优先级查找:

优先级 路径
1 <项目根>/.dsh/workflows/
2 <项目根>/.agents/workflows/
3 <DSH_HOME>/workflows/

项目根 = 最近的包含 .git 的祖先目录。多个目录里有同名工作流时,优先级高的生效(项目内的会覆盖用户目录的)。

为什么不直接用原生 workflow 工具

原生 workflow 工具 本插件
脚本来源 模型每次现写 从磁盘读取
能否复用 ❌ ✅ 按名字
能否进 git ❌ ✅
能否团队共享 ❌ ✅
能否传参 ✅ ✅

原生工具适合一次性的编排。这个插件适合反复用的流程——比如每次发版前的检查清单、每周的依赖审计、固定格式的报告生成。

验证

端到端测试跑的是真实引擎,不是 mock:

$ DSH_REPO=~/Documents/Code/deepseek-harness npm run e2e

  ok  真实引擎与工具注册表已启动
  ok  注册 4 个工具: workflow_list, workflow_show, workflow_run, workflow_save
  ok  workflow_list 发现工作流: fanout
  ok  workflow_show 返回脚本 8 行
    run = {"name":"fanout","stopReason":"completed","agentsStarted":3,"value":{"count":3,"answers":[42,42,42]}}
  ok  workflow_run 真实执行:3 个子 agent,耗时 50ms
  ok  workflow_save 写入 saved-e2e,并立即出现在列表
  ok  运行刚保存的工作流成功
  ok  未知名字给出可执行报错
E2E_PASS

启动的是真的 SystemPrompt + ToolRuntime + SessionProjection + SubagentRuntime + WorkerThreadWorkflowEngine,脚本在真实 worker 线程里执行,agent() 真的扇出。只有子 agent provider 被替换成桩,所以不需要模型 key 就能跑。

npm run verify 还会跑类型检查、构建和加载测试。

实现说明

  • 编排引擎用的是 DSH 自带的(ctx.workflowEngine.start()),本插件不实现任何编排逻辑
  • 只在 tools 上注册,引擎在调用时才查找,所以没装引擎的部署也能正常加载插件(workflow_run 会给出明确报错)
  • 前置元信息解析是极简 YAML 子集,只支持 key: value

开发

npm install --ignore-scripts
npm run verify   # tsc --noEmit && tsdown && node scripts/load-test.mjs

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 6b4ce521e7e2

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout