GZX2211/dsh-Visual-Workflow

dsh-Visual-Workflow

专为 DeepSeek Harness Web GUI 打造的可视化多 Agent 工作流编排插件。公开测试版已上线!接下来会随着 DSH 的正式版上线一并发布正式版!声明:该插件目前仅适配 dsh v0.1.1-rc.2,不适配 Alpha 版

待分类agentagent-orchestrationagent-skills

可视化 Agent 编排平台

基于 DeepSeek Harness 打造的可视化 Agent 编排平台 支持固定 Workflow、可视化流程设计、Agent 自主元编排,可在运行过程中实时干预,通过反馈沉淀经验持续自进化

English · 简体中文

项目定位

这是一个可以“越用越聪明的”的 Agent 编排平台,不再是单纯的 workflow。

项目将 工作流(Workflow)、智能体团队(Agent Team)、元编排(Meta-Orchestration)、人类在环(Human-in-the-loop)和组织记忆(Organizational Memory) 组合在同一个可视化工作台中:

┌─────────────────────┐
                    │      人类设计        │
                    │   固定 Workflow      │
                    └──────────┬──────────┘
                               │
                               ▼
┌─────────────────┐     ┌───────────────┐     ┌──────────────────┐
│ Agent 自主规划   │ ──► │  组织生成/执行 │ ◄── │ 运行中人工干预     │
│Meta-Orchestration│    └───────┬───────┘     └──────────────────┘
└─────────────────┘             │
                                ▼
                         ┌─────────────────┐
                         │  自主经验学习    │
                         │ Experience      │
                         └────────┬────────┘
                                  │
                                  ▼
                         ┌─────────────────┐
                         │  组织记忆        │
                         │Assets + Experience│
                         └────────┬────────┘
                                  │
                                  └──────► 下一次组织生成
因此,项目此刻正式从曾经的 dsh Visual Workflow 重命名为:可视化 Agent 编排平台。

核心亮点

✦ Agent 元编排

  • Agent 不再只能执行人预先画好的固定 DAG,而可以在编排过程中获取组织资产与经验,并根据当前任务生成、调整组织结构,并通过反馈强化学习持续进步

✦ 人类在环的实时调整

  • 人类修改流程后,编排器实时感知最新拓扑动态调整后续编排;Agent 改图后,画布实时显示变化,编排与画布始终一致,运行中 可观察、可纠偏。
将 DSH 作为独立后端服务部署,持久化 无头Agent 后台运行,可连接外部APP(如QQ机器人、飞书)或自建前端。

✦ 双模式架构

  • 流程编排模式:长流程多 Agent 智能调度,父代理自主推进,支持随时暂停断点续跑与实时状态回显。
  • API服务模式:一键发布为独立 REST API 服务(OpenAI 兼容协议),多租户会话隔离,端口自动分配。

✦ 深度自定义

  • 每个子代理节点独立配置 system prompt、LLM 模型、思考强度、工具组合及 ReAct 迭代上限、回流重试上限;父代理亦可自由选择模型与调度模板,满足精细化编排需求。
工具自由组合分配给各个代理,避免无用工具占据上下文;mcp 服务器只需一行配置自动注册并支持热重载即时生效。

✦ 协作组与 Agent Team

  • 将多个角色节点拖入协作组,连通官方 Agent team 机制,将自定义配置连通 teammate,可精确控制其协作行为,使用模型,工具组等,runtime 和协调工具由官方机制负责。
  • Agent Team 功能关闭时,降级由本插件通信机制负责组内协作,通过 wf_ask_agent 工具进行组内交流。

✦ 定时触发

  • 工作台内置定时任务,选择工作流模板配置执行窗口与触发策略,自动创建实例并运行,错过窗口自动挂起/续跑,支持错峰调用 api,省钱又省心。
全自动化运维管理,定时自动运行工作流,可支持峰谷时段错时调用,自动暂停,保存流程数据,谷时自动运行。

✦ 零官方包依赖

  • 所有 DSH 生态服务(LLM、子代理、工具、用户问题等)均通过 ctx.get() 运行时解析,Host 工具以纯对象定义注册,插件自身无任何官方包编译时依赖,升级兼容性更强。

核心概念

概念 · 说明 元编排 · 在编排过程中获取组织资产与经验,并根据当前任务生成、调整组织结构,并通过反馈强化学习持续进步的编排架构 资产 · 经过正式晋升、可被未来编排召回的角色、工作流配置、规则等;与模板分离储存并接入版本控制 模板 · 角色/文件/数据库/工作流的“蓝图”,存储在 ~/.dsh/visual-workflow/;模板与实例深拷贝解耦,修改模板不影响已生成节点 实例 · 工作流或服务的具体运行实例(workflows/ 与 services/),只能从工作流模板创建,可在画布中编辑并保存 节点 · 画布上的卡片,分为父代理、子代理、文件、数据库、阶段(启动/结束/暂停)、协作组、虚拟节点 连线 · 传递流程方向(流程线)、上下文内容(上下文线)、数据库标识(数据库线);流程线可带条件标签,由父代理语义判断 父代理 · 编排的核心调度者,模式一中负责监督与调度,模式二中为最终回答者;可由用户指定调整编排流程 子代理 · 任务执行者,独立配置角色 Prompt、模型、工具等,由父代理按需创建与调度 编排 · 主 Agent 使用 wf_run_node / wf_finish 等工具自主推进流程,控制节点状态 模式 · 插件提供两种运行模式:流程编排模式(模式一)与 API 服务模式(模式二),通过顶栏切换 断点续跑 · 流程暂停或宿主意外中断后,已执行节点状态持久化,恢复后不重跑,从断点继续 协作组 · 将多个角色节点组合为一个 Agent Team,组内可自由通信协作 虚拟节点 · 主节点的别名引用,不存储独立配置,共享主节点的执行实例,用于拓扑复用

节点卡片

1. 角色节点(任务执行单元)

卡片形态(左 3 入、右 2 出):

┌─────────────────────────┐
  左一 ●│  [角色卡片] 标题          │● 右一
(数据库)│  类型徽标 / 模型 /       │(上下文)
  左二 ●│  工具组合徽标            │● 右二
(上下文)│                         │(流程出)
  左三 ●│                         │
(流程入)│                         │
        └─────────────────────────┘

接点 · 名称 · 语义 左一 · 数据库输入 · 连接数据库节点,注入检索/查询工具 左二 · 上下文输入 · 接收上游上下文(不连接则不继承) 左三 · 流程输入 · 控制执行顺序 右一 · 上下文输出 · 向下游传递本节点产出 右二 · 流程输出 · 顺序执行/条件分支(通过/不通过/内容)

属性配置:

配置项 · 说明 名称 · 节点名称 system prompt · 文本输入或引用 .md,设定角色系统提示词 LLM 模型 · 独立选择 provider + model 思考强度 · 与官方下拉一致 工具组合 · 内置预设(标准/极简/ptc/创造)+ 自定义组合(组合管理中创建) ReAct 迭代上限 · 软截停:达上限后强制收尾(不发起新工具调用,输出已有结论),默认不设限 回流重试上限 · 节点级尝试计数护栏,默认 3 输入/输出数据结构 · 文本/JSON 描述(辅助模型理解) 系统提示词开关 · 控制官方系统提示词注入(默认开启);关闭工具散文段不影响工具调用能力

虚拟节点:点击“复制”可生成虚拟节点(虚线边框 + “↻ 引用”角标),与主节点共享配置与执行实例,删除主节点时级联清除。

2. 任务节点

  • 任务以文本描述(内容直接存于模板/节点,运行期作为下游角色节点的上下文)
  • 右侧属性面板可编辑任务名称与任务描述;文本框下方的「选择文件」只把所选文件路径追加进描述,不上传文件
  • 功能:给角色节点注入任务说明、需求、验收标准等上下文

3. 数据库节点

  • 本地类型:支持 SQLite 文件,内置向量检索(bge-small-zh-v1.5,CPU 推理;模型资产缺失/加载失败自动降级 BM25)
  • 服务器类型:支持 MySQL / PostgreSQL,提供结构化只读查询与向量检索(本地构建索引)
  • 右侧面板可配置连接信息、测试连接,并调整检索高级选项(召回条数、分块窗口、相似度阈值、索引容量)
  • 功能:连接企业/个人知识库调用相关信息和查询检索

4. 阶段节点

  • 启动(模式一) / 输入(模式二):流程入口;模式二下自动接收外部用户问题作为初始上下文
  • 结束(模式一) / 输出(模式二):流程终点;模式二下汇聚父代理最终输出并流式返回
  • 暂停(模式一):流程门,运行至此暂停并保存断点(人工审查点),再次运行从右出继续

5. 协作组节点(Agent Team)

  • 将多个角色节点拖入协作组,组内角色登记为 Teammate 并行启动并参与协作
  • 协作 Prompt 追加到每个成员的首条用户消息末尾,并自动列出所有成员的 ID 与角色名称(插件协作机制,现已被官方取代,保留降级)
  • 组内 Agent 通过 wf_ask_agent 异步通信、通过 wf_ask 向用户交流提问(保留降级)
  • 卡片支持拉伸扩展,内部成员列表可滚动

连线

连线类型与颜色:

连线类型 · 语义说明 · 颜色 流程连线 · 控制执行顺序 · ⚪ 冷灰 / 银白 上下文连线 · 传递任务描述等文本内容 · 🟡 琥珀金 数据库连线 · 传递数据库服务标识 · 🔵 天蓝 条件:通过 · 条件判断为真,执行该分支 · 🟢 翠绿 条件:不通过 · 条件判断为假,执行该分支或回流 · 🔴 珊瑚红 条件:内容 · 自定义语义判断(路由标签) · 🟣 紫罗兰

编辑条件后,条件颜色覆盖初始颜色;条件判断由父代理进行语义判断。

编排工具

以下工具构成当前编排层的主要控制面:

工具 · 用途 `wf_run_node` · Mode 1 异步启动一个 Agent 节点或整个协作组;立即返回,不阻塞父代理等待 `wf_run_node_wait` · Mode 2 启动 Agent 节点并阻塞等待,返回 ok / fail 与最终输出 `wf_finish` · 标记本次编排完成/失败、持久化运行记录并释放运行锁;幂等 `wf_ask` · 向用户发起官方提问卡片并等待回答,一次可批量提问;任何代理可用(子代理自动借其会话根代理身份) `wf_ask_agent` · 协作组内 Agent 间非阻塞 ask / reply 消息通信;目标离线时可冷恢复 `wf_db_query` · 数据库 search / query / schema 三模式只读访问 `wf_org_catalog` · 召回组织资产、工具组合、preset、模型与编排规则;父代理专用 `wf_graph_patch` · 对工作流模板或运行实例进行受控图修改;支持创建、更新、删除、连线调整等操作 `wf_experience_learn` · 主体自己的经验入库:空数组调用取得经验生成 Prompt,传候选即校验后入库(所有代理可用) `wf_experience_recall` · 按主体类型语义召回既有经验:先取候选摘要,再按 id 取完整内容(所有代理可用)

区别:不同于官方 Teammate 调度只能传递父的工具和模型,wf_run_node 创建的代理节点可以自由组合任意工具、设定不同模型和系统提示词(system prompt)。

安装(Windows)

版本适配:本插件适配 DeepSeek Harness `0.2.0-rc.2`。请先安装或升级宿主(升级前先在外部终端完全停止 dsh 进程):
```bash
npm install -g @deepseek-ai/dsh@0.2.0-rc.2
`
tips:可直接将以下段落复制给 Claude Codex 等 AI 助手安装该插件。
  1. 文件管理器定位:%USERPROFILE%.dsh\profiles\web\pnpm-workspace.yaml,在其中添加:
allowBuilds:
  onnxruntime-node: true
  protobufjs: true
  sharp: true
  1. 运行插件安装命令:
dsh plugin --profile web add "github:GZX2211/dsh-Visual-Workflow#main"
  1. 桌面端可直接在左上角插件页面内添加:

输入然后点击安装即可:

github:GZX2211/dsh-Visual-Workflow#main
  1. 验证挂载:(可选)
dsh --profile web --dump-config | findstr "visual-workflow"
  1. 重启 dsh web。打开工作台:点击官方左侧边栏底部的「工作流」入口(在官方「设置」旁)→ 官方右侧 Sidebar 打开「工作流」标签页即完整工作台。

安装问题速查

出现 `Host key verification failed` 报错

在 PowerShell 或 CMD 中执行:

git config --global url."https://github.com/".insteadOf "git@github.com:"

pnpm 拦截提示:声明了 `prepare`,需要`allowBuilds`(常见)

文件管理器定位:%USERPROFILE%.dsh\profiles\web\pnpm-workspace.yaml,把报错中给出的包名添加到 allowBuilds 列表里,保存再重新安装。

卸载

dsh plugin --profile web remove dsh-visual-workflow
如不再使用可同步清理:~/.dsh/visual-workflow/ 文件夹。

快速开始

方式一:人工设计 Workflow

  1. 打开「工作流」工作台。
  2. 创建工作流模板。
  3. 创建角色模板。
  4. 将角色、文件、数据库、阶段、协作组拖入画布。
  5. 使用 flow / ctx / db 连线。
  6. 配置各 Agent 的模型、Prompt 与工具组合。
  7. 创建实例。
  8. 点击运行。