ThoughtDAG · 开源 · MIT 许可

让每一次对话,
都能接上过去的思路。

ThoughtDAG 是开源 AI 对话画布。你可以编辑发给模型的上下文,沿一句话展开支线,再把过去有用的讨论接到新问题上。

选中一句话,展开支线,再回到原来的计划。交互示意动画。

你在继续追问时,遇到了什么问题?

旧假设总在影响后面的回答。

看清下一次请求,移除不需要的输入路线,再重新生成。原来的讨论仍然保留。

如何编辑 AI 上下文 →

想追问一句话,又怕打断主线。

展开支线,缩小看清讨论全貌,再把有用的发现接到后续问题。

如何展开 AI 对话分支 →

以上为交互示意动画。教程包含可在应用里操作的步骤,以及可下载的 GIF。

开始前,先说清三件事

能不删聊天记录,只移除上下文吗?

可以。删除连线会移除进入后续请求的那条路线,节点仍然保留。还要检查其他路径、附件和回忆条目;已有回答需要编辑或重新生成,才会改变。

非线性思考,具体怎么用在 AI 对话里?

把不同问题放到各自的支线上,在画布里比较,再把选中的发现接到新的后续问题。支线会继承上游对话路径;选中一句话追问,不代表模型只会看到这句话。

过去所有聊天都会自动出现吗?

不会。桌面版索引的是已经接入、受支持的本地记录,不能恢复未保存的历史,也不会自动读取只存在于网页账号里的聊天。使用远程模型时,请求中包含的材料会发送给对应服务。

ThoughtDAG

思考值得一张地图
连线即上下文

向下滚动

聊天记录里,看不见上下文。
图就是上下文。
线性聊天
可编辑的上下文图
同一个问题 · 不同的上下文
AI 对话 87 条消息
帮我比较三种研究路线。
先从第一条开始,它的优点是……
如果核心假设不成立呢?
可以考虑另一种解释……
顺便问,晚饭吃什么?
附近有一家新开的餐厅。

聊天都在这里,可下一次到底会带上哪些内容?

research-paper.pdfp.7

实验结果

这个效应只在实验条件下出现。
从原文中选中
摘出的段落research-paper.pdf · p.7

这个效应只在实验条件下出现

保留出处 · 尚未连入
从原文追问research-paper.pdf · p.7

这段证据究竟意味着什么?

原文已进入上下文
无关分支岔路

今晚吃什么?

这段对话不该进入研究总结。

仍在上下文中
混入闲聊的总结 3 个来源

研究总结……另外,晚饭可以吃火锅。

问题没变,混进来的上下文却改变了答案。

混入无关分支
将发送给模型1,284 tokens

生成前,先看看模型会读到什么

这次会带上:

研究问题 证据 A 晚饭话题

删掉橙色连线后:减少 47 tokens

上下文变化−47 tok

晚饭话题已移出上下文

同一个问题 · 再生成一次
同一个问题再问一次

请用要点总结

问题一字未改,只有一条连线变了。

上下文可复现
更新后的回答 2 个来源

要点一:记录数据库版本。要点二:双人独立筛选。要点三:冲突由第三人仲裁。

回答里不再出现无关的晚饭建议。

答案已更新
一条规则ThoughtDAG

连线即上下文

不必把上下文筛选交给藏在系统里的黑盒。模型看到了什么、为什么会看到、哪些内容被删掉,图上都清清楚楚。

可见 可编辑 可追溯
01 · 困境

聊天越聊越长,上下文反而越来越模糊。

界面记下了说过的话,却没告诉你:下一次,究竟哪些内容会发给模型。

02 · 展开

从原文直接追问,
也把重要的摘到画布。

选中原文就能直接追问,也能把文字或图像摘成带出处的独立节点。出处会保留,是否进入上下文仍由你连线决定。

03 · 检查

生成之前,先看清模型的上下文。

来源、顺序和 token 用量一目了然。上下文不再由系统悄悄决定。

04 · 编辑

剪掉一条线。
同一个问题,
再问一次。

这条分支会真正退出上下文;问题没变,答案会随着上下文改变。

05 · 上下文协议

很多画布只是在整理信息。ThoughtDAG 让你直接编辑模型的上下文。

什么进入,什么退出,由你决定。图不是回答生成后的装饰,而是生成前的上下文协议。

1 / 5 Invisible context

这不是一张上下文示意图。图本身,就是上下文。

ThoughtDAG 会沿着连入节点的边,找到并排列相关的上游内容,再把它们组成发送给模型的消息。模型会看到什么,始终一目了然,也随时可以调整。

展开分支

换个方向继续想,又不必改写原来的思路。

排除旁枝

岔路可以继续留在画布上,但不必再进入下一次对话的上下文。

合并思路

把选中的证据和推理路径,汇成一个新的回答。

生成前预览

回答生成前,先确认模型将看到哪些内容。上下文不再藏在系统里。

找到相关对话。
决定模型下一步看到什么。

从一个代码文件、一句原话、一个网址或一篇论文出发。ThoughtDAG 会在本机 Agent 对话中找到命中的轮次。

索引在你自己的机器上建立。

Claude Code Codex DeepSeek Harness ThoughtDAG 画布
同一份本地索引
找回 · 一条命令 CLI
$ npx thoughtdag why src/lib/api.ts
why src/lib/api.ts · 12 turns in 6 sessions
claude-code · ✏ edit
  Q: Can the API detect vision support?
  Δ storedProviders → storedProviders, storedVision…
$ npx thoughtdag why src/lib/api.ts
why src/lib/api.ts · 12 个相关轮次,来自 6 个会话
claude-code · ✏ 修改
  Q: 能否判断模型是否支持多模态?
  Δ storedProviders → storedProviders, storedVision…

不记得文件名?一句原话、一个网址或论文编号,也能找回那次对话。

0.4 新功能 · AGENT 对话地图

让你的 Agent
上下文可视化

把散落在不同 Agent 里的工作带回同一张图。看清每段会话带着什么上下文,从任意节点继续,再把新的结果接回原来的思路。

本机发现 上下文可视 跨 Agent 接续

桌面版与 Harness 插件均可使用 · 支持 Claude Code、Codex 与 DeepSeek Harness 会话。

选择打开会话的方式 →
AGENT 对话地图 上下文 · 可视化
thoughtdag-main 18 个会话
codex 梳理相互矛盾的研究结论
claude-code 检查 benchmark 设计
研究结论相互矛盾
检查研究设计
另一种解释
哪些内容进入上下文?
+ 新对话继续追加

新功能 · 在 DEEPSEEK HARNESS 中使用

在 Harness 里,直接用图继续思考。

从对话切换到思维图。连接上下文,继续追问,让 Harness 执行下一轮。

上下文修复实验

为什么要让上下文可编辑?

删掉错误源头,并不意味着它已经离开后续上下文。九个模型端点里,只删源头修复了 162 个案例中的 152 个,移除受污染子图修复了全部 162 个。关掉推理后,仅删源头的修复跌到 18 个中的 2 个。在 ThoughtDAG 里,分叉、删减与重算决定模型下一次真正看到什么。

CONTEXT REPAIR · PILOT V2 9 ENDPOINTS · 1215 CONDITIONS
资料
问题
探索 A 保留在上下文中
探索 B 过期分支
合并 / 凝练 下一次请求
排除过期分支
152 / 162 仅删除源头
161 / 162 重算下游节点
162 / 162 删除整条污染子图
THOUGHTDAG 产品故事 0:32

从需要的这一层开始

让 Agent 检索历史、在 Harness 中使用画布,或打开独立应用。选适合你的一种开始。

CLI + 只读 MCP

跨已支持的 Agent 检索对话,并让 Agent 直接调用查询工具;无需安装桌面版。

CLI 与 MCP 手册 →
npm install -g thoughtdag thoughtdag setup mcp

已经在用 DeepSeek Harness?

把思维图接入网页界面,使用 Harness 模型、执行 Agent 轮次,并在 Atlas 中探索会话。无需另装 ThoughtDAG 应用或 CLI。

安装与使用手册 → 每个 Release 附带插件文件(.tgz),同一条命令可直接装它的链接 →
dsh plugin --profile web add dsh-thoughtdag dsh web

完整可视化应用 · Agent 对话地图、画布与文件阅读器

同一个应用装进独立窗口,内置本地引擎。不需要 Node,不需要终端。

v0.5.6
macOS Apple Silicon
通过 Homebrew 安装 brew install --cask thoughtdag
下载 .dmg
≈143MB
Intel 芯片版
Windows x64
下载安装程序
≈121MB
Linux x64
下载 .AppImage
≈150MB
安装说明
macOS 版已由 Apple 签名与公证,双击即可打开。Windows 版暂未签名,弹出提示时点「更多信息」,再点「仍要运行」。

全部版本与历史在 GitHub Releases。