前言¶
在 DeepSeek Harness(DSH)里跑 Agent 时,一次用户发言往往会触发多轮模型请求和若干工具调用。内置「对话」适合看最终结果,「轨迹」适合按事件排查;若希望以「这一轮用户说了什么」为入口,在同一视图里按时间顺序串起请求、响应和工具调用,就需要额外的 Web UI 能力。下面介绍社区插件 dsh-plugin-agent-workflow:它在不替换内置「轨迹」的前提下,增加独立的「工作流」标签页,数据来自 Session 中已有记录,只读展示。
这是什么¶
dsh-plugin-agent-workflow 是可独立安装的 DSH Web UI 插件,由 flynow-harness 维护;当前资料中的包版本为 0.4.0,适配 dsh@0.2.2-alpha.2。简介表述为:以用户轮次为入口查看模型请求、响应与工具调用链路。
插件在 Cordis 侧通过 patch 注入客户端 bundle,面向 web profile,依赖宿主提供的 Session、Trajectory 等客户端模块;0.4.x 通过标准 hook useTrajectory 读取内置 Trajectory 投影,并复用 Session 事件窗口做分页,不注册自有视图目标,因此不与 Chat、Trajectory 的生命周期交错。
核心功能¶
按轮次与链路浏览¶
- 左侧固定展示当前 Session 的用户对话轮次:提示词摘要、开始时间、模型/工具调用次数、完成状态。
- 右侧按时间顺序展示本轮的模型调用与工具调用;单行内容过长时可横向滚动。
- 页顶汇总用户对话数、模型调用数、工具调用数和总耗时(统计范围限于客户端已加载的 Session 历史)。
请求与响应检查¶
点击请求卡片可查看该次模型请求的真实记录:
- 系统提示词、与提供方无关的
messages[]、工具定义tools,均以可折叠 JSON 树展示,支持复制与放大。 - 响应侧可查看 reasoning、content、工具调用及当次响应的原始记录。
messages[] 按 DSH 与模型请求相同的 Session surface 规则在每次请求边界重建;系统提示词、工具定义、响应与工具结果来自内置 Trajectory 投影。插件不会向模型请求中追加消息、提示词或工具。
工具执行与 Token¶
- 工具卡片区分运行中、完成、失败,展示参数、结果、耗时与错误摘要。
- Token 与缓存统计区分输入、未缓存输入、缓存读取、缓存写入和输出,便于分析上下文复用。
性能与交互¶
轮次列表与模型调用列表独立滚动;模型调用行使用虚拟化渲染,长链路不会拖垮整页。JSON 展开与卡片选中状态仅保存在当前页面,无深链接分享;同一次响应中的多个工具调用以线性序列展示,不画并行分支图。
版本兼容¶
升级 DSH 时需安装与之匹配的插件版本:
| 插件版本 | DSH 版本 |
|---|---|
0.4.x |
dsh@0.2.2-alpha.2 |
0.3.x |
dsh@0.2.0-rc.2 |
0.2.x |
dsh@0.1.5-alpha.1 |
0.1.x |
dsh@0.1.0-rc.8 |
从 0.3.x 升到 0.4.x 后需重启 Web UI。DSH 仍处于预发布阶段,RC 间客户端接口可能变化,应成对升级宿主与插件。
安装与启用¶
插件以当前 DSH 进程权限运行;安装前建议阅读仓库源码与 MIT 许可。社区目录页 SkillHub 提供索引,与 DeepSeek / 幻方无官方从属关系。
假设安装包 dsh-plugin-agent-workflow-0.4.0.tgz 位于当前目录,在 web profile 下执行:
npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
--profile web \
add ./dsh-plugin-agent-workflow-0.4.0.tgz
检查是否安装成功:
npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
--profile web \
list --depth 0
列表中出现 dsh-plugin-agent-workflow 0.4.0 即表示成功。重启 Web UI 后出现「工作流」标签页:
npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 web
其他 profile(例如 video)可使用同一 .tgz,命令形式为 dsh plugin --profile <name> add ./dsh-plugin-agent-workflow-0.4.0.tgz 后启动对应 profile 的 DSH。
若需在本地 DSH 0.2.2-alpha.2 源码树中安装,在已构建好的源码目录执行(将路径换为安装包绝对路径):
pnpm dsh plugin --profile web add /absolute/path/dsh-plugin-agent-workflow-0.4.0.tgz
pnpm dsh plugin --profile web list --depth 0
pnpm dsh web
卸载(不影响内置「轨迹」):
npx --yes @deepseek-ai/dsh@0.2.2-alpha.2 plugin \
--profile web \
remove dsh-plugin-agent-workflow
卸载后需重启 DSH Web。
资料中还说明:pnpm 11 默认可能阻止 Git 依赖的构建脚本,推荐先 pnpm pack 得到 .tgz 再安装,而非直接 github: 依赖(除非在 workspace 中显式放行构建且信任源码)。
典型用法¶
- 按上文命令安装并启动
dsh web,打开已有 Agent Session。 - 在 Web UI 中切换到「工作流」标签(与「对话」「轨迹」并列)。
- 在左侧选择某一用户轮次,右侧查看该轮内的模型请求、响应与工具调用顺序。
- 点击具体请求卡片,在详情中展开
system、messages[]、tools或响应 JSON,复制字段用于对比配置或复现问题。 - 结合页顶汇总与 Token/缓存行,判断本轮成本与缓存命中情况。
本地开发插件时需 Node.js ^22.19.0 或 >=24.0.0、pnpm 11;可通过 pnpm install、pnpm run typecheck、pnpm test、pnpm pack 生成可安装的 tarball。
适用场景与注意¶
适合需要在 Web UI 中以「用户轮次」组织视角、快速扫一遍 Agent 执行链路的开发者与调试场景;与内置「轨迹」互补,而非替代。
需注意:汇总与列表受客户端已加载历史限制;插件只读 Session 事件,不改变模型行为。项目基于 xuanyuanzhifeng/dsh-plugin-agent-workflow(MIT)适配 dsh@0.2.2-alpha.2,由 flynow-harness 继续维护。
结尾¶
dsh-plugin-agent-workflow 把 DSH Session 里已有的 Trajectory 与 messages[] 重建结果,整理成按轮次浏览的工作流视图,便于检查 Agent 的请求体、响应与工具状态。目录与详情见 SkillHub 插件页 与 GitHub 仓库。