DeepSeek Harness Hub
← 返回列表

111222cjyq/dsh-branch-visualizer

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一个面向 DeepSeek Harness 的持久化分支可视化插件。它把 Harness…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/21 · 已提供中文文档

开发者预览:持久化 DeepSeek Harness 会话分支可视化工具,支持导航、重命名、归档和兼容性适配器。

综合分
28
GitHub 分
28
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add 111222cjyq/dsh-branch-visualizer
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH 分支可视化器

CI

一个面向 DeepSeek Harness 的持久化分支可视化插件。它把 Harness 原生会话与子代理关系展示为可拖拽树图,并在同一界面提供跳转、改名和归档操作。

当前状态:Developer Preview。本插件已按 2026-08-21 的 DeepSeek Harness 0.1.0-rc.8 / master 契约核对,但 Harness 本身仍处于实验阶段。适配策略与已知风险见 DSH_COMPATIBILITY_STRATEGY.md 和 KNOWN_LIMITATIONS.md。

功能

| 功能 | 说明 |
| --- | --- |
| 原生分支树 | 读取同一工作区的会话、父会话和子代理关系,自动生成树形布局 |
| 自由画布 | 支持拖动节点、框选、平移、缩放、自动布局和视图居中 |
| 紧凑显示 | 普通面板在有效缩放低于 0.6 时切换圆形节点;紧凑面板阈值为 0.85 |
| 会话跳转 | 双击普通节点打开会话;子代理节点使用 Harness 的 openSubagent 地址跳转 |
| 运行状态 | 区分 running、idle、cold,并监听 Agent 生命周期事件 |
| 标题修改 | 支持活跃会话直接改名;冷会话通过持久化事件追加并处理序列冲突 |
| 单项/批量归档 | 归档前校验工作区归属,批量结果逐项返回;父节点归档时收集其子代理后代 |
| 归档显示模式 | 默认不加载归档节点;可切换完整视图。隐藏归档链时用双虚线连接最近可见祖先 |
| 性能保护 | 快照 TTL/LRU、同键请求合并、全局重建并发上限、子代理 TTL/LRU 和轮询退避 |
| 兼容诊断 | /brvis/api/diagnostics 返回去敏的适配器版本、能力状态和缺失能力 |

安装

前置条件:

- DeepSeek Harness 支持 bundle/plugin profile;
- Node.js ^22.19.0 或 >=24.0.0;
- 使用 Harness CLI 管理插件,不要手工复制构建产物。

从 GitHub 安装到指定 profile:

dsh plugin --profile  add github:111222cjyq/dsh-branch-visualizer

然后重启对应的 Harness 进程。Cordis 动态包是进程内实例,源码或 lib 更新不会自动替换已经运行的插件实例。

Git 依赖会通过 prepare 自动构建。如果 pnpm 报告构建脚本被阻止,请让 Harness CLI 把精确包名 dsh-branch-visualizer 加入宿主项目的 pnpm.allowBuilds,不要全局放开任意依赖脚本。

更新或移除时仍通过同一个 profile 操作,并在操作后重启 Harness。CLI 参数以当前 Harness 版本的 dsh plugin --help 为准。

使用

1. 打开任意会话。
2. 点击会话标题栏中的“◈ 分支图”。
3. 双击节点跳转;拖动节点调整布局;空格加左键平移画布。
4. 选择一个或多个节点后执行改名或归档。
5. 需要检查完整历史时开启“显示归档”。大工作区第一次加载完整历史可能明显慢于默认视图。

持久化与数据边界

这是标准 Harness bundle,不依赖临时注入器,也不把状态写入浏览器全局变量。安装关系由 package.json 的 dsh.bundle.patch 和根目录 cordis.patch.yml 声明;宿主和客户端由同一个包提供。

插件:

- 不包含遥测、广告、分析 SDK 或第三方网络请求;
- 只通过 Harness 同源 /brvis/api 访问本地宿主;
- 读取会话 ID、标题、父子关系、工作区归属、归档状态和 Agent 状态;
- 只有在用户明确点击时才改名或归档;
- 兼容诊断不返回路径、会话 ID、标题或用户内容;
- 源码和发布包通过隐私扫描,禁止提交本机用户目录、私钥和明显的硬编码令牌。

更完整的威胁模型见 SECURITY.md。

面向 Harness 大改的适配结构

业务核心不直接绑定 Harness 的服务名和槽位名:

DeepSeek Harness
│
├─ Host adapter: src/platform/adapters/dsh-preview-2026-08/host.ts
├─ Client adapter: src/platform/adapters/dsh-preview-2026-08/client.ts
│
├─ Stable contracts: src/shared/
│
├─ Host core: src/host/
└─ Client core: src/client/

如果 Harness 修改 service key、事件 payload、slot 名称或导航 API,应优先新增版本化 adapter,并在能力探测中明确降级;不要把版本判断散落到布局、缓存、HTTP 或 mutation 代码中。详细升级流程见 DSH_COMPATIBILITY_STRATEGY.md。

项目结构

src/
index.ts                         Host 装配与同源 API
host/
data.ts                        快照、缓存、授权、子代理和 Agent 状态
mutations.ts                   改名与归档
canonical-path.ts              工作区权威路径键
http-guard.ts                  HTTP/CSRF 边界
client/
index.ts                       Client 装配、槽位和共享状态
canvas.tsx                     React 生命周期与画布编排
canvas-interactions.ts          手势、跳转、改名和归档动作
canvas-elements.tsx             展示组件
canvas-geometry.ts              命中、框选和几何计算
layout.ts                       树布局与边计算
api.ts                          同源 transport
styles.ts                       样式
platform/
adapters/dsh-preview-2026-08/  Harness 版本适配层
capabilities.ts                 无副作用能力探测
diagnostics.ts                  去敏诊断报告
shared/                           稳定 wire/runtime 契约
tests/                              生产构建产物回归测试
scripts/                            跨平台构建与隐私检查
cordis.patch.yml                    Harness profile patch

后续扩展的模块边界与拆分顺序见 PERSISTENT_ARCHITECTURE_SPLIT_GUIDE.md。

开发与验证

npm ci --ignore-scripts
npm run verify

npm run verify 会依次执行:

- TypeScript 类型检查;
- ESLint;
- Windows/Linux 通用的 Node 构建脚本;
- 生产产物回归测试;
- 隐私/密钥扫描;
- npm 发布内容预览。

CI 在 Node 22.19.0 和 Node 24 上执行同一套流程。测试直接导入 lib,构建缺失或产物不可加载时会失败,不使用静态副本兜底。

当前不成熟之处

最重要的限制如下:

- DeepSeek Harness 仍是实验版本,未来的 profile、Cordis、slot、session 或 subagent 契约可能发生破坏性变化;
- 当前只支持 dsh.client.platform = web,未验证 Electron/桌面专用 bridge;
- HTTP 边界用于阻止普通跨站浏览器请求,不是本机恶意进程隔离或多用户认证系统;
- 冷会话改名依赖 session event 结构,是适配中最容易受 Harness schema 变化影响的能力;
- 尚未提供“取消归档”,也没有在非常大的工作区完成长期基准;
- 画布已支持常用鼠标/指针操作,但键盘无障碍和触屏手势仍不完整;
- 自动化测试覆盖逻辑、构建和打包,真实 Harness UI 仍应在每个兼容版本上做一次人工冒烟。

完整清单、影响和规避办法见 KNOWN_LIMITATIONS.md。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群