
HR2AY/DSH-Plan-Graph
31最近提交 2026年8月16日
DSH-Plan-Graph DSH 插件
该插件在 DSH 会话视图环中添加了“计划图”选项卡。它提供可缩放平移的画布,节点卡片带有状态颜色,节点详情,隐藏工具调用和按轮次分组开关,跟随最新,以及“合并到对话”功能。还包括收藏夹、节点右键菜单和定位到对话区功能。
如何安装 DSH-Plan-Graph DSH 插件
dsh plugin --profile demo add ./plan-graph-bundle复制不会执行命令。安装 DSH-Plan-Graph DSH 插件前请核对仓库和版本。
DSH-Plan-Graph DSH 插件数据来源
DSH-Plan-Graph DSH 插件快照日期:2026年8月16日
discovered
DSH-Plan-Graph DSH 插件能做什么
- 从会话快照渲染工具调用和消息的交互式流程图。
- 提供每会话持久化的收藏夹面板(localStorage),最多100个条目,可通过拖拽或右键菜单添加。
- 节点右键菜单:添加/移除收藏,定位到对话区,复制节点信息,查看详情。
- 定位到对话区使用 callId、seq 或 finalNode.seq 将节点映射到聊天行,使用 MutationObserver 和10秒超时回退。
- 隐藏工具调用开关(需要可选的 chatNodeVisibility 服务才能过滤聊天页面)。
- 按轮次分组开关,跟随最新,合并到对话侧边栏。
DSH-Plan-Graph DSH 插件适合哪些场景
- 通过可视化工具调用和消息的顺序及状态,调试复杂的代理会话。
- 从图表快速定位聊天中具体的工具调用。
- 在会话中保存收藏节点(例如重要步骤)以便快速引用。
- 理解包含用户输入、助手输出和工具调用的多步推理流程。
- 向同事展示或分析会话的执行图。
DSH-Plan-Graph DSH 插件适合谁
- 需要分析或调试带工具调用的代理会话的 DSH 用户。
- 构建或测试基于 DSH 的代理的开发者,希望获得交互的可视化时间线。
DSH-Plan-Graph DSH 插件的限制
- 仅在 DSH 网页表面(客户端插件)中工作。
- 聊天页面的隐藏工具调用需要未修改的 ui-conversation 消费可选的 chatNodeVisibility 服务;否则仅影响图表。
- 收藏夹按会话持久化在 localStorage 中,最多100个条目,不在会话间共享。
- 定位到对话区依赖于 `data-chat-flow-key` 锚点;如果未来 DSH 重命名它,该功能会静默回退到图内定位。
- 该插件从源代码构建(client.body.js),需要构建步骤(prepare 脚本),从 GitHub 安装时需在 pnpm-workspace.yaml 中允许。
DSH-Plan-Graph DSH 插件的仓库 README 摘录
以下文字摘自 DSH-Plan-Graph DSH 插件的上游仓库 HR2AY/DSH-Plan-Graph 的 README,版权归原作者,仅作引用。
An out-of-tree [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin bundle: an interactive flow graph of a session's tool calls and messages, rendered client-side from the conversation snapshot. The plugin adds a "Plan Graph" tab to the session view ring (pan/zoom canvas, status-colored node cards, node details, hide-tool-calls and group-by-turn toggles, follow latest, and "Merge into conversation" into the real right sidebar). pkg-3 adds three features on top of the graph: - **Favorites** — a panel centered at the bottom of the view, opened from the toolbar button (colored kind tiles + summary + time). Per-session, persisted as JSON in `localStorage` under `dsh.plan-graph.fav.<sessionId>`, deduped by node id, capped at 100. Add via the node context menu or by dragging a node onto the toolbar favorites button. Click an entry to center the graph on that node with a flash highlight; if the node has left the current window (partial finished, node paged out), the click falls back to the matching chat row by seq/callId. Removal goes through the node context menu. - **Node context menu** — right-click a node for: add/remove favorite, locate in conversation (tool-c
阅读完整 README仓库许可: MIT
DSH-Plan-Graph DSH 插件常见问题
如何安装 DSH Plan Graph 插件?
你可以从本地目录、GitHub 源码、tarball 或 npm 安装。例如,在包含该包的目录中运行 `dsh plugin --profile demo add ./plan-graph-bundle`。如果从 GitHub 源码安装,需要在 profile 的 `pnpm-workspace.yaml` 中允许构建脚本:在 `allowBuilds` 下添加 `dsh-plan-graph: true`。
“隐藏工具调用”开关有什么作用?
该开关会从图中隐藏工具调用节点。但它同时提供了一个可选的 `chatNodeVisibility` 服务。如果你的 DSH 部署的 ui-conversation 没有使用该服务,开关只会隐藏图中的节点,而不会影响聊天视图。要实现聊天页面的实时过滤,需要修改 ui-conversation 以使用该服务。
收藏夹可以在不同会话之间共享吗?
不能。收藏夹按会话存储在 localStorage 中,键为 `dsh.plan-graph.fav.<sessionId>`,不会跨会话共享。每个会话最多可添加 100 个收藏,通过节点右键菜单或拖拽节点到工具栏收藏按钮添加。
“定位到对话区”是如何工作的?
它将图节点映射到对应的聊天行。工具调用节点使用 `callId`,助手输出节点使用 `data.finalNode.seq`,其他节点(用户输入、引导、上下文)使用 `data.seq`。然后通过 MutationObserver 等待 `data-chat-flow-key` 锚点,滚动到视图并闪现。如果节点已离开当前窗口,10 秒超时后回退到图内定位。
这个插件有哪些限制?
插件仅在 DSH 网页界面中工作。聊天页面的隐藏工具调用功能需要可选的 `chatNodeVisibility` 服务,可能并非所有部署都提供。收藏夹限制为每个会话 100 条,且存储在 localStorage 中。定位到对话区功能依赖于特定的 HTML 锚点,如果未来 DSH 版本更改它,将静默回退到图内定位。另外,从 GitHub 安装时需要允许构建脚本。