vibe-canvas
Vibe Canvas
简体中文 | English
Codex との会話を右側でリアルタイムに、フィルタリング可能な思考キャンバスへと育てます。

概要
Vibe Canvas はローカル優先の Codex プラグインです。左側で通常どおり Codex と会話を続けると、右側の Browser が構造化された内容を自動表示し、各3階層の結論を必要に応じて4階層目の原文エビデンスに展開できます。
逐語で保持される会話原文
AI が要約した構造化された理解
会話とともに成長し続けるマインドマップ
デフォルトで折りたたまれ、クリックで表示される逐語の原文エビデンス
これは再入力・再送信・手動保存が必要な独立した Web サイトではありません。HTML ページは Codex 右側のリアルタイム投影ビューにすぎず、入力・理解・推論はすべて現在の Codex タスク内で行われます。
ブレインストーミング、方案の推敲、学習ノート、振り返り、要件整理など、「話しながら構造が見える」思考プロセスに適しています。
Related MCP server: repo-memory-mcp
機能
会話がそのまま入力:左側の Codex が唯一のテキスト入力手段であり、キャンバス内に第二の入力ボックスはありません。
原文のトレーサビリティ:毎回のユーザー入力を逐語で保持し、AI による書き換えを原文と偽ることはありません。
AI 自動 Pick:新しい内容は
picked、candidate、ignoredのいずれかに判定されます。候補バッファ:即座に判断できない内容は後続の文脈を待ち、急いで構造に入れません。
人間による最終決定:毎回 Pick Checkbox があり、人間の選択は後続の AI 判定より常に優先されます。
リアルタイム再構成:Pick を解除すると、該当内容は即座に構造とマインドマップから外れ、モデルを再呼び出ししません。
ローカル優先:セッションとテーマの設定は現在の workspace の
.local/ディレクトリに保存されます。デュアルテーマ:明るい青のデフォルトテーマと暖色テーマを即時切り替えでき、設定が記憶されます。
インクリメンタル同期:毎回コンパクトな投影のみを読み取り、現在の差分のみを書き込むため、全会話の再生を繰り返しません。
ラウンド横断の集約:同じ質問は安定した Topic を再利用し、同じ命題は1つの Claim に統合されて複数ラウンドのエビデンスが蓄積されます。すべての発言を単純に新しいノードとして追加することはありません。
クロストピック:1つの見解は1回だけ保存され、primary / related Topic と型付き関係で接続されるため、複数のブランチで重複しません。
実際の矛盾を保持:反対の見解は重複として削除されず、それぞれ保持され
contradictsとマークされます。有界投影:デフォルトで最大25ノードを表示し、直近のアクティブな40 Claim を次ラウンドのマッチング用に保持します。要約とエビデンスインデックスも固定上限を維持します。
4階層の原文エビデンス:3階層の Claim に
原文 Nが表示され、クリックまたは Enter / スペースで逐語の断片を展開できます。原文は対応するユーザー入力内で正確に一致する必要があり、AI が捏造することはできません。
スクリーンショット
Pick 選択済みと未選択
左側は緑の選択済み状態、右側はグレーの未選択状態です。解除すると構造とマインドマップが同期して更新されます。

環境要件
ローカル Plugin、Skill、MCP Server、右側 Browser をサポートする Codex Desktop
Node.js 20 以降
利用可能な
codexCLI
現在のバージョンは macOS で開発・検証されています。
インストール
GitHub リポジトリを Codex Marketplace として登録し、その中のプラグインをインストールします:
codex plugin marketplace add prozacLaputa/vibe-canvas
codex plugin add vibe-canvas@vibe-canvas --jsonインストール状態を確認します:
codex plugin list --jsonインストールまたはアップグレード後は、新しい Codex タスクを作成して Skill と MCP ツールを再検出することをお勧めします。
使用方法
新しい Codex タスクで次のように入力します:
使用 $vibe-canvas 打开一个思考画板その後は通常どおり会話を続けます:
Codex が右側で Vibe Canvas を開きます。
毎回の回答前に、現在の会話が今回の原文と構造差分をキャンバスに同期します。
AI が明確に価値のある内容を自動選択し、不確かな内容は候補バッファに入れます。
原文エリアで Pick をクリックし、いつでも各ラウンドを構造とマインドマップに入れるか決定できます。
右上の Switch で青と暖色のテーマを切り替えられます。
マインドマップ内の3階層の要点をクリックすると、4階層目の逐語原文を展開・折りたたみできます。
キャンバスの有効範囲は現在の Codex タスクのみです。通常のタスクが自動的に乗っ取られることはありません。
仕組み
flowchart LR
U[左侧正常对话] --> C[当前 Codex 任务]
C -->|读取紧凑投影| M[本地 MCP Server]
C -->|写入原文与类型化概念操作| M
M --> J[本地 Session JSON]
M --> R[Concept Graph Reducer]
R --> J
J -->|revision 变化| B[右侧 Browser 投影]
B -->|Pick / 主题 PATCH| Jコアは3つの部分で構成されています:
Skill がタイミングと意味判断を担当:明示的に開いた後、毎回
vibe_canvas_get_projectionで canonical Topic と直近の Claim を読み取り、現在の表現を再利用・統合・接続・分割のいずれにするかを判断します。2つ目の Codex セッションを起動せず、ユーザーメッセージを偽造もしません。MCP Server が決定的な状態を担当:Node.js プロセスが MCP ツールと
127.0.0.1のみをリッスンするローカル HTTP API を提供します。Reducer は安定 ID、正規化による正確な重複排除、Pick のトレーサビリティ、クロストピック関係、有界投影を担当し、各sourceQuoteが本当に今回のユーザー原文に由来するかを検証して、完全なセッションを JSON として永続化します。Browser が投影とフィルタリングを担当:ページは約 900 ms ごとに内部 revision をチェックし、状態が変化したときのみ再描画します。Pick、テーマ切り替え、原文展開はすべてローカルで完結し、モデルを呼び出さず、追加 Token も消費しません。
意味的な同義書き換えは現在の Codex が判断します。サーバー側は正規化後に完全に同一の質問または見解に対してのみ決定的なフォールバックを提供するため、任意の書き換えが 100% 自動統合されるという虚偽の約束はしません。集約範囲は同じ Canvas セッション内であり、異なる Codex タスク間で自動統合されることはありません。
Token は主に毎回1回のコンパクトな構造読み取りと1回の小さな差分書き込みに使用されます。画面は25ノードに制限され、マッチングインデックスは直近の40 Claim に制限されます。Codex のコンパクト投影はエビデンス数と直近3つのソース ID のみを返し、原文を重複して持ち運びません。逐語エビデンスはローカル Browser にのみ送信され、デフォルトで直近5件を表示し、完全なトレーサビリティはローカル JSON に残ります。ブラウザのポーリング、テーマ切り替え、手動 Pick、原文展開はすべて純粋にローカル操作です。
デフォルトのデータ場所:
<workspace>/.local/vibe-canvas-demo/sessions/<session-id>.json
<workspace>/.local/vibe-canvas-demo/preferences.jsonショートカットキー
原文 N 付きの3階層の要点にフォーカスした後、Enter またはスペースで4階層目の原文を展開 / 折りたたみできます。その他の操作は Codex の会話とキャンバス内の Pick / テーマコントロールを使用します。
開発
npm test33件の動作テストとブラウザ視覚テストが、キャンバスを開く、インクリメンタル同期、AI Pick、候補の再判定、人間による上書き、テーマ設定、状態復元、ラウンド横断の重複排除、クロス関係、逐語エビデンス検証、デフォルト折りたたみ、マウスとキーボードでの展開、12ラウンドの集約リプレイ、100ラウンドのエビデンス境界をカバーしています。
更新履歴
CHANGELOG.md を参照してください。
ライセンス
MIT © 2026 prozacLaputa
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceLocal-first external brain for Claude Code, Codex, and any MCP client. Stores decisions, entities, and session artifacts in one SQLite file and exposes MCP tools for recall, page, promote, review, graph-query, and source-status.1114 npm5MIT
- AlicenseCqualityDmaintenanceMCP server for sharing source-backed engineering memory across AI coding clients like Cursor and VS Code.301MIT
- AlicenseNot gradedqualityCmaintenanceA local MCP server that provides a shared context and learning foundation across multiple AI tools (Claude, Copilot, Codex) for multiple projects, enabling persistent knowledge, decisions, and gap reflection through note storage.MIT
- AlicenseBqualityDmaintenanceLocal Markdown-backed memory tools for Codex and other MCP-capable agents. Exposes durable agent knowledge via CLI and MCP server.5MIT