🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

可视化工作流 GZX2211/dsh-Visual-Workflow

DeepSeek 客户端
GZX22116 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

专为 DeepSeek Harness Web GUI 打造的可视化多 Agent 工作流编排插件。公开测试版已上线!接下来会随着 DSH 的正式版上线一并发布正式版…

54/100
综合分
58
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/GZX2211/dsh-Visual-Workflow.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
该类项目属生态应用(桌面端 / Web 外壳),不以 dsh plugin add 方式安装,请按仓库说明部署
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-visual-workflow(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 09:03:51

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 37 处,展示前 37 条)
  • 读取本地文件
    lib/storage/flow-store.js:84
    return await readdir(dir);
  • 写入本地文件
    lib/storage/flow-store.js:136
    await mkdir(join(this.root, dir), { recursive: true });
  • 删除本地文件
    lib/storage/flow-store.js:196
    await rm(path, { force: true });
  • 删除本地文件
    lib/storage/flow-store.js:314
    await rm(path, { force: true });
  • 删除本地文件
    lib/storage/flow-store.js:315
    await rm(sessionsPath(this.root, serviceId), { force: true });
  • 删除本地文件
    lib/storage/flow-store.js:377
    await rm(path, { force: true });
  • 删除本地文件
    lib/storage/flow-store.js:420
    await rm(path, { force: true });
  • 读取本地文件
    lib/agent/runner.js:97
    const content = await readFile(filePath, 'utf8');
  • 执行外部命令固定命令
    lib/service/manager.js:29
    spawnSync('taskkill', ['/PID', String(pid), '/T', '/F'], { stdio: 'ignore' });
  • 读取本地文件
    lib/service/manager.js:446
    if (existsSync(candidate))
  • 写入本地文件
    lib/storage/atomic.js:139
    await mkdir(targetDir, { recursive: true });
  • 读取本地文件
    lib/storage/atomic.js:163
    content = await readFile(target, 'utf8');
  • 读取本地文件
    lib/storage/atomic.js:272
    info = await stat(lockPath);
  • 读取本地文件
    lib/storage/atomic.js:286
    const text = await readFile(lockPath, 'utf8');
  • 读取本地文件
    lib/storage/atomic.js:295
    const after = await stat(lockPath).catch(() => null);
  • 删除本地文件
    lib/storage/atomic.js:300
    await rm(lockPath, { force: true });
  • 写入本地文件
    lib/storage/atomic.js:334
    await mkdir(dirname(target), { recursive: true });
  • 读取本地文件
    lib/storage/atomic.js:371
    const current = await readFile(info.lockPath, 'utf8');
  • 删除本地文件
    lib/storage/atomic.js:373
    await rm(info.lockPath, { force: true });
  • 写入本地文件
    lib/storage/atomic.js:428
    await mkdir(resolvedTmpDir, { recursive: true });
  • 写入本地文件
    lib/storage/atomic.js:442
    await rename(tmp, target);
  • 删除本地文件
    lib/storage/atomic.js:446
    await rm(tmp, { force: true });
  • 读取本地文件
    lib/storage/atomic.js:477
    const entries = await readdir(target).catch((error) => {
  • 删除本地文件
    lib/storage/atomic.js:490
    await rm(full, { force: true });
  • 写入本地文件
    lib/assets/db.js:25
    mkdirSync(dirname(file), { recursive: true });
  • 读取本地文件
    lib/tools/infrastructure/tool-switches.js:74
    const info = await stat(this.path());
  • 读取本地文件
    lib/scheduler/condition-script.js:29
    info = await stat(path);
  • 读取本地文件
    lib/workspace-path.js:32
    info = await stat(path);
  • 读取本地文件
    lib/mcp/registry.js:27
    for (const entry of readdirSync(profilesRoot)) {
  • 读取本地文件
    lib/mcp/registry.js:32
    if (statSync(path).isDirectory())
  • 读取本地文件
    lib/mcp/registry.js:49
    statSync(webPatch);
  • 读取本地文件
    lib/mcp/registry.js:58
    statSync(patch);
  • 读取本地文件
    lib/mcp/registry.js:365
    text = await readFile(patch, 'utf8');
  • 写入本地文件
    lib/mcp/registry.js:440
    await mkdir(dirname(patch), { recursive: true });
  • 读取本地文件
    lib/mcp/registry.js:443
    text = await readFile(patch, 'utf8');
  • 写入本地文件
    lib/mcp/registry.js:471
    await writeFile(temporary, next, 'utf8');
  • 写入本地文件
    lib/mcp/registry.js:472
    await rename(temporary, patch);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 适配DSH候选版
  • 协作组节点初步适配
展开完整介绍(200 字)↓

专为 DeepSeek Harness Web GUI 打造的可视化多 Agent 工作流编排插件。公开测试版已上线!接下来会随着 DSH 的正式版上线一并发布正式版! 1. 更新:该插件目前已对齐最新候选版 dsh v0.1.5-rc.2,不适配 Alpha 版。2. 后续调整:待官方team功能稳定后正式将其引入“协作组”节点,届时工具集和运行时会大幅度调整。当前做了初步适配暂不推送 Git。

README

由 DeepSeek 最新模型翻译生成
可视化智能体编排平台 基于 DeepSeek Harness 打造的可视化智能体编排平台支持固定工作流、可视化流程设计、智能体自主元编排,可在运行过程中实时干预,通过反馈沉淀经验持续演化 English · 简体中文 项目定位 这是一个「越用越聪明」的智能体编排平台,不再是单纯的工作流。 项目把 工作流(Workflow)、智能体团队(Agent Team)、元编排(Meta-Orchestration)、人类在环(Human-in-the-loop)和组织记忆(Organizational Memory) 放进同一个可视化工作台: ┌─────────────────────┐ │ 人类设计 │ │ 固定 Workflow │ └──────────┬──────────┘ │ ▼ ┌─────────────────┐ ┌───────────────┐ ┌──────────────────┐ │ Agent 自主规划 │ ──► │ 组织生成/执行 │ ◄── │ 运行中人工干预 │ │Meta-Orchestration│ └───────┬───────┘ └──────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ 自主经验学习 │ │ Experience │ └────────┬─
展开完整文档(README 剩余 1 节)
可视化智能体编排平台

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

English · 简体中文

项目定位

这是一个「越用越聪明」的智能体编排平台,不再是单纯的工作流。

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

┌─────────────────────┐
│ 人类设计 │ │ 固定 Workflow │ └──────────┬──────────┘ │ ▼ ┌─────────────────┐ ┌───────────────┐ ┌──────────────────┐ │ Agent 自主规划 │ ──► │ 组织生成/执行 │ ◄── │ 运行中人工干预 │ │Meta-Orchestration│ └───────┬───────┘ └──────────────────┘ └─────────────────┘ │ ▼ ┌─────────────────┐ │ 自主经验学习 │ │ Experience │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ 组织记忆 │ │Assets + Experience│ └────────┬────────┘ │ └──────► 下一次组织生成

所以,项目此刻正式从原来的 dsh Visual Workflow 更名为:可视化智能体编排平台。

核心亮点

✦ 智能体元编排
- 智能体不再只能执行人预先画好的固定 DAG,还能在编排过程中获取组织资产与经验,按当前任务生成、调整组织结构,并通过反馈强化学习持续进步

✦ 人类在环的实时调整
- 人类修改流程后,编排器实时感知最新拓扑,动态调整后续编排;智能体改图后,画布实时显示变化,编排与画布始终一致,运行中 可观察、可纠偏。

工具可自由组合,分配给各个代理,避免无用工具占据上下文;MCP 服务器只需一行配置即可自动注册,支持热重载,改完即时生效。

✦ 深度自定义
- 每个子代理节点都能独立配置 system prompt、LLM 模型、思考强度、工具组合、ReAct 迭代上限、回流重试上限;父代理也可自由选择模型与调度模板,满足精细化编排需求。

✦ 定时触发
- 工作台内置定时任务:选择工作流模板,配置执行窗口与触发策略,自动创建实例并运行;错过窗口自动挂起/续跑,支持错峰调用 API;可为任务挂载条件脚本,每个触发点先运行脚本,最后一行输出 true 才创建实例。

全自动化运维管理,定时自动运行工作流,支持峰谷时段错时调用,自动暂停,保存流程数据,谷时自动运行。

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

✦ 团队(Agent Team)
- 将多个角色节点拖入团队卡片,连通官方 Agent team 机制,把自定义配置接到 teammate 上,可精确控制其协作行为、使用的模型、工具组等,runtime 和协调工具由官方机制负责。
- Agent Team 功能关闭时,降级由本插件通信机制负责组内协作(无任务板),通过 wf_send_message 工具进行组内交流。

将 DSH 作为独立后端服务部署,持久化无头 Agent 后台运行,可连接外部 APP(如 QQ 机器人、飞书)或自建前端。

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

核心概念

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

节点卡片

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

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

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

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

注:右 ctx-out 上下文输出连接点已退役

属性配置:

| 配置项 | 说明 |
| 名称 | 节点名称 |
| system prompt | 文本输入或引用 .md,设定角色系统提示词 |
| 系统提示词开关 | 控制官方系统提示词注入(默认开启);关闭工具散文段不影响工具调用能力 |
| LLM 模型 | 独立选择 provider + model |
| 思考强度 | 与官方下拉一致 |
| 工具组合 | 内置预设(标准/极简/ptc/创造)+ 自定义组合(组合管理中创建) |
| ReAct 迭代上限 | 工具调用次数上限;软截停,默认不设限 |
| 回流重试上限 | 节点级尝试计数护栏,默认 3 |
| 输入契约 | 该节点应当收到什么;用于任务前自检 |
| 输出契约 | 该节点应当向下游交接什么;控制最终回复的输出结构 |

虚拟节点:点击「复制」可生成虚拟节点,与主节点共享配置与上下文,删除主节点时级联清除。

2. 任务节点

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

3. 数据库节点

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

4. 阶段节点

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

5. 团队节点(Agent Team)

- 将多个角色节点拖入团队卡片,组内角色登记为 Teammate 按需启动并参与协作
- 协作 Prompt 追加到每个成员的首条用户消息末尾(选择性填写)
- 团队成员通过 wf_send_message 异步通信、通过 wf_ask_user 向用户交流提问
- 卡片支持拉伸扩展,内部成员列表可滚动

连线

连线类型与颜色:

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

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

插件工具

| 工具 | 用途 |
| wf_run_node | Mode 1 异步启动一个 Agent 节点;立即返回,不阻塞;父代理专用 |
| wf_run_node_wait | Mode 2 启动 Agent 节点并阻塞等待;父代理专用 |
| wf_finish | 标记本次编排完成/失败、持久化运行记录并释放运行锁;父代理专用 |
| wf_ask_user | 向用户发起官方提问卡片并阻塞等待回答,一次可批量提问 |
| wf_send_message | 向其他代理发送一条消息;投递后立即返回,不等待回复。target 使用 parent 或可达成员的节点 ID |
| wf_db_query | 数据库 search / query / schema 三模式只读访问 |
| wf_org_catalog | 分层召回组织资产、工具组合、preset、模型与编排规则;父代理专用 |
| wf_graph_patch | 对工作流模板或运行实例进行受控图修改;支持创建、更新、删除、连线调整等操作;父代理专用 |
| wf_experience_learn | 经验入库:空数组调用取得经验生成 Prompt,传候选即校验后入库 |
| wf_experience_recall | 分层召回既有经验:先取候选摘要,再按 id 取完整内容 |
| wf_experience_feedback | 评价本次任务中实际使用过的经验;先获取评分标准,再提交评价 |

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

安装(Windows)

版本适配:本插件适配 DeepSeek Harness 0.2.1-rc.2。请先安装或升级宿主(升级前先在外部终端完全停止 dsh 进程):

npm install -g @deepseek-ai/dsh@0.2.1-rc.2

tips:可直接将以下段落复制给 Claude Codex 等 AI 助手安装该插件。

1. 文件管理器定位:%USERPROFILE%\.dsh\profiles\web\pnpm-workspace.yaml,在其中添加:

allowBuilds:
onnxruntime-node: true
protobufjs: true
sharp: true

2. 运行插件安装命令:

dsh plugin --profile web add "github:GZX2211/dsh-Visual-Workflow#main"

3. 桌面端可直接在左上角插件页面内添加并安装:

github:GZX2211/dsh-Visual-Workflow#main

4. 验证挂载:(可选)

dsh --profile web --dump-config | findstr "visual-workflow"
5. 重启 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/ 文件夹。

快速开始

- 了解项目架构?请看 架构文档
- 参与贡献?请看 贡献
- 了解如何使用插件?请看 用户使用手册
- 二次开发?请看 项目开发规范
- 如何安装以及项目概览?本文件README.md

数据存储

所有文件位于 ~/.dsh/visual-workflow/,人可读 JSON:

workflows/ # Mode 1 工作流实例 services/ # Mode 2 服务实例 flow-templates/ # 可编辑 Workflow 模板 roles/ # 可编辑角色模板 files/ # 文件模板 databases/ # 数据库模板 combos.json # 自定义工具组合 builtin-seeds.json # 内置预设模板播种标记

runs/ # 运行快照与历史 orchestrations/ # 运行期间的编排事实源

assets.db # 正式角色/工作流资产 + Experience data/files/ # 受管非文本文件 data/vector/ # 数据库向量索引 scheduler/ # 定时任务定义与触发记录

预设模板只在首次启动时播种一次(按当时的界面语言生成中文或英文版)。如果误删需要恢复,删除 builtin-seeds.json 整个文件后重启插件,即可按当前界面语言重新生成。

本地开发

git clone https://github.com/GZX2211/dsh-Visual-Workflow.git
cd dsh-visual-workflow
pnpm install
dsh plugin --profile web add "link:$PWD"

常用命令:

pnpm build # 构建 Host + Client
pnpm test # 单元测试
pnpm gates # Contract / 门禁测试
pnpm client-smoke # Client 冒烟测试
pnpm check # 类型检查 + 测试 + 构建 + smoke

修改 Client 需重新构建并硬刷新浏览器;修改 Host 需重启 dsh web 或桌面端。

本项目核心研究方向(未来规划)

项目目前的研究方向已经从 “如何设计一个更好的 Workflow” 进一步转向:

如何让 Agent 随着每一次运行持续积累有效资源,并在未来利用这些资源更高效的完成任务目标

项目的长期目标是:探索元编排架构的最终实现方式和边界。制作一个可以持续进化的 AI 系统。
而依附于一个成熟的 Harness 插件框架是一个非常好的起点,希望可以持续进步,也为 dsh 生态做出一个优质的“插件”。

许可

MIT © GZX2211。欢迎提 Issue / PR。社区项目,界面形态参考 dsh-deepseek-flow。

加入交流群

可以进来玩玩,讨论交流~
预览分享卡片长什么样 ↓GZX2211/dsh-Visual-Workflow
分享 · DeepSeek Harness Hub
GZX2211/dsh-Visual-Workflow

专为 DeepSeek Harness Web GUI 打造的可视化多 Agent 工作流编排插件。公开测试版已上线!接下来会随着 DSH 的正式版上线一并发布正式版…

这是你的仓库?认领条目

回到顶部