dsh-workspace-graph
Manifest valid★ 2DeepSeek Harness Native Plugin: Draggable workspace / session graph, bubble view + filter search + native session operations | Draggable workspace & session graph plugin for DSH
工作区图谱 · Workspace Atlas
DeepSeek Harness 原生插件,用可拖动的气泡管理工作区与会话。左下角选择工作区和筛选条件,右侧查看详情并执行原生操作。

安装
已验证的目标版本:DeepSeek Harness 0.2.1-rc.2,Web 界面。Harness 仍处于预览阶段,其他版本可能需要适配。安装到实际使用的 profile;以下示例使用 web:
npx @deepseek-ai/dsh plugin --profile web add github:qrxf/dsh-workspace-graph
安装后,在 Harness 侧栏点击 工作区图谱。如果当前配置未开启插件热重载,重启对应的 Harness 实例。
仓库包含构建产物,安装不需要自行编译。插件本身没有运行时 npm 依赖,也不需要额外的 API 密钥。
使用
- 大气泡为工作区,小气泡为会话,线条表示真实所属关系。
- 拖动气泡调整位置;拖动背景平移,滚轮缩放;顶部可适应画布、重排并撤销。
- 左下角选择工作区,按状态、类型和归档情况筛选;顶部搜索工作区名称、路径或会话标题。
- 单击查看详情,双击打开;详情提供新建会话、工作区重命名、会话归档和恢复。
- 默认隐藏空白会话、子代理会话和归档会话。每个工作区先显示 20 个会话,可在详情中继续展开。
- 运行中会话的归档遵循 Harness 限制;本插件不自动停止正在进行的工作。
拖拽只改变图谱位置,不移动文件、不改变工作目录或会话所属。插件不读取会话正文,不调用模型。
布局保存
位置、折叠状态、筛选及视角保存于当前浏览器的本地存储;使用稳定的原生对象 ID 区分同名对象。
布局不会自动同步至其他浏览器或设备。同一浏览器来源使用独立命名空间;不同 profile 的工作区 ID 保持各自身份,但“全部”视角和筛选可能共用浏览器偏好。
现代浏览器使用 Web Locks 协调写入,并以修订号拒绝旧窗口覆盖新布局。另一个窗口更新后会同步位置,检测到冲突时提示重新载入。存储被禁用、已满或损坏时显示未保存提示;可以导出当前布局或保存原文,并显式重置本地布局。导出用于备份,首版暂未提供导入功能。
开发与验证
Node.js 22.19+(项目实际验证使用 Node 24)。
npm ci
npm test
npm run typecheck
npm run build
npm run demo
独立演示使用清楚标注的示例数据,与插件共用同一个界面。浏览器测试自行启动临时演示服务:
npx playwright install chromium
npm run test:browser
真实宿主集成测试使用临时 DSH_HOME、合成工作区及独立端口,不使用真实用户的会话或密钥。先设置 DSH_CLI 为已安装 dsh 的 lib/bin.js,再执行:
npm run test:native
测试覆盖:所属关系、状态优先级、过滤后的坐标保留、归档显示、分批展开、损坏存储、保存冲突、拖拽后刷新、筛选、搜索和恢复会话。完整验证记录见 docs/verification.md。
结构
src/client.tsx Harness 原生页面与侧栏入口
src/adapter.ts 原生工作区/会话快照转换
src/model.ts 图谱投影、所属关系与筛选
src/layout.ts 浏览器布局存储、校验与冲突处理
src/GraphPage.tsx 画布、筛选面板与详情
src/styles.css 深蓝气泡界面
src/host.ts 无 Host 侧行为的入口
scripts/build.mjs ModuleLoader 客户端打包
React、ReactDOM 使用宿主提供的实例;React Flow 随客户端打包。没有增加模型工具、自动任务或文件系统操作。禁用插件时注册项与样式随生命周期移除。
License
MIT。随客户端打包的第三方许可见 dist/THIRD_PARTY_LICENSES.txt。
A native draggable workspace/session graph for DeepSeek Harness. Browser-local layout persistence, bottom-left filters, search, and native navigation. Tested target: DSH 0.2.1-rc.2. No extra model calls or API key required.
Comments
Loading…
From the same category
by awesome-dsh-plugin
A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表
★ 20.5k
CC0-1.0
Python
Oct 25, 2026
by 0xsline
DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.
★ 1.3k
CC0-1.0
Python
Oct 16, 2026
by pax-beehive
Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub
★ 277
MIT
TypeScript
Oct 20, 2026
by xiajiajun516
DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.
★ 240
MIT
TypeScript
Oct 24, 2026
dsh plugin --profile web add dsh-config-managerby yjh051108
推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。
★ 167
TypeScript
Oct 16, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby Yuuyuko-uu
DSH 鱼的记忆:给会话一份会淡忘的长期记忆,每条都带时间
★ 140
MIT
JavaScript
Oct 24, 2026
dsh plugin --profile web add dsh-fish-memory