dsh-workspace-graph:用可拖拽气泡管理工作区与会话

前言

在 DeepSeek Harness(DSH)里,工作区和会话往往分散在侧栏列表、分页和筛选里。项目一多,很难一眼看清「哪个工作区下有哪些会话、当前在跑哪一条、分支从哪条会话长出来」。侧栏原生操作够用,但缺少一张按真实归属关系展开的视图。

工作区图谱(仓库名 dsh-workspace-graph,README 亦称 Workspace Atlas)是维护者 qrxf 发布的 DSH 客户端原生插件:在 Web 界面用大气泡表示工作区、小气泡表示会话,连线表示宿主里的真实所属关系;左下角选工作区与筛选,右侧看详情并执行 Harness 原生操作(打开、新建、重命名、归档等)。插件不读会话正文、不调用模型,也不需要额外 API 密钥。社区目录页见 skillhub.cn/plugins/qrxf/dsh-workspace-graph;该目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系。

这是什么

一句话:DSH 侧栏里的「工作区图谱」页面——可拖拽、可筛选、可搜索的工作区 / 会话关系图,拖拽只改图谱上的位置,不移动文件、不改变工作目录或会话归属。

  • 维护者:qrxf
  • 分类:客户端(platform: web)
  • 版本(package.json):0.1.1
  • 许可证:MIT
  • 已验证目标:DeepSeek Harness 0.2.1-rc.2,Web 界面;Harness 仍处于预览阶段,其他版本可能需要适配

核心功能

下面按 README 已描述的能力归纳;细节以 GitHub 仓库 为准。

图谱与交互

  • 大气泡为工作区,小气泡为会话,线条表示真实所属;嵌套工作区按宿主目录路径挂到最近父工作区,显示「子工作区」;分支会话用宿主 parentId 连到来源圆周。
  • 初次进入只显示工作区和宿主当前选中的会话;单击工作区展开 / 收起,可多开;当前会话以「当前」和白色外圈标记,不受筛选或收起影响。
  • 树状布局向四周展开,小气泡从父圆周外侧展开;拖动沿父子连线柔性牵引,按住 Ctrl 可单独自由拖动并碰撞推开相邻气泡;松手或指针停约 120ms 后连线约 1.2 秒内变硬。背景拖动平移,滚轮缩放;顶部提供适应画布、重排并撤销。
  • 并行运行、等待回应和本窗口宿主当前会话始终可见,越过折叠、分页和筛选;「当前」与「工作中」分别标注。

筛选、搜索与详情

  • 左下角选工作区,按状态、类型、归档筛选;状态多选同维度为「或」,时间 / 频率 / 状态之间为「且」。默认「近期」(宿主持久消息活动 7 天内);可切「全部时间」。另有「常用」:近 30 天从本图谱主动打开至少 5 次(同会话间隔不足 30 分钟不重复计数)。
  • 顶部搜索工作区名称、路径或会话标题。
  • 单击看详情,双击打开;详情支持新建会话、工作区重命名、会话归档与恢复;会话可本地置顶和编辑短概括。
  • 默认隐藏空白会话、子代理会话和归档会话(实际当前会话除外);工作区展开后先显示 20 条会话,详情中可继续展开。

布局与本地持久化

  • 气泡位置与视角:仅在本次应用运行内保留;刷新页面、重启或重新初始化插件后恢复默认布局与首次适配视角;旧版持久坐标不再自动恢复。
  • 筛选、主题、动态偏好、置顶、手动概括、本地使用记录:保存在当前浏览器,用稳定原生对象 ID 区分同名对象;不自动同步到其他浏览器或设备。
  • 各窗口布局独立;拖动不写入 localStorage。存储异常时可导出布局备份;首版暂无导入。

主题与边界

  • 「主题与动态效果」可调颜色、HEX、恢复默认,并遵循系统「减少动态」偏好。
  • 运行中会话的归档遵循 Harness 限制;插件不自动停止进行中的工作。
  • 可选摘要提供方契约见仓库 docs/summary-provider-research.md;README 写明本次没有真实自动概括插件接入。

技术结构上,客户端入口在 src/client.tsx,图谱与筛选在 src/GraphPage.tsx,React Flow 随客户端打包;React / ReactDOM 使用宿主实例。没有增加模型工具、自动任务或文件系统操作。

安装与启用

安装到实际使用的 profile;以下示例针对 web profile。仓库含构建产物,无需自行编译。

npx @deepseek-ai/dsh plugin --profile web add github:qrxf/dsh-workspace-graph

安装后在 Harness 侧栏点击 工作区图谱。若当前配置未开启插件热重载,需重启对应的 Harness 实例。

安装前建议浏览仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,权限范围与宿主一致。

典型用法

  1. 打开侧栏 工作区图谱,默认「近期」筛选;左下角选要关注的工作区或维度。
  2. 单击工作区气泡展开会话;单击会话看右侧详情,双击进入该会话。
  3. 需要精确定位时用顶部搜索;需要看归档或全量时间时调整筛选。
  4. 仅想整理视图时拖动气泡或背景;需要固定相对位置时用 Ctrl 自由拖动;不满意时用顶部「重排并撤销」。
  5. 在详情里新建会话、重命名工作区,或对会话归档 / 恢复(进行中的归档仍受 Harness 规则约束)。

独立演示(示例数据,非真实宿主)可在克隆仓库后执行 npm run demo;与插件共用同一界面,README 中有完整开发与测试说明。

适用场景与注意

适合:经常在多个工作区、多条会话之间切换的 DSH Web 用户;希望用一张关系图做导航锚点,而不是只在侧栏列表里翻页的人。

注意:

  • 目标版本为 DSH 0.2.1-rc.2;升级 Harness 后若侧栏入口或 API 行为变化,需自行验证或关注仓库更新。
  • 拖拽与图谱布局是视图层行为,不改变磁盘上的项目结构。
  • 「常用」等本地指标从本版本起积累;原生侧栏打开路径尚无可靠人工操作事件,不计入图谱本地打开次数。
  • 当前会话标记来自本窗口宿主 mainView,不能推断其他窗口的焦点。

结尾

dsh-workspace-graph 把 DSH 里已有的工作区与会话关系投影成可交互气泡图,在不做额外模型调用的前提下补上「一眼看归属、筛完还能操作」的客户端能力。筛选与偏好留在浏览器,气泡布局随会话重启重置,用法上适合当作侧栏的补充导航,而不是替代原生工作区管理。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye