dsh-workflow-designer
`dsh-workflow-designer` 是面向 DeepSeek Harness 的提示词优先工作流设计插件。它收集当前 Agent 可见的本地 Skill、原生 Tool 与 MCP Tool,提供必要的可视化编排和约束编辑能力,并导出稳定的 YAML 中间表示。后续可由大模型及对应框架把 YAML 生成 Python、`workflow.mjs` 或其他代码工作流。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 31, 2026
- Updated
- Aug 31, 2026
Introduction
dsh-workflow-designer
dsh-workflow-designer 是面向 DeepSeek Harness 的提示词优先工作流设计插件。它收集当前 Agent 可见的本地 Skill、原生 Tool 与 MCP Tool,提供必要的可视化编排和约束编辑能力,并导出稳定的 YAML 中间表示。后续可由大模型及对应框架把 YAML 生成 Python、workflow.mjs 或其他代码工作流。

为什么采用提示词优先的工作流
Dify、Langflow 一类强编排工作流适合严格控制固定流程,但会牺牲一部分大模型的语义理解和动态规划能力;完全依赖提示词又很难细致控制复杂分支、工具参数、错误处理和结果约束。
本项目采用折中方式:保留 LLM 通过提示词理解和生成任务的灵活性,同时用可视化节点、显式端口、资源快照、参数 Schema、分支条件和验证规则提供强控制,减少工作流生成阶段的漂移与幻觉。设计器本身不负责执行完整工作流,而是生成可审计、可迁移、适合继续代码生成的规范化描述。
当前能力
- 在 Harness 的
sidebar.footer.actionslot 注册“工作流辅助编排”(Assisted Workflow Orchestration)入口。 - 提供 Prompt、Sub-Agent、Sub-Agent Flow、Skill、Skill Interface、MCP Tool、Native Tool、Group、If/Else、Switch 和 Ask User Question 等节点。
- 仅在用户选择资源时,从当前 Session/Agent scope 查询
ctx.skills与ctx.tools。 - 保存 Skill/Tool locator、digest、Schema snapshot 与 Prompt Card,便于发现资源变化并重新验证。
- 支持 MCP Tool 真实调用测试;调用经过 Harness 的 schema、权限、策略、超时和 Tool pipeline。
- 支持 Skill 静态接口索引,并可选择使用当前 Harness Sub-Agent 对接口文档做受限复核。
- 保存
dsh.workflow/v1alpha1YAML,并可导出 Mermaid、Markdown 与代码生成上下文。 - 可把去除画布坐标后的语义 YAML 写入当前 Harness 对话输入框,但不会自动发送。
DeepSeek Harness 兼容基线
本次首发锚定以下不可变基线:
| 项目 | 值 |
|---|---|
| Release | dsh-v0.1.1-rc.2 |
| npm version | 0.1.1-rc.2 |
| Git commit | b150a551b8d465e31e418e1b2eaf5e79bbb7d28e |
| Repository | https://github.com/deepseek-ai/deepseek-harness |
| Plugin version | 0.1.1-rc.2.plugin.1 |
| 建议 Git tag | v0.1.1-rc.2.plugin.1 |
package.json.deepseekHarness 是机器可读的基线记录,README 中的 Release、version 和 commit 必须始终与它一致。项目不会自动跟随 Harness 的分支、latest 或 next。
Harness rc.2 要求 Node.js ^22.19.0 || >=24.0.0,上游源码使用 pnpm@11.7.0。
直接依赖
项目只声明实际 import 或运行时外置所需的依赖。直接使用的 DSH 包均精确固定为同一个 Release:
@deepseek-ai/dsh-client-runtime@0.1.1-rc.2@deepseek-ai/dsh-client-ui-conversation@0.1.1-rc.2@deepseek-ai/dsh-client-ui-sidebar@0.1.1-rc.2@deepseek-ai/dsh-client-ui-slots@0.1.1-rc.2
yaml 是 Host bundle 的外置运行时依赖。reactflow 被打入 Client bundle,因此只属于开发依赖。React 与 React DOM 由 Harness Web 客户端提供,作为 peer dependency 声明。插件不直接 import @deepseek-ai/cordis,因此不把它列为直接依赖。
安装与运行
从 npm 安装到 Web profile:
cd C:\Users\rone\Documents\deepseek-harness
pnpm dsh plugin --profile web add dsh-workflow-designer@0.1.1-rc.2.plugin.1
pnpm dsh web
本地发包前联调可安装当前工作区:
cd C:\Users\rone\Documents\deepseek-harness
pnpm dsh plugin --profile web add D:\WorkSpace\dsh-workflow-designer
pnpm dsh web
包通过 dsh.bundle.patch 加载 cordis.patch.yml,并通过 dsh.client 与 ./client 提供浏览器端插件。正常安装不需要手工传入 --patch,也不需要修改 Harness 源码。
开发与发包前验证
本地类型检查直接使用 lockfile 安装的精确 rc.2 npm 类型声明,不依赖开发机上的 Harness 绝对路径。发布验证使用 registry 安装得到的精确依赖和提交的 lockfile:
npm ci
npm run check
npm test
npm run build
npm pack --dry-run
4 组较大的 Skill 接口黄金样例属于可选外部验收数据。设置 DSH_SKILL_DEMO_ROOT 指向包含这些样例的目录后会执行;未设置且默认相邻目录不存在时,相关 3 项测试会明确标记为 skipped,其余仓库内测试仍是强制门禁。
lib/client.js 是浏览器 bundle,lib/index.js 是 Host bundle。打包清单不得包含 Harness checkout、凭证、缓存、临时文件或本地链接。
输出目录
- 工作流源文件:当前 workspace 的
.dsh/workflows/<name>.workflow.yaml - 生成结果:当前 workspace 的
.dsh/generated/<name>/ - 示例:
examples/ - 设计器 Skill:
skills/dsh-design-workflow/
当前版本不执行完整工作流,也不实现 Parallel/Join/Loop、MCP 配置管理、LLM 自动改图、源 Skill 写入或 Mermaid 反向导入。