Skip to main content

Multi-Claude discussion platform with ClaudeCode context

Project description

cc-discussion

Discussion Room Screenshot

複数のClaude/Codexインスタンスが、それぞれ異なるClaudeCode/Codex CLIの会話履歴(コンテキスト)を持ちながらディスカッションできるWebアプリケーションです。

クイックスタート

インストール不要で実行(推奨)

# uvx で即座に実行(Python 3.11以上が必要)
uvx cc-discussion

# または npx で実行(Node.js 環境向け)
npx cc-discussion

pip でインストール

pip install cc-discussion
cc-discussion

npm でインストール(Node.js ユーザー向け)

npm install -g cc-discussion
cc-discussion

npm版は自動的にPython仮想環境を ~/.cc-discussion/venv/ に作成します。

Note: Claude/Codex エージェントを使用するには、事前に各 CLI ツールのインストールが必要です(下記「必要要件」参照)。

起動オプション

cc-discussion --help

# カスタムポート
cc-discussion --port 9000

# ブラウザを自動で開かない
cc-discussion --no-browser

# 開発モード(ホットリロード)
cc-discussion --reload

起動後、ブラウザが自動で http://127.0.0.1:8888 を開きます。


必要要件

要件 説明
Python 3.11+ 必須
Claude CLI Claude エージェントを使用する場合(インストール・ログイン済み)
Codex CLI Codex エージェントを使用する場合(オプション)

Claude CLI のセットアップ

# Claude CLI をインストール(https://claude.ai/download)
# インストール後、ログイン
claude login

概要

Slackのような会議室を作成し、2〜3人のClaude/Codexを招待してディスカッションさせることができます。各Claude/Codexには過去のClaudeCode/Codex会話履歴を注入できるため、人間がコンテキストを橋渡しする必要なく、問題解決や状況確認を行えます。

主な特徴

機能 説明
ClaudeCode/Codex履歴ブラウザ ~/.claude/projects/および~/.codex/から過去のセッションを読み込み・選択
マルチエージェント会議室 2〜3人のClaude/Codex参加者でディスカッション
コンテキスト注入 各エージェントに過去の会話履歴を自動注入
リアルタイムストリーミング WebSocketでディスカッションをリアルタイム表示
並列準備処理 次の発言者がバックグラウンドで準備(ファイル読み込み等)を行い、待ち時間を短縮
会議タイプ別プロンプト 9種類の会議タイプに応じた最適化されたプロンプトを自動適用
ファシリテーター機能 AIファシリテーターが会議を進行・まとめ
モデレーター介入 人間が途中で発言を挿入してディスカッションを誘導可能

使い方

1. 会議室を作成

  1. 画面左上の「New Room」ボタンをクリック
  2. 会議設定を入力:
    • 会議室名: 識別しやすい名前
    • トピック: ディスカッションのテーマ(詳細に書くほど良い結果に)
    • 会議タイプ: 9種類から選択(後述)
    • 最大ターン数: 会議の長さを制御(デフォルト: 20)
    • 言語: 日本語 or 英語
  3. 参加者を設定(2〜3人):
    • 名前: 表示名(例:Claude A, Claude B)
    • 役割: 専門性や視点(例:アーキテクト、コードレビュアー)
    • エージェントタイプ: Claude または Codex
    • コンテキスト: 過去のClaudeCode/Codexセッションを選択(オプション)
    • ファシリテーター: チェックすると会議進行役として動作

2. 会議タイプ

会議の目的に応じて最適化されたプロンプトが自動適用されます:

タイプ 用途 議論のポイント
進捗・状況確認 開発進捗の共有、スケジュール遅延・ブロッカーの把握 現在の進捗、予定との差異、ブロッカー特定
要件・仕様の認識合わせ 要件定義・仕様内容の確認、解釈差分の解消 仕様の解釈確認、曖昧点の明確化、エッジケース
技術検討・設計判断 アーキテクチャ・技術選定、実装方針の決定 選択肢比較、メリデメ、拡張性・保守性
課題・不具合対応 技術的課題・リスクの洗い出し、不具合の原因分析 再現手順、根本原因、対応策、優先度
レビュー 設計レビュー、実装レビュー、品質確認 品質評価、改善点、ベストプラクティス
計画・タスク整理 タスク分解、担当者・期限の明確化 粒度、依存関係、優先順位、リスク
リリース・運用判断 リリース可否判断、デプロイ手順確認 品質確認、ロールバック、監視項目
改善・振り返り 開発プロセスの振り返り、改善アクション決定 Keep, Problem, Try
その他 カスタム説明を入力して自由に設定 -

3. コンテキストの選択

各参加者に過去のClaudeCode/Codex会話履歴を注入できます:

  1. 参加者フォームで「コンテキストを選択」をクリック
  2. ClaudeCode履歴: ~/.claude/projects/から読み込み
  3. Codex履歴: ~/.codex/から読み込み
  4. プロジェクト → セッションの順に選択

選択したセッションの会話内容が、そのエージェントのシステムプロンプトに注入されます。これにより、エージェントは過去のやり取りを「記憶」した状態で議論に参加できます。

4. ディスカッションの実行

  1. 会議室を作成後、自動的に会議室ページに移動
  2. Startボタンでディスカッション開始
  3. チェーン駆動方式で議論が進行(詳細は後述)
  4. Pauseで一時停止、Stopで終了、ヘッダーのゴミ箱アイコンで削除

5. チェーン駆動方式(Chain-driven Flow)

ディスカッションはチェーン駆動方式で進行します。発言者が次の発言者を@メンションで指名し、会話の流れを自然に繋げます。

┌─────────────────────────────────────────────────────────────┐
│                  チェーン駆動型フロー                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. ファシリテーター: オープニング → 最初の発言者を@指名     │
│                      ↓                                      │
│  2. 参加者A: 発言 → 最後に次の発言者を@指名                  │
│                      ↓                                      │
│  3. 参加者B: 発言 → 最後に次の発言者を@指名                  │
│                      ↓                                      │
│  4. 参加者C: 発言 → 指名なし                                 │
│                      ↓                                      │
│  5. ファシリテーター: 介入 → 話の流れで次を@指名             │
│                      ↓                                      │
│  6. ... 繰り返し ...                                        │
│                      ↓                                      │
│  7. ファシリテーター: クロージング(まとめ)                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

特殊なメンション

メンション 効果
@参加者名 指名した参加者が次に発言
@ALL 全参加者が順番に発言
@モデレーター 人間のモデレーターに質問・確認(ディスカッションが一時停止)
@END ファシリテーターのみ使用可。議論を終了してクロージングへ移行

チェーン駆動のメリット

  • 自然な会話の流れ: 関連する知見を持つ人に話を振れる
  • 柔軟な議論: 話題に応じて適切な人が発言
  • ファシリテーターの介入: 指名がない場合は自動的にファシリテーターが次を決定
  • 人間との協調: @モデレーターで人間の判断を仰げる

6. 並列準備処理(Parallel Preparation)

Discussion Roomの特徴的な機能として、並列準備処理があります:

  • 現在の発言者が話している間、次の発言者はバックグラウンドで準備
  • 準備中にファイル読み込みやコード検索を実行
  • 準備完了後、即座に発言を開始
  • 待ち時間を大幅に短縮

7. モデレーター介入

ディスカッション中に人間がモデレーターとして発言を挿入できます:

  1. 画面下部のテキストボックスにメッセージを入力
  2. Enter(またはSendボタン)で送信
  3. 次のエージェントの発言時にモデレーターメッセージが考慮されます

用途例:

  • 議論の方向性を修正
  • 追加の情報や制約を提供
  • 特定のトピックに焦点を当てるよう指示

データの保存場所

データ 保存先
データベース ~/.cc-discussion/discussion.db
ClaudeCode履歴 ~/.claude/projects/ (読み取り専用)
Codex履歴 ~/.codex/ (読み取り専用)

開発者向け

ソースからの起動

# リポジトリをクローン
git clone https://github.com/nogataka/cc-discussion.git
cd cc-discussion

# 起動スクリプトを使用(初回は自動セットアップ)
./start.sh

# または開発モード
./start.sh --dev

起動スクリプトオプション

# 通常起動(プロダクションモード)
./start.sh

# 開発モード(Viteホットリロード付き)
./start.sh --dev

# カスタムポート指定
./start.sh --port 9000

# リモートアクセス許可(セキュリティ注意)
./start.sh --host 0.0.0.0

バックエンドのみ起動

source venv/bin/activate
python -m uvicorn backend.main:app --reload --port 8888

フロントエンドのみ起動

cd frontend
npm run dev

ビルド

cd frontend
npm run build

コード品質

# Python linting
source venv/bin/activate
ruff check backend/
mypy backend/

# TypeScript type check
cd frontend
npx tsc --noEmit

技術スタック

バックエンド

技術 用途
FastAPI 非同期REST API・WebSocket
SQLAlchemy 2.0 ORM(宣言的マッピング)
SQLite データベース(設定不要)
Claude Agent SDK Claudeエージェント制御
Codex SDK Codexエージェント制御

フロントエンド

技術 用途
React 19 UIフレームワーク
TypeScript 型安全性
Vite ビルドツール・開発サーバー
Tailwind CSS v4 ユーティリティファーストCSS
Radix UI アクセシブルUIコンポーネント
TanStack Query サーバー状態管理

トラブルシューティング

エージェントタイプが選択できない

CLI ツールがインストールされていない可能性があります:

# Claude CLI をインストール
# https://claude.ai/download からダウンロード
claude login

# Codex CLI をインストール
npm install -g @openai/codex

Claude CLIが見つからない

# Claude CLIをインストール(https://claude.ai/download)
# ログイン
claude login

ポートが使用中

cc-discussion --port 9000

データベースのリセット

# データベースファイルを削除(全データ消失)
rm ~/.cc-discussion/discussion.db

Windows での実行

Windows でも動作します:

uvx cc-discussion
# または
pip install cc-discussion
cc-discussion

データは C:\Users\<username>\.cc-discussion\ に保存されます。


API リファレンス

履歴閲覧API

メソッド エンドポイント 説明
GET /api/history/projects ClaudeCodeプロジェクト一覧
GET /api/history/projects/{id}/sessions セッション一覧
GET /api/history/sessions/{id} セッション詳細
GET /api/history/codex/projects Codexプロジェクト一覧
GET /api/history/codex/projects/{id}/sessions Codexセッション一覧

ルーム管理API

メソッド エンドポイント 説明
POST /api/rooms ルーム作成
GET /api/rooms ルーム一覧
GET /api/rooms/{id} ルーム詳細
DELETE /api/rooms/{id} ルーム削除
POST /api/rooms/{id}/start ディスカッション開始
POST /api/rooms/{id}/pause 一時停止
POST /api/rooms/{id}/moderate モデレーター発言

WebSocket

エンドポイント 説明
WS /ws/rooms/{id} リアルタイム更新

ライセンス

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_discussion-1.1.1.tar.gz (189.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_discussion-1.1.1-py3-none-any.whl (196.8 kB view details)

Uploaded Python 3

File details

Details for the file cc_discussion-1.1.1.tar.gz.

File metadata

  • Download URL: cc_discussion-1.1.1.tar.gz
  • Upload date:
  • Size: 189.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cc_discussion-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ff0d9700511b71e327246cdb113619137fe3435fbcc545afe5b345b1a01edebd
MD5 62302e81b95e6e3e5764458e6198fbcc
BLAKE2b-256 c86e8f20093cc855e0d33a09b50d974f54cde870a144924eb4107a34dcc7fd81

See more details on using hashes here.

File details

Details for the file cc_discussion-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: cc_discussion-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 196.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cc_discussion-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cce73d4b27d3e81291dfa6cf6ea58514589182159953f6456f13661b8a4c40d0
MD5 8005e1caa020060c210053b20eeedd17
BLAKE2b-256 389aa8f4ac5c09dba2d9b7cc7a06f34f9bad5047b07e69a1b56c366d6dc7dc67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page