ThoughtDAG

Your thinking deserves a map
A wire is the context

ThoughtDAG is an open-source AI conversation canvas that makes model context visible, editable and testable.

Scroll

CHAT HIDES CONTEXT.
THE GRAPH IS THE CONTEXT.
Linear conversation
Editable context graph
Same prompt · different context
AI conversation 87 messages
Compare three research paths.
Start with the first. Its advantage is…
What if the core hypothesis fails?
Consider another explanation…
Also, what should I eat tonight?
There is a new restaurant nearby.

The history is here. Which parts enter the next request?

research-paper.pdfp.7

Results

The effect appears only in the experimental condition.
Selected from the page
Clipped passageresearch-paper.pdf · p.7

The effect appears only in the experimental condition

Source linked · not wired yet
Asked from sourceresearch-paper.pdf · p.7

What does this evidence actually mean?

The source is in context
Unrelated branchdetour

What should I eat tonight?

This history should not enter the research summary.

Still connected
Polluted summary 3 sources

Research summary… also, consider hot pot for dinner.

The prompt stayed the same. Polluted context changed the answer.

Includes unrelated branch
Will send1,284 tokens

Preview what the model will receive

Incoming ancestors:

Research question Evidence A Dinner detour

After deleting the orange edge: −47 tokens

Context diff−47 tok

The dinner detour left context

Same prompt · regenerate
Same promptask again

Give me a bullet-point summary

The words are identical. Only one edge changed.

Reproducible context
Clean answer 2 sources

One: record the database version. Two: use independent reviewers. Three: resolve conflicts with a third reviewer.

The unrelated dinner suggestion is gone.

Answer updated in place
One ruleThoughtDAG

Wires are context.

No hidden memory selector. What the model sees, why, and what was removed stay visible in the graph.

Visible Editable Inspectable
01 · The problem

Chat history is long. Context is still invisible.

The interface shows what was said, not which history enters the next request.

02 · Externalize

Ask from the source. Clip what matters.

Ask from a selected passage, or turn a passage or figure into its own source-linked node. Provenance stays attached; context remains yours to wire.

03 · Inspect

Before sending, inspect what the model will read.

Preview source nodes, order, and token count. Context is no longer a hidden decision.

04 · Edit

Delete one edge. Ask the same question again.

The removed branch really leaves the request. The answer changes with the context.

05 · The protocol

Most canvases organize information. ThoughtDAG edits context.

You decide what enters and leaves. The graph is the context protocol before generation.

1 / 5 Invisible context

Start with the layer you need

Search with your agent, work inside Harness, or open the standalone app. Choose one to start.

CLI + read-only MCP

Search conversations across supported agents and let your agent call the query tools directly. The desktop app is not required.

CLI and MCP manual →
npm install -g thoughtdag thoughtdag setup mcp

Already using DeepSeek Harness?

Add the thought graph to the web UI. Use your harness models, run agent turns, and explore sessions in Atlas. No separate ThoughtDAG app or CLI required.

Installation and usage → Plugin file on every release (.tgz): the same command takes its URL →
dsh plugin --profile web add dsh-thoughtdag dsh web

Full visual app · Session Atlas, canvas and file readers

The same app in its own window, local engine bundled. No Node, no terminal.

v0.5.26
macOS Apple Silicon
Install with Homebrew brew install --cask thoughtdag
Download .dmg
≈143MB
Intel Macs
Windows x64
Download installer
≈121MB
Linux x64
Download .AppImage
≈150MB
Install notes
macOS builds are signed and notarized by Apple: double-click and go. Windows builds are not signed yet; on the SmartScreen prompt choose "More info", then "Run anyway".

All versions and history live on GitHub Releases.

Research series

Opening the context black box between agents and models

A model's next answer depends on the context it reads in that turn. The two reports and one collaboration below measure and expose that context; their methods, data and scripts are public.

  1. Oct 2026Research report

    Where an agent turn's tokens go

    Besides its answer, an agent turn produces tool calls, tool results and thinking, and these can enter the next turn's context. This note measures 3,237 agent turns from one month of the author's own use. On Claude Code, Codex and DeepSeek Harness, the final answer was 1 to 7% of a turn's tokens, tool calls with their results 42 to 95%, and thinking 4 to 53%; Claude Code and DeepSeek Harness kept the previous turn's thinking in the next turn's prompt. ThoughtDAG therefore gives each turn's tool record its own switch, off by default.

  2. Aug 2026Research report · pilot v2

    Context repair: how one error contaminates the rest of a conversation

    In a multi-turn conversation, a wrong claim that enters the context becomes a premise for later answers and contaminates the context; deleting the claim alone can leave its effect in the answers below it. This pilot compares three repairs on 9 model endpoints. Across 162 derailed outcomes (18 cases on 9 endpoints), deleting only the source repaired 152, recomputing the descendants in dependency order repaired 161, and removing the contaminated subgraph repaired all 162. ThoughtDAG supports the last two.

  3. Since Oct 2026Collaboration

    TraceVista

    An agent run leaves a long record of steps, from which it is hard to see what the agent did and on what basis. TraceVista draws agent workflows as maps that unfold from the overview down to each action and its original record; answers to questions about a run link back to the records they rest on. The reading layer builds on ThoughtDAG's zoom summaries.

    With @Superone77 and contributors · reading layer and map Q&A by Xia Chen

All research, data and citation →

Before you start

Can I edit context without deleting the conversation?

Yes. Removing a wire removes that route into a later request while keeping the nodes. Check other input paths, attachments, and Recall too. An existing answer does not change until you edit or regenerate it.

How does branching support nonlinear thinking?

Keep alternative questions on separate branches, compare them on the canvas, and connect selected findings to a new downstream question. A branch inherits its upstream conversation path; selecting a passage does not limit context to those words alone.

Will all my past chats appear automatically?

No. The desktop app indexes supported local records you have connected. It cannot restore unsaved history or automatically access chats stored only in a web account. When you use a remote model, the material included in a request is sent to that service.

How does ThoughtDAG decide what the model reads?

It walks the incoming edges of a node, orders the relevant ancestors, and builds the message sequence sent to the selected model. Explicit references and enabled Recall can add material. Preview the request before sending to see each source, its order and the token count.