AgentFlow:在 DSH 里用画布编排 Agent DAG 并导出预设

前言

DeepSeek Harness(DSH)自带的 agent 通常是「一个模型 + 一堆工具」的循环:中间怎么推理、先调哪个工具,你在对话里很难拆开改。

如果你希望把多步 agent 拆成可见的流程图——指定先后与并行、每步用哪个模型、哪些步直接走 MCP——并在编排好后一键变成可在聊天里选用的 DSH 预设,社区插件 dsh-plugin-agentflow(仓库 CC19990113/dsh-plugin-agentflow)提供的是画布式编排方案。维护者为 CC19990113;在 SkillHub 目录中归类为「工作流」。

这是什么

AgentFlow 是 DSH 的插件:在桌面端左侧栏提供 AgentFlow 入口,用可视化画布把 LLM、MCP 等节点连成 DAG(有向无环图),从对话侧也可通过插件工具跑整张图;编排结果可导出为 DSH profile 预设。插件自带执行引擎与本地 API 服务,安装后由插件自动拉起,无需单独手动启动引擎进程。

与「黑盒循环」对比,README 的定位是:画布上每张卡片对应一个 agent 步骤,由你决定步数、拓扑、模型与工具,以及每步的验收方式。

核心功能

节点与执行模型

  • 节点类型:LLM(调模型)、MCP(直接调工具、不经过模型)、调度(根节点,作为对话入口)。
  • 执行:纯 DAG——无上游的节点先跑,同一层可并行;某分支失败不阻塞其它分支。
  • 模型通道:全部经 DSH 的 ctx.llm(插件内通过 llm bridge 暴露给引擎);可为节点单独配置推理强度与兜底模型。

画布与预设

  • 每张画布对应一个 DSH 预设;卡片会标明「对话入口」根节点;若改过画布但未写回预设,界面会提示 预设未更新。
  • 编辑过程 自动保存 到本地数据;点「保存」(或 ⌘S)才会 生成或覆盖 DSH 预设。
  • 导出后预设写入 ~/.dsh/profiles/<profile>/cordis.patch.yml(默认 profile 为 desktop,可用环境变量 AGENTFLOW_PROFILE 指定其它 profile)。重启 DSH 后,新会话的预设列表可选中该预设。根节点承载人格,导出时会附上子节点清单。

对话侧工具

插件向模型暴露工具 agentflow_list、agentflow_run,便于在聊天中列出画布并执行。

验证与主题

  • 顶栏「验证 AgentFlow」会 真实跑一遍整张图(消耗 token),用于检查流程是否通畅;卡片上主要展示配置摘要,不堆叠运行产出。
  • 画布主题跟随 DSH;默认 native 渲染模式下读宿主主题并实时同步;也可通过配置回滚到 iframe 嵌入独立页面。

架构要点(便于排障)

DSH 桌面进程加载插件 index.js,子进程 node runtime/server.mjs 监听默认 127.0.0.1:8791,仅提供 API;DAG 执行在 engine.mjs,模型调用在 DSH 进程内完成。runtime/ 为打包时同步的引擎副本,插件 装完即用。npm 包当前版本为 0.3.1(以 package.json 为准),许可证 MIT。

安装与启用

要求:DSH 桌面版 0.2.x、Node 22+。README 注明 仅在 macOS 上验证过,Windows 路径与命令未测。

插件以当前 DSH 进程权限运行;安装前建议在 GitHub 查看源码与 LICENSE,并确认来源为维护者仓库。

从 npm

DSH → 设置 → 插件 → 添加插件 → 输入:

dsh-plugin-agentflow

从 GitHub

CC19990113/dsh-plugin-agentflow

装完后 重启 DSH。左侧栏出现 AgentFlow 入口;后端由插件自动拉起(默认 127.0.0.1:8791),不需要再手动跑启动命令。

典型用法

1、管理画布列表

打开 AgentFlow,在列表中查看各张画布及其对话入口;留意「预设未更新」提示,避免聊天里仍在用旧预设。

2、在画布上编排

  1. 拖动卡片调整位置,从卡片边缘拖线连接上下游。
  2. 点击卡片配置模型、推理强度、兜底模型、技能、MCP 工具。
  3. 使用「加下游 / 加上游」快速派生新卡片。
  4. 确认流程后点「保存」,将编排写入预设。

3、验证再导出

先使用顶栏「验证 AgentFlow」跑通整图(会消耗 token),再保存。预设根节点示例结构如下(子节点名称与完成标准以你画布为准):

你是「AgentFlow」的对话入口。
你只负责和用户对话:问清需求、确认关键信息。
需求明确后,严格按照后续节点的 AgentFlow 流去执行,不要自己直接产出结果。

【完成标准】…
【子节点】共 4 个
- 大纲:根据给定的题材,写一个三幕剧的简要大纲
- 对白版:为关键场景写几句有张力的对白
…

4、在聊天中使用

重启 DSH 后,在新会话的预设列表中选择导出的预设;也可通过 agentflow_list / agentflow_run 从对话触发执行。

配置项

可在插件配置中调整(默认值见 README):

项 默认 说明
数据目录 ~/.dsh/agent-flow-data 首次启动会从 ~/.dsh/agent-flow/data 迁移
后端端口 8791 插件配置项 agentflowPort
预设 profile desktop 环境变量 AGENTFLOW_PROFILE
agentflowRenderMode native native 内联画布;iframe 嵌入独立页面
agentflowUrl http://127.0.0.1:8791 native 下为 API 基地址;iframe 下为画布页面地址

适用场景与注意

适合:需要把多步 agent 拆成可维护 DAG、要在 DSH 内统一走模型通道、并希望编排结果沉淀为可选预设的开发者。

注意:

  • 验证与跑图会真实调用模型,注意 token 消耗。
  • 运行态全局共享:跑图时切换画布,事件可能被丢弃;「停止」不按画布区分。
  • 预设依赖 DSH profile 的 patch 机制;profile 结构变更时需相应调整。
  • 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;仓库当前 GitHub 星标约为 3(以页面显示为准)。

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye