HR2AY/DSH-Plan-Graph 预览 preview

HR2AY/DSH-Plan-Graph

Plugin插件 Native原生 ⭐ 16 MIT Data & Analysis数据与分析

DeepSeek Harness 轨迹的另一版本(DIY)

Project Overview项目介绍

HR2AY/DSH-Plan-Graph is a native out-of-tree plugin built exclusively for DeepSeek Harness (DSH). It adds a dedicated “Plan Graph” tab to the DSH session view ring, and renders an interactive flow graph of all session activity, including tool calls and messages, client-side from the conversation snapshot. The graph includes a pan-and-zoom canvas, status-colored node cards, node detail views, toggles for hiding tool calls and grouping by turn, an option to follow the latest node, and the ability to merge the graph into the main right sidebar.

This plugin adds three extra features on top of the base flow graph: favorites, a right-click node context menu, and locate in conversation. Users can add nodes to favorites via the context menu or by dragging a node onto the toolbar favorites button, and favorites are persisted as JSON in browser localStorage, with a cap of 100 deduplicated entries per session. Right-clicking any node opens the context menu, which lets you add or remove favorites, locate the node in the original conversation, copy node details, and more. The locate feature maps any graph node to its corresponding chat row, scrolls it into view and adds a highlight flash, making it easy to cross-reference between the graph and the raw conversation. It is targeted at developers and data analysts who need to visualize agent session trajectories.

The plugin is written in plain JavaScript with no build-time dependencies, and the prepare script runs automatically after install to generate the working client file. You can install it from GitHub source, a tarball, or the npm registry; when installing from GitHub, you need to add an allowBuilds entry for this package in your pnpm workspace config to permit the build script to run. It is released under the permissive MIT open source license, is free to use, and depends on standard DSH web client plugin services to function correctly. Some optional features, like live chat filtering via the hide tool calls toggle, require a matching patched DSH deployment to work properly.

HR2AY/DSH-Plan-Graph 是专为 DeepSeek Harness(DSH)开发的原生插件包,是一个独立于内核的插件,它会在DSH的会话视图环中新增一个「Plan Graph」标签页,基于会话快照在客户端渲染交互式流程图,展示整个会话中工具调用和消息的流转关系。它支持平移缩放画布、状态着色节点卡片、查看节点详情,还提供隐藏工具调用、按轮次分组、自动跟随最新节点等功能,也支持将图合并到实际右侧侧边栏。

该插件额外提供收藏、右键节点菜单、定位至对话区三个核心功能。用户可以通过节点右键菜单或拖拽节点到工具栏收藏按钮的方式,将常用节点添加到收藏,收藏数据会以JSON格式持久化存储在浏览器localStorage中,单会话最多存储100个去重条目。右键点击节点可执行添加/移除收藏、在对话中定位、复制节点信息等操作,定位功能会将任意节点映射到对应聊天行,滚动到可视区域并高亮。它适合需要可视化会话轨迹、分析代理工作流程的开发者使用。

该插件使用纯JavaScript开发,无构建时依赖,安装后可通过prepare脚本自动生成客户端文件。安装方式支持从GitHub源码、压缩包或npm注册表安装,从GitHub安装时需要在pnpm工作区配置中允许该插件运行构建脚本。它遵循MIT许可开源,完全免费使用,需要依赖DSH网页端提供的标准客户端插件服务,部分可选功能需要对应DSH部署版本支持。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 16 stars - an early-stage project星标 16,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:HR2AY/DSH-Plan-Graph

把 HR2AY/DSH-Plan-Graph 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

8/16更新

dsh-plan-graph

An out-of-tree 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-call nodes only), copy node info, view details. Closes on outside click, Escape, or canvas interaction. Favorites are managed here (and by dragging a node onto the toolbar favorites button) — there is no ★ button on the details panel.
  • Locate in conversation — maps any node to its chat row: tool calls by callId, assistant output by data.finalNode.seq, and user input / steering / context by data.seq (the same event seq the graph node id embeds), then waits for the data-chat-flow-key anchor via MutationObserver, scrolls it into view and flashes it; a 10s timeout silently falls back to in-graph locate. Prefers an upstream chatLocate optional service when a deployment provides one.

The browser half is the plan-graph dynamic-plugin code (pkg-3), wrapped in the web module loader's handoff format — plain JavaScript, no build-time dependencies. The prepare script (which pnpm runs after a git install) regenerates client.js from client.body.js.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-plugin-collection 下一个 Next dsh-codex-subscription →