chenxiachan/thoughtdag

Your thinking deserves a map: an infinite canvas where LLM conversations grow into an editable thought graph. Wires are the context.

ThoughtDAG – LLM 대화를 위한 그래프 기반 UI

정의 – ThoughtDAG는 LLM 채팅의 각 턴을 그래프의 노드로 취급할 수 있는 오픈소스 데스크톱/웹 애플리케이션입니다. 엣지(와이어라고 함)는 이전 턴 중 어떤 것이 다음 요청의 컨텍스트로 공급되는지 정의하므로 기본 작업을 잃지 않고 토론 경로를 분기, 가지치기, 재연결 또는 병합할 수 있습니다.

중요성 – 기존 채팅 창은 선형적입니다. ThoughtDAG는 무한 캔버스를 제공하여 다음을 할 수 있습니다:

  • 별도의 분기에서 사이드 질문을 탐색합니다.
  • 내장 인덱스를 통해 모든 로컬 LLM 세션(Claude, Codex, DeepSeek Harness, Pi 등)에서 관련 과거 턴을 가져옵니다.
  • 경량 결정 모델(Jev)을 사용하여 LLM에 보내기 전에 가장 유용한 발췌문을 순위화하고 선택합니다.
  • 모델이 받을 정확한 내용을 미리 보고, 해당 컨텍스트를 편집하고, 업스트림 편집이 발생할 때 다운스트림 노드를 다시 실행합니다.

주요 기능

기능 할 수 있는 일
그래프 기반 컨텍스트 노드를 연결/끊어 프롬프트를 형성합니다. 그래프(시각적 레이아웃뿐만 아니라)가 모델 입력을 결정합니다.
리콜 및 관련성 레이어 선택적 Jev 모델이 과거 발췌문을 순위화합니다. 수동으로 포함/제외할 수 있습니다.
CLI 도구 thoughtdag find, thoughtdag topics 등을 사용하여 터미널에서 로컬 대화 기록을 검색하고 일치하는 턴으로 이동할 수 있습니다.
DeepSeek Harness 플러그인 DeepSeek Harness 데스크톱 앱 내에서 ThoughtDAG를 플러그인으로 사용하여 일반 채팅과 그래프 캔버스 사이를 전환합니다.
문서 나란히 캔버스 옆에 PDF, 이미지 또는 HTML을 열고, 구절/그림을 노드로 클리핑하고, 페이지 참조를 유지합니다.
압축 및 직조 긴 분기를 짧은 요약으로 접거나 인용된 산문 버전을 생성하여 Markdown으로 내보낼 수 있습니다.
세션 아틀라스 저장된 로컬 에이전트 세션을 그래프로 로드하고, 노드를 탐색하고, 어떤 지점에서든 대화를 계속합니다.
Thought Map 내보내기 전체 텍스트 없이 그래프 구조(노드, 엣지, 카운트)를 저장하여 공유하거나 분석합니다.
노드별 모델 선택 전체 캔버스를 변경하지 않고 별도의 분기에서 다른 LLM 백엔드를 실행합니다.
읽기 전용 공유 기본 데이터를 비공개로 유지하면서 그래프를 게시하여 다른 사람이 검사할 수 있도록 합니다.

설치

  • 데스크톱 앱(macOS, Windows, Linux): brew install --cask thoughtdag 또는 웹사이트에서 다운로드.
  • CLI: npm install -g thoughtdag 그런 다음 thoughtdag 명령을 사용합니다. thoughtdag setup mcp는 에이전트에 읽기 전용 기록 도구를 노출합니다.
  • 소스에서:
    git clone https://github.com/chenxiachan/thoughtdag.git
    cd thoughtdag
    npm install
    npm run dev   # 프론트엔드는 :5173
    npm run server   # LLM 프록시는 :3001
    
  • 브라우저 데모: https://app.thoughtdag.workers.dev (API 키 불필요, 기능 제한).

일반적인 워크플로우

  1. 모델 연결 – OpenAI 호환 엔드포인트, Ollama 또는 DeepSeek Harness가 사용하는 공급자를 구성합니다.
  2. 대화 시작 – 각 턴이 노드로 표시됩니다.
  3. 분기 – 답변에서 텍스트를 선택하고, 사이드 노드를 만들고, 독립적으로 탐색합니다.
  4. 리콜 – 로컬 인덱스를 검색하여 관련 과거 턴을 찾고, Jev가 순위를 매기도록 하고, 선택한 발췌문을 와이어로 추가합니다.
  5. 미리 보기 – 전송될 정확한 프롬프트를 봅니다.
  6. 편집 – 와이어를 가지치기하거나 재연결하고, 긴 분기를 압축하거나, 특정 노드의 모델을 교체합니다.
  7. 내보내기 – 캔버스를 Thought Map 또는 Markdown 문서로 저장합니다.

연구 관점 – 저장소에는 그래프 편집(잘못된 주장 또는 해당 하위 그래프 제거)이 다운스트림 모델 출력을 복구할 수 있는 방법을 보여주는 컨텍스트 개입 벤치마크가 포함되어 있습니다. 결과는 일반적인 리더보드가 아닌 사례 연구로 제시됩니다.

라이선스 및 커뮤니티 – MIT 라이선스, 활발한 기여자, 로드맵, 지원을 위한 buy-me-a-coffee 링크가 있습니다. 문제 및 기능 요청은 GitHub 저장소를 통해 환영합니다.


ThoughtDAG를 사용하면 LLM 프롬프트를 변경 가능한 시각적 데이터 구조로 취급할 수 있어 대화의 탐색적 흐름을 유지하면서 모델이 보는 내용을 세밀하게 제어할 수 있습니다.

관련

  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트