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 키 불필요, 기능 제한).
일반적인 워크플로우
- 모델 연결 – OpenAI 호환 엔드포인트, Ollama 또는 DeepSeek Harness가 사용하는 공급자를 구성합니다.
- 대화 시작 – 각 턴이 노드로 표시됩니다.
- 분기 – 답변에서 텍스트를 선택하고, 사이드 노드를 만들고, 독립적으로 탐색합니다.
- 리콜 – 로컬 인덱스를 검색하여 관련 과거 턴을 찾고, Jev가 순위를 매기도록 하고, 선택한 발췌문을 와이어로 추가합니다.
- 미리 보기 – 전송될 정확한 프롬프트를 봅니다.
- 편집 – 와이어를 가지치기하거나 재연결하고, 긴 분기를 압축하거나, 특정 노드의 모델을 교체합니다.
- 내보내기 – 캔버스를 Thought Map 또는 Markdown 문서로 저장합니다.
연구 관점 – 저장소에는 그래프 편집(잘못된 주장 또는 해당 하위 그래프 제거)이 다운스트림 모델 출력을 복구할 수 있는 방법을 보여주는 컨텍스트 개입 벤치마크가 포함되어 있습니다. 결과는 일반적인 리더보드가 아닌 사례 연구로 제시됩니다.
라이선스 및 커뮤니티 – MIT 라이선스, 활발한 기여자, 로드맵, 지원을 위한 buy-me-a-coffee 링크가 있습니다. 문제 및 기능 요청은 GitHub 저장소를 통해 환영합니다.
ThoughtDAG를 사용하면 LLM 프롬프트를 변경 가능한 시각적 데이터 구조로 취급할 수 있어 대화의 탐색적 흐름을 유지하면서 모델이 보는 내용을 세밀하게 제어할 수 있습니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트