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
  • プロジェクト
  • プロジェクト
  • プロジェクト