In a small relevance-selection pilot, Jev's median was **391 ms** versus **24,813 ms** for our GLM adapter. These are selection-stage timings, not end-to-end search or answer times.
## The desktop app
Read a document beside your conversation, branch from a passage, and connect the paths you want to explore together. Use your own model connection.
```bash
brew install --cask thoughtdag
```
Or [download for macOS, Windows or Linux](https://chenxiachan.github.io/thoughtdag/#download), connect a model and open the example canvas.
## The one rule
> **Wires are the context.** Connect conversation paths to use them in the next question. Disconnect a path without deleting the work.
Branch from a detail, explore it separately, then connect the useful parts to a later question. The graph changes the model's input, not just the layout.
**Preview what the model will receive before sending.** Wires select the conversation paths; explicit references and enabled recall can add material alongside them. [Context guide →](https://chenxiachan.github.io/thoughtdag/docs/guides/context-control)
## In action
| ### ✂️ Change the context, keep the exploration Select text in an answer to start a side branch. Disconnect that branch from a later question, then regenerate to compare. Its nodes stay on the canvas: keep exploring from them or reconnect them later. |
| ### 📖 Read, clip, and ask Open a PDF, image or HTML alongside the graph. Ask about a passage or clip a figure into its own node. PDF clips keep their page reference, so you can check the source as the discussion develops. |
| ### 💎 Condense the path; weave the highlights **Condense** creates a shorter copy of a conversation path while preserving the original. **Weave** turns selected highlights into cited prose. Continue from the result, or export it as Markdown. Zooming out changes the view, not the context. |
| ### 🧭 Session Atlas: continue an earlier conversation Open a supported local agent session as a graph. Pick where to branch or continue; use the history index to find related discussions from other sessions. Atlas provides the view, and recall helps find what to bring in. *Supports local Claude Code, Codex, DeepSeek Harness and Pi sessions. Source sessions remain read-only.* |
## More ways to run
### Run from source
```bash
npm install
npm run server # LLM proxy :3001
npm run dev # frontend :5173
```
Configure a model in the app or through environment variables. [Local setup →](docs/setup.md)
### Browser demo
The [browser demo](https://app.thoughtdag.workers.dev) includes an example canvas that needs no API key. It is a subset: local session discovery, Session Atlas and the local history/memory layer require desktop or local hosting.
## 🧪 Research: Why editable context matters
### Context Intervention Benchmark · Pilot v2
`9 model endpoints` · `1,485 scored responses` · `exact-match scoring`
Deleting a wrong claim may leave its consequences in later replies. In our synthetic pilot, removing the source alone repaired **152 of 162** affected model-cases; removing the contaminated subgraph repaired **162**, and recomputing descendants repaired **161**. The report includes the protocol, results and limitations. This is a context-intervention experiment, not a general model leaderboard.
[Read the case study](https://chenxiachan.github.io/thoughtdag/stories/context-repair/) · [Methods and results](https://chenxiachan.github.io/thoughtdag/research/context-repair-pilot-v2/) · [Suggest a model](https://github.com/chenxiachan/thoughtdag/issues/new?template=suggest-next-model.yml)
## More capabilities
| Capability | What it adds to the same workflow |
|---|---|
| Request preview | Check the conversation, references and recalled material assembled for the next call. |
| Staleness and replay | Review dependent answers after an upstream edit; rerun in dependency order. |
| Per-node model selection | Try a different model on a branch without changing the entire canvas. |
| Read-only sharing | Share a graph for others to inspect; preview its contents before publishing. |
| Folder backup | Save canvases as local files and keep a recoverable copy outside browser storage. |
[Full capabilities and roadmap →](docs/features.md)
## Models, cost & privacy
Canvases, documents, the index and dossiers are stored locally. **Remote model calls send relevant content to your configured providers**, including decision and dossier-generation calls. Provider charges may apply; disabling Jev does not disable ordinary model calls.
Connect local Ollama or an OpenAI-compatible endpoint. Inside DeepSeek Harness, inference uses the harness's providers and keys. Export backups and Markdown, and review text and metadata before sharing. [Setup and privacy details →](docs/setup.md)
## Contributors