chenxiachan/thoughtdag

Your thinking deserves a map: an infinite canvas where LLM conversations grow into an editable thought graph. Wires are the context.

ThoughtDAG – 用于 LLM 对话的基于图的 UI

它是什么 – ThoughtDAG 是一款开源桌面/网页应用,可让您将 LLM 聊天的每一轮视为图中的节点。边(称为连线)定义哪些先前的轮次作为上下文输入到下一个请求中,因此您可以分支、剪枝、重新连接或合并讨论路径,而不会丢失底层工作。

为什么重要 – 传统聊天窗口是线性的;ThoughtDAG 为您提供无限画布,您可以在其中:

  • 在单独的分支中探索附带问题。
  • 通过内置索引从任何本地 LLM 会话(Claude、Codex、DeepSeek Harness、Pi 等)中提取相关的过去轮次。
  • 使用轻量级决策模型(Jev)在发送给 LLM 之前对最有用的摘录进行排序和选择。
  • 预览模型将收到的确切内容,编辑该上下文,并在上游编辑发生时重新运行下游节点。

关键功能

功能 您可以做什么
基于图的上下文 连接/断开节点以塑造提示;图(而非仅视觉布局)决定模型输入。
回忆与相关性层 可选的 Jev 模型对过去的摘录进行排序;您可以手动包含/排除它们。
CLI 工具 thoughtdag find、thoughtdag topics 等,让您从终端搜索本地对话历史并跳转到匹配的轮次。
DeepSeek Harness 插件 在 DeepSeek Harness 桌面应用中使用 ThoughtDAG 作为插件,在普通聊天和图画布之间切换。
文档并排 在画布旁边打开 PDF、图像或 HTML,将段落/图形剪裁到节点中,并保留页面引用。
压缩与编织 将长分支折叠为简短摘要,或生成带引用的散文版本,可导出为 Markdown。
会话图集 将保存的本地代理会话加载为图,浏览其节点,并从任何点继续对话。
导出思维导图 保存图结构(节点、边、计数)而不包含全文,用于共享或分析。
逐节点模型选择 在单独的分支上运行不同的 LLM 后端,而无需更改整个画布。
只读共享 发布图供他人检查,同时保持底层数据私有。

安装

  • 桌面应用(macOS、Windows、Linux):brew install --cask thoughtdag 或从网站下载。
  • CLI:npm install -g thoughtdag 然后使用 thoughtdag 命令;thoughtdag setup mcp 为代理暴露只读历史工具。
  • 从源码:
    git clone https://github.com/chenxiachan/thoughtdag.git
    cd thoughtdag
    npm install
    npm run dev   # 前端在 :5173
    npm run server   # LLM 代理在 :3001
    
  • 浏览器演示:https://app.thoughtdag.workers.dev (无需 API 密钥,但功能有限)。

典型工作流程

  1. 连接模型 – 配置兼容 OpenAI 的端点、Ollama 或 DeepSeek Harness 使用的提供商。
  2. 开始对话 – 每一轮显示为一个节点。
  3. 分支 – 在答案中选择文本,创建侧节点,独立探索。
  4. 回忆 – 搜索本地索引以查找相关的过去轮次,让 Jev 对它们进行排序,并将选定的摘录添加为连线。
  5. 预览 – 查看将发送的确切提示。
  6. 编辑 – 剪枝或重新连接连线,压缩长分支,或为特定节点更换模型。
  7. 导出 – 将画布保存为思维导图或 Markdown 文档。

研究角度 – 仓库包含上下文干预基准,展示编辑图(移除错误声明或其子图)如何修复下游模型输出。结果作为案例研究呈现,而非通用排行榜。

许可与社区 – MIT 许可,活跃贡献者,路线图,以及支持链接(buy-me-a-coffee)。欢迎通过 GitHub 仓库提交问题和功能请求。


ThoughtDAG 让您将 LLM 提示视为可变的、可视化的数据结构,在保持对话探索流程的同时,对模型看到的内容进行细粒度控制。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目