liangmianya 的 dsh-synapse 把同一工作区里的会话、追问和分支摆到一张可拖拽、可缩放的画布上。它不新建一套聊天记录,而是给 DeepSeek Harness 的原生会话加一层地图视图:卡片之间按 DSH 自己的 fork 关系连线,消息正文仍从原来的会话日志读取。

先确认装进哪套 profile
DSH 按 profile 分套安装插件,桌面 App 与命令行各用一套。命令行用户执行:
corepack pnpm dsh plugin --profile web add dsh-synapse |
桌面 App 则把 web 换成 desktop。插件要求 DSH 0.1.7-rc.2 及以上、Node.js 22.19.0 及以上,旧版本不兼容。桌面端装完要重启 App,命令行装完要重启 dsh web 并刷新页面。从 App 内的插件页面安装时,App 会自动装进它自己用的那套,不用管 profile。自检方法很朴素:页面顶部看不到“会话地图”开关,通常就是装到了另一套 profile。
地图上保存了什么
画布节点对应真实会话,分支按 DSH 原生 fork 关系连接,不做二次编排。选中回答里的文字可以直接带入新的追问,常用补充词可以编辑;在地图和原生对话之间切换时,当前上下文保持一致,仍是同一个 DSH 会话。Synapse 只投影已经提交的事件,不拦截生成中的内容。
追问与分支的走法
长任务里常见的动作是“沿着这个方案再问一层”或“换一个实现思路对比”。原生对话的历史沿单条时间线展开,早先的分叉不容易并排比较;在会话地图里,可以直接在卡片上分叉,旧分支留在原位,新分支单独延伸。需要回到早先的结论时,缩放画布比翻聊天记录更容易定位。
数据放在哪里
布局和每轮对话的短预览存在 $DSH_HOME/synapse/,消息正文按需从 DSH 会话记录读取。删掉这个目录只会丢布局,不会丢会话;布局文件可以单独清理,会话正文仍要随 DSH 的会话目录一起迁移。README 还写明插件不修改 prompt、模型请求、工具 schema、provider 路由,也不碰可复用的 KV-cache 前缀;内置 patch 通过 profile 的 bundle 列表引入,桌面与命令行都适用。
适合它的任务
同时比较三套技术方案、让每个方案各自追问几轮,最后回到分叉点做取舍;或者一个长任务中途换方向,需要保留原路线备查。分叉前不必复制大段上下文,回答里的选区可以直接带过去。短问答和一次性脚本不需要画布,节点反而增加点击成本。
与聊天记录、思维导图的差别
原生会话列表是线性的,分支被折叠在历史里;思维导图工具能画结构,但内容通常是另存一份。dsh-synapse 的取舍是“地图只做导航,事实仍归 DSH”,因此不会出现两份内容不一致的问题。这套做法把探索过程留在 DSH 内,不必再导出到外部笔记。代价是它依赖 DSH 的 fork 语义,换到别的宿主就用不了。
限制
版本门槛不低:DSH 要 0.1.7-rc.2 及以上,Node.js 要 22.19.0 及以上,宿主升级后还要跟着更新;桌面与命令行的 profile 分离,第一次安装容易装错,两套 profile 的会话与布局也互不相通。画布节点多起来后仍需要手动整理,拖拽与缩放能缓解定位问题,但 README 没有承诺自动布局能解决复杂项目。本文按官方 README 与仓库元数据整理,未在本机完整实测。
适合谁
适合长期用 DSH 做方案研究、代码重构或多路线实验的人,尤其是那些经常回看“当时为什么选了这条”的用户。只做简短问答、或者习惯用外部笔记整理结论的人,原生会话已经够用。
官方入口
- 仓库:liangmianya/dsh-synapse
- npm:dsh-synapse
- 中文指南:docs/zh-CN/README.md
- 许可证:MIT
