# I made ThoughtDAG – LLM as an editable graph, wires are the context

> Source: <https://github.com/chenxiachan/thoughtdag>
> Published: 2026-07-22 00:23:12+00:00

**Your thinking deserves a map.** An infinite canvas where LLM conversations grow into an editable thought graph.

no install, no signup; the example canvas needs no key

[中文](/chenxiachan/thoughtdag/blob/main/README_ZH.md) · [Quick start](#quick-start) · [More capabilities](#more-capabilities) · [Models](#supported-models) · [Cost & privacy](#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. |

|
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. |

|
Merge nodes into one higher conclusion; weave highlights into a summary. The graph folds inward instead of sprawling. |

|
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 ✕ ⚖ ↩ ?. |

```
# Online: app.thoughtdag.workers.dev (example canvas needs no key)
# Local:
npm install
npm run server    # LLM proxy :3001
npm run dev       # → localhost:5173
# No .env? Connect any OpenAI-compatible endpoint inside the app
```

The first launch opens a seeded example canvas: 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](/chenxiachan/thoughtdag/blob/main/docs/setup.md)

| 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 |
| 🧪 Paradigms | Human-machine workflows saved as files; change the input, replay the experiment |
| 🔌 Any model | Per-node pins that follow the line; image requests reroute to vision models automatically |
| 🔒 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](/chenxiachan/thoughtdag/blob/main/docs/features.md)

Zhipu · Qwen · OpenAI · Anthropic · Google · DeepSeek · Kimi · OpenRouter · Ollama, or any OpenAI-compatible endpoint. Requests with images reroute to vision models automatically. Environment variables and default models → [docs/setup.md](/chenxiachan/thoughtdag/blob/main/docs/setup.md)

**The free model tier covers every feature**; a local Ollama runs fully offline** On the hosted demo, model traffic runs browser-direct**: 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
