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.

Website: https://chenxiachan.github.io/thoughtdag/

  • chatchanOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 days ago

    The nodes are human-readable; the wire itself is visible context.

    For example, a source node might contain a passage extracted from a PDF. If it is wired into a question or synthesis node, that content is included when ThoughtDAG builds the model request.

    A solid wire carries the full upstream context, while a dashed wire can carry a smaller reference. Delete the wire, and the source remains visible on the canvas but stops contributing to that downstream context.