DeepSeek Harness 无限画布:用 ThoughtDAG 做会话分支
非线性会话工作流实操,演示者就是插件作者本人:每个问题变成画布上的节点,连线即上下文,PDF 长出分支,旧的 Claude Code 会话只读导入。
最近更新: 2026-09-29

聊天窗口是一条竖列:一个话题盖掉下一个,一周的活儿最后没法检索。ThoughtDAG——开发者 Chatchan 做的社区插件——走了另一条路:在 DeepSeek Harness 里放一张无限画布,每个问题都是一个可以双击、分支、打标签、连线的节点。欢迎页上印着它唯一的法则:连线即上下文。本攻略逐帧跟随作者自己的八分钟 B 站实录;插件还很早期,界面文案请以当时的截图为准。
下面每张截图都来自这一支实录,用同一套固定裁切配方去掉摄像头气泡、章节标题和底部字幕,且不损失窗口内容;每张图都深链回原视频对应的秒数。不装插件也能做的分支,见会话回放攻略里的 dsh 原生分支按钮。 会话回放与原生分支
快速答案
- ▸两条命令装好,悬停思维图块进入画布,输入框开箱就读到你 dsh 里配好的模型和 Agent,不用重复接线。
- ▸每个问题一个节点,每次追问一个新节点;虚线只把上游摘要传下去,实线传完整上下文,连线上的 toast 会把 token 数报出来。
- ▸PDF 拖上画布就变节点:生成导读出一个导读节点,摘取图像把论文插图交给视觉模型读,论文从此是分支而不是附件。
- ▸Agent 对话地图把本机 Claude Code、Codex、dsh 会话只读导入画布;合并凝练把多个节点收成一个,最后导出海报 PNG 或打包 JSON 备份带走。
分步实操
装插件,问出第一个问题
- 1
装上插件,先看模型下拉
仓库 README 里两条命令就能把 ThoughtDAG 挂到 dsh 的 Web UI 后面(要求 Node 22.19+ 或 24、DeepSeek Harness 0.1.2-rc.1 以上)。跑 dsh web,欢迎页把卖点写在明面上——思考值得一张地图,唯一法则:连线即上下文。点开模型下拉,这里没有任何要配置的东西:它直接列出你 dsh 里已有的东西,录屏里是选中的 DeepSeek-V4-Flash、DeepSeek-V4-Pro、标着视觉的 DeepSeek-V4-Flash-Vision,再加联网搜索、图像识别两行能力开关。
$dsh plugin --profile web add dsh-thoughtdag$dsh web
这里不用配任何东西——下拉列表就是你 dsh 里已有的模型。看原视频 0:44 - 2
发出第一个问题——它落成一个节点
在「你想探索什么」输入框里打字,点发送。录屏问的是「模型上下文会污染吗」,这个问题就落在画布上成为第一个节点。输入框下面的三张卡片把整套玩法预告完了:概念分支是横向长出新问题,连线即上下文是把答案喂给下游,自由画布是随意铺开——你也可以直接拖一个文档进来,或者打开本机 Agent 会话,不一定打字。

第一个问题变成第一个节点,而不是多一屏滚动。看原视频 1:14 - 3
双击节点,看它怎么想
双击新节点,答案作为一份文档在旁边打开,一节一节流式生成——录屏里的结论是:会话上下文会被污染,模型权重不会被永久污染,长上下文真正的风险是注意力稀释。面板底部留着「继续追问」输入框,而每一次追问都变成新节点而不是新段落——这就是和聊天竖列的全部区别。

双击节点,答案以文档形式打开,而不是聊天气泡。看原视频 1:21
连线、文件与上下文注入
- 4
划选一句话,让下游记住它
答案里的文字可以划选——录屏选中的是「上下文迷失」(lost in the middle)——选区上会浮出一个小工具条。从这一刻起,这句话会在后续节点的上下文里被强化注入,所以左边跑搜索 Agent 的文献分支始终围着这个失效模式转,而不是围着整篇论文打转。下方的污染类型表,就是一个分支能长成的结构化答案的样子。

被划选的词会被强化注入到下游每个节点的上下文里。看原视频 1:56 - 5
PDF 拖上画布——它自己长成节点
把 PDF 拖到画布任意位置,它落成一张文件卡片。阅读工具条上有摘要、提取文本、导读、摘取图像;生成导读会写出一个自动打上「导读」标签的节点,提取出来的插图卡片——论文里那组 CoT prompt 结构——按一下就让视觉模型去读。导读节点接着连向无关信息干扰和少样本提示两个分支:论文不再是文件,而成了图的一部分。

拖进来的一个 PDF,长出一个导读节点、一张插图和两条分支。看原视频 3:16 - 6
画这条线:虚线注入摘要,实线注入全部
唯一法则在这一步变成看得见的东西。虚线只把上游节点的摘要传给下游,实线传完整上下文。toast 把话说得很死——「材料已全量接入」,约 598 tokens 沿这条线流下去——旁边一个「改为摘要引用」按钮,可以把全文引用降级成摘要引用。拖线松手后等在那头的空输入框,写着同一句话的另一种说法:沿线流入的内容就是它的上下文。

toast 把一条线带的 token 数报出来——虚线传摘要,实线传全文。看原视频 3:40
精简、回收旧会话、把成果带走
- 7
框选三个节点,合并成一个
框选相关节点,浮动工具条会报数:已选中 3 个节点(1615 tokens)。合并凝练把它们蒸馏成一个合并节点,合并并删除顺带清掉原件,红色的全部删除是后悔出口。合并前后录屏还演示了调整上下文先后、删掉节点重新生成出不同答案、把一长串内容雷同的节点凝练收敛,以及用彩色分区框圈住一片区域、锁定后整体拖动。

三条分支进去,一个蒸馏节点出来。看原视频 5:00 - 8
把旧的 Claude Code、Codex 会话导入进来
「Agent 对话地图」弹窗扫描本机的 Agent 会话,按项目文件夹列出,带 claude-code、codex、dsh、子线程四个筛选页。标题写着只读——画布上的任何修改都不会回写会话文件——点接入就把一条会话作为线性节点链铺上画布,从此可以从任意一环分叉。一个月线性干出来的 CLI 记录,成了今天这张图的原材料。

旧 Agent 会话导入成节点——只读,不回写。看原视频 6:44 - 9
导出海报,让 JSON 备份跟你走
导出思路地图打开一个海报排版器——标题、节点和时间开关、版式——把画布渲染成一张可打印的图(录屏这张:8 步思考 · 2 份材料),点下载 PNG 收走。图本身实时存在本地,开启文件夹备份后每次节点变动都会写进 JSON 文件,整张画布可以跟着你搬到另一台机器接着用。

整张图导出成可打印海报;JSON 备份也能一起带走。看原视频 7:29
常见问题
关于 dsh 无限画布和会话分支,大家最常问的几件事。
无限画布是 DeepSeek Harness 官方功能吗?
不是。ThoughtDAG 是开发者 Chatchan 做的第三方社区插件(github.com/chenxiachan/thoughtdag),以思维图块的形式嵌进 dsh 的 Web UI。它要求 Node 22.19+(或 24)和 DeepSeek Harness 0.1.2-rc.1 以上,而且是很早期的软件——作者还在持续改,本攻略里的界面文案随时可能变。
虚线和实线到底差在哪?
连线即上下文:虚线只把上游节点的摘要注入下游,实线注入上游的完整上下文。连线上的 toast 会把流过去的内容报出来——录屏里是「材料已全量接入」、约 598 tokens——点改为摘要引用可以把全文 feed 降级成摘要 feed。
它和 dsh 自带的分支按钮有什么区别?
自带分支是把一个任务带进新会话继续跑、原会话不受影响——在时间上分叉。ThoughtDAG 是在空间上分叉:很多会话和文档作为节点摊在一张画布上,节点之间显式接线、合并、蒸馏。两者配合最好用:重试用原生分支,然后把两条会话都导入画布对比。
它会动我已有的会话吗?
导入这条路按设计就是只读。「Agent 对话地图」弹窗写明画布上的任何修改都不会回写会话文件,仓库对 Claude Code、Codex、DeepSeek Harness 和 Pi 会话也重复了同一句承诺。你的原始会话原地不动,画布有自己独立的本地数据。
画布数据存在哪?能搬到别的机器吗?
存在本地。节点实时落盘,开启文件夹备份后每次节点变动都会写进一个 JSON 文件,拷走就能在别处接着用。导出思路地图还能把整张图渲染成可下载的 PNG 海报。仓库里有一条提醒:模型调用会把画布上的相关内容发给你在 dsh 里配置的供应商——这和任何 dsh 会话一样。
相关攻略
画布工作流和 dsh 其余部分的接点。
来源与署名
全部帧取自插件作者本人的 B 站实录(中文界面,8 分钟),按应用窗口裁切,实录里的摄像头气泡、章节标题和底部字幕均不出现在页面上;安装命令引自官方仓库 README。想看更大的画布插件版图——包括 synapse 和 talk-map——去 思维导图与画布插件合集
