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/

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 天前

    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”?

    • chatchan@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 天前

      The user chooses the connections. ThoughtDAG does not scan the whole map and guess what is relevant. A normal follow-up starts from the node you are asking from, so it gets one parent wire automatically. If you want to combine another branch or source, you explicitly connect it to the new node. Spatial proximity does not affect context; only the wires do.

      At generation time, ThoughtDAG follows the reachable upstream graph of the target node rather than asking a model to compare all 300 elements. That said, navigating a 300-node canvas is still a real UI problem. Semantic zoom, condensing, and layout tools help, but larger graphs still need more optimization.