Your thinking deserves a map. An infinite canvas where LLM conversations grow into an editable thought graph.
中文 · Quick start · Desktop app · How it differs · Models & subscriptions · Cost & privacy
Wires are the context. What the model sees is exactly what wires into the node. Editing the graph edits the model's memory.
One principle behind every gesture: the human in the loop, the model on the wires. No autonomous agent redraws your graph.
|
The model sees only what wires in. Delete the noise edge, ask again, and the same prompt returns a clean answer. Reproduce it in chapter ③ of the example canvas. |
|
Select a passage, ask right there. The answer lands on the canvas with its page number, and the p.N chip jumps back to the page. Finish the paper, and the map is drawn. |
|
Merge nodes into one higher conclusion; weave highlights into a summary. The graph folds inward instead of sprawling. The human refines in the loop. |
|
Highlights are your judgment, not the model's. Check any subset and weave one passage where every sentence traces back. |
|
Full cards, takeaway plaques, an icon skeleton: three semantic tiers, every step badged ✕ ⚖ ↩ ?. The detours are part of the map. |
The desktop app is the primary way to run ThoughtDAG: download, open, think. Running from source works too:
npm install
npm run server # LLM proxy :3001
npm run dev # → localhost:5173
# No .env? Connect any OpenAI-compatible endpoint inside the appWant a ten-second look before installing anything? The hosted demo runs in the browser, and the example canvas needs no key. It is a feature subset: keyless web search, some direct-connection tools and the subscription bridge are desktop/local-only.
The landing page offers the seeded example canvas one labeled click away: four chapters around one everyday question (why saved articles stay unread), including a reading loop with a real embedded PDF. Environment variables, free keys and configuration details → docs/setup.md
The same app in its own window, with the local server bundled. No Node, no terminal. The easiest path is the download page: it detects your platform and hands you the right file.
Downloading from Releases directly? Pick by system:
| Your system | File to download |
|---|---|
| macOS, Apple Silicon (M1 and later) | ThoughtDAG-x.y.z-arm64.dmg |
| macOS, Intel | ThoughtDAG-x.y.z.dmg |
| Windows | ThoughtDAG.Setup.x.y.z.exe |
| Linux | ThoughtDAG-x.y.z.AppImage |
Not sure which Mac you have? Apple menu → About This Mac. The .zip, .blockmap and .yml files serve the in-app updater; you never download them by hand.
The macOS builds are signed and notarized by Apple: double-click and go. Windows builds are not signed yet; choose "More info → Run anyway" on the SmartScreen prompt. After installing, the app checks for new versions itself (canvas menu → Check for updates) and every step past looking waits for your click.
| Capability | What it does |
|---|---|
| 📤 Read-only share | One link carries the whole graph: no account, no server storage |
| 🧭 Staleness & replay | Upstream edits mark the answers they invalidate; replay in dependency order, token estimate first |
| ✂️ Clipping | Select a passage or drag a rectangle in the reader; it becomes canvas material with page provenance |
| 🔌 Any model | Per-node pins that follow the line; text-only models read images through their companion text |
| 🔒 Local-first | Automatic folder backup writes real files; point it at a synced folder for cross-device |
Full feature list (60+, grouped by area) → docs/features.md
Many tools put conversations on a canvas. The difference is what the connections do.
In ThoughtDAG, a wire is not decoration or an execution route. It determines what the model sees next.
| Type | What a wire means | Better for |
|---|---|---|
| Linear chat | Conversation history in time order | Quick, simple questions |
| Mind maps and whiteboards | Visual relations for human eyes | Free-form organizing and presenting |
| Branching chat canvases | Parent-child forks of a conversation | Exploring alternative responses |
| Workflow and agent canvases | Data flow or execution order | Automation and orchestration |
| ThoughtDAG | The context the model actually receives next | Deliberate forking, merging, pruning and tracing of long-running thinking |
If you already keep a hand-maintained decision tree in a markdown file, ThoughtDAG is that tree made operational: the model reads exactly the branches you wire in.
Give the canvas a folder and it becomes a live local file: turn on automatic folder backup, point it at your project directory, and every new node you land updates <canvas-name>.thoughtdag.json on disk as you work. And coding agents read files. That is the whole integration:
- Ask your agent CLI to read the file. The
question,responseandsummariesfields carry your full decision history, including which paths were ruled out and why. - For the cleanest handoff, use Markdown export: any context chain or selection becomes a plain
.mdthe agent reads natively.
Example, inside any agent session: "Read ./notes/research.thoughtdag.json and continue from the conclusions; the summaries field lists what was already ruled out."
No plugin, no API, no server. The same file doubles as real data safety: point the backup at a synced folder and it is also your cross-device backup.
Zhipu · Qwen · OpenAI · Anthropic · Google · DeepSeek · Kimi · OpenRouter · Ollama, or any OpenAI-compatible endpoint. Text-only models read already-indexed images through their companion text; unread images go to a vision model, announced. Environment variables and default models → docs/setup.md
Already paying for a subscription? It plugs in. A ChatGPT plan connects through a one-command local bridge (with ThoughtDAG running locally). GLM Coding and Kimi Code plans issue real API keys: pick the preset, paste the key, done. Setup for all three → docs/setup.md#subscriptions
- The free model tier covers every feature; a local Ollama runs fully offline
- In the desktop app everything lives on your machine: canvases, keys, documents; on the web demo, model traffic runs browser-direct and keys never touch the server
- PDFs never leave your machine; only extracted text travels when you ask
- The backup format stays backward compatible; Markdown export is the permanent escape hatch
