Disclosure: I maintain ThoughtDAG.
While using local models for research, I kept running into a simple problem: once a paper, hypothesis, or mistaken branch enters a chat, it tends to remain in later context even after I have mentally moved on.
I built ThoughtDAG to test a more explicit interaction model.
Each question, answer, and source is a node. The wires determine exactly which upstream nodes are serialized into the model’s next request.
Delete a wire, regenerate the same prompt, and that branch remains visible on the canvas but disappears from the actual model input.
It currently supports Ollama and OpenAI-compatible endpoints. Canvases, documents, and API keys are stored locally.
I am less interested in general promotion than in whether this interaction is actually useful for people running local models:
- Would manual context pruning be worth the effort with smaller context windows?
- Would you prefer automatic suggestions followed by human confirmation?
- What would you need to inspect before trusting the selected context?
I am also turning these questions into a small context-control benchmark, so failure cases are especially useful.



How does it decide which elements to connect a new “thought” to? I’d imagine that can be quite complex if there’s 300 elements on the map and you need to scan them all?! Or does the user do the job of arranging all the “thoughts”?