cc-discussion 1.0.1__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. cc_discussion-1.0.3/PKG-INFO +382 -0
  2. cc_discussion-1.0.3/README.md +347 -0
  3. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/main.py +7 -12
  4. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/models/database.py +8 -1
  5. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/pyproject.toml +4 -7
  6. cc_discussion-1.0.1/PKG-INFO +0 -527
  7. cc_discussion-1.0.1/README.md +0 -487
  8. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/MANIFEST.in +0 -0
  9. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/__init__.py +0 -0
  10. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/__main__.py +0 -0
  11. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/cli.py +0 -0
  12. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/models/__init__.py +0 -0
  13. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/routers/__init__.py +0 -0
  14. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/routers/history.py +0 -0
  15. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/routers/rooms.py +0 -0
  16. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/__init__.py +0 -0
  17. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/codex_agent.py +0 -0
  18. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/codex_history_reader.py +0 -0
  19. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/discussion_orchestrator.py +0 -0
  20. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/history_reader.py +0 -0
  21. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/meeting_prompts.py +0 -0
  22. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/parallel_orchestrator.py +0 -0
  23. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/services/participant_agent.py +0 -0
  24. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/assets/index-CnjhvlD6.js +0 -0
  25. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/assets/index-VJBoI-hP.css +0 -0
  26. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/assets/vendor-query-b54G1vTo.js +0 -0
  27. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/assets/vendor-react-BXXBRvhI.js +0 -0
  28. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/assets/vendor-ui-DmKgA75E.js +0 -0
  29. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/index.html +0 -0
  30. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/static/vite.svg +0 -0
  31. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/backend/websocket.py +0 -0
  32. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/cc_discussion.egg-info/SOURCES.txt +0 -0
  33. {cc_discussion-1.0.1 → cc_discussion-1.0.3}/setup.cfg +0 -0
@@ -0,0 +1,382 @@
1
+ Metadata-Version: 2.4
2
+ Name: cc-discussion
3
+ Version: 1.0.3
4
+ Summary: Multi-Claude discussion platform with ClaudeCode context
5
+ Author: nogataka
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/nogataka/cc-discussion
8
+ Project-URL: Repository, https://github.com/nogataka/cc-discussion
9
+ Project-URL: Issues, https://github.com/nogataka/cc-discussion/issues
10
+ Keywords: claude,discussion,ai,multi-agent,codex,openai
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Web Environment
13
+ Classifier: Framework :: FastAPI
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: fastapi>=0.115.0
24
+ Requires-Dist: uvicorn[standard]>=0.32.0
25
+ Requires-Dist: sqlalchemy>=2.0.0
26
+ Requires-Dist: python-dotenv>=1.0.0
27
+ Requires-Dist: click>=8.0.0
28
+ Requires-Dist: claude-agent-sdk>=0.0.3
29
+ Requires-Dist: codex-sdk-py>=0.0.3
30
+ Provides-Extra: dev
31
+ Requires-Dist: ruff>=0.8.0; extra == "dev"
32
+ Requires-Dist: mypy>=1.13.0; extra == "dev"
33
+ Requires-Dist: build; extra == "dev"
34
+ Requires-Dist: twine; extra == "dev"
35
+
36
+ # cc-discussion
37
+
38
+ ![Discussion Room Screenshot](docs/assets/screenshot.png)
39
+
40
+ 複数のClaude/Codexインスタンスが、それぞれ異なるClaudeCode/Codex CLIの会話履歴(コンテキスト)を持ちながらディスカッションできるWebアプリケーションです。
41
+
42
+ ## クイックスタート
43
+
44
+ ### インストール不要で実行(推奨)
45
+
46
+ ```bash
47
+ # uvx で即座に実行(Python 3.11以上が必要)
48
+ uvx cc-discussion
49
+ ```
50
+
51
+ ### pip でインストール
52
+
53
+ ```bash
54
+ pip install cc-discussion
55
+ cc-discussion
56
+ ```
57
+
58
+ > **Note**: Claude/Codex エージェントを使用するには、事前に各 CLI ツールのインストールが必要です(下記「必要要件」参照)。
59
+
60
+ ### 起動オプション
61
+
62
+ ```bash
63
+ cc-discussion --help
64
+
65
+ # カスタムポート
66
+ cc-discussion --port 9000
67
+
68
+ # ブラウザを自動で開かない
69
+ cc-discussion --no-browser
70
+
71
+ # 開発モード(ホットリロード)
72
+ cc-discussion --reload
73
+ ```
74
+
75
+ 起動後、ブラウザが自動で `http://127.0.0.1:8888` を開きます。
76
+
77
+ ---
78
+
79
+ ## 必要要件
80
+
81
+ | 要件 | 説明 |
82
+ |------|------|
83
+ | **Python 3.11+** | 必須 |
84
+ | **Claude CLI** | Claude エージェントを使用する場合(インストール・ログイン済み) |
85
+ | **Codex CLI** | Codex エージェントを使用する場合(オプション) |
86
+
87
+ ### Claude CLI のセットアップ
88
+
89
+ ```bash
90
+ # Claude CLI をインストール(https://claude.ai/download)
91
+ # インストール後、ログイン
92
+ claude login
93
+ ```
94
+
95
+ ---
96
+
97
+ ## 概要
98
+
99
+ Slackのような会議室を作成し、2〜3人のClaude/Codexを招待してディスカッションさせることができます。各Claude/Codexには過去のClaudeCode/Codex会話履歴を注入できるため、人間がコンテキストを橋渡しする必要なく、問題解決や状況確認を行えます。
100
+
101
+ ### 主な特徴
102
+
103
+ | 機能 | 説明 |
104
+ |------|------|
105
+ | **ClaudeCode/Codex履歴ブラウザ** | `~/.claude/projects/`および`~/.codex/`から過去のセッションを読み込み・選択 |
106
+ | **マルチエージェント会議室** | 2〜3人のClaude/Codex参加者でディスカッション |
107
+ | **コンテキスト注入** | 各エージェントに過去の会話履歴を自動注入 |
108
+ | **リアルタイムストリーミング** | WebSocketでディスカッションをリアルタイム表示 |
109
+ | **並列準備処理** | 次の発言者がバックグラウンドで準備(ファイル読み込み等)を行い、待ち時間を短縮 |
110
+ | **会議タイプ別プロンプト** | 9種類の会議タイプに応じた最適化されたプロンプトを自動適用 |
111
+ | **ファシリテーター機能** | AIファシリテーターが会議を進行・まとめ |
112
+ | **モデレーター介入** | 人間が途中で発言を挿入してディスカッションを誘導可能 |
113
+
114
+ ---
115
+
116
+ ## 使い方
117
+
118
+ ### 1. 会議室を作成
119
+
120
+ 1. 画面左上の「New Room」ボタンをクリック
121
+ 2. 会議設定を入力:
122
+ - **会議室名**: 識別しやすい名前
123
+ - **トピック**: ディスカッションのテーマ(詳細に書くほど良い結果に)
124
+ - **会議タイプ**: 9種類から選択(後述)
125
+ - **最大ターン数**: 会議の長さを制御(デフォルト: 20)
126
+ - **言語**: 日本語 or 英語
127
+ 3. 参加者を設定(2〜3人):
128
+ - **名前**: 表示名(例:Claude A, Claude B)
129
+ - **役割**: 専門性や視点(例:アーキテクト、コードレビュアー)
130
+ - **エージェントタイプ**: Claude または Codex
131
+ - **コンテキスト**: 過去のClaudeCode/Codexセッションを選択(オプション)
132
+ - **ファシリテーター**: チェックすると会議進行役として動作
133
+
134
+ ### 2. 会議タイプ
135
+
136
+ 会議の目的に応じて最適化されたプロンプトが自動適用されます:
137
+
138
+ | タイプ | 用途 | 議論のポイント |
139
+ |--------|------|----------------|
140
+ | **進捗・状況確認** | 開発進捗の共有、スケジュール遅延・ブロッカーの把握 | 現在の進捗、予定との差異、ブロッカー特定 |
141
+ | **要件・仕様の認識合わせ** | 要件定義・仕様内容の確認、解釈差分の解消 | 仕様の解釈確認、曖昧点の明確化、エッジケース |
142
+ | **技術検討・設計判断** | アーキテクチャ・技術選定、実装方針の決定 | 選択肢比較、メリデメ、拡張性・保守性 |
143
+ | **課題・不具合対応** | 技術的課題・リスクの洗い出し、不具合の原因分析 | 再現手順、根本原因、対応策、優先度 |
144
+ | **レビュー** | 設計レビュー、実装レビュー、品質確認 | 品質評価、改善点、ベストプラクティス |
145
+ | **計画・タスク整理** | タスク分解、担当者・期限の明確化 | 粒度、依存関係、優先順位、リスク |
146
+ | **リリース・運用判断** | リリース可否判断、デプロイ手順確認 | 品質確認、ロールバック、監視項目 |
147
+ | **改善・振り返り** | 開発プロセスの振り返り、改善アクション決定 | Keep, Problem, Try |
148
+ | **その他** | カスタム説明を入力して自由に設定 | - |
149
+
150
+ ### 3. コンテキストの選択
151
+
152
+ 各参加者に過去のClaudeCode/Codex会話履歴を注入できます:
153
+
154
+ 1. 参加者フォームで「コンテキストを選択」をクリック
155
+ 2. **ClaudeCode履歴**: `~/.claude/projects/`から読み込み
156
+ 3. **Codex履歴**: `~/.codex/`から読み込み
157
+ 4. プロジェクト → セッションの順に選択
158
+
159
+ 選択したセッションの会話内容が、そのエージェントのシステムプロンプトに注入されます。これにより、エージェントは過去のやり取りを「記憶」した状態で議論に参加できます。
160
+
161
+ ### 4. ディスカッションの実行
162
+
163
+ 1. 会議室を作成後、自動的に会議室ページに移動
164
+ 2. **Start**ボタンでディスカッション開始
165
+ 3. エージェントがラウンドロビン方式で順番に発言
166
+ - ファシリテーターがいる場合:オープニング → 参加者の議論 → クロージング
167
+ - いない場合:参加者のみで議論
168
+ 4. **Pause**で一時停止、**Stop**で終了
169
+
170
+ ### 5. 並列準備処理(Parallel Preparation)
171
+
172
+ Discussion Roomの特徴的な機能として、**並列準備処理**があります:
173
+
174
+ - 現在の発言者が話している間、次の発言者はバックグラウンドで準備
175
+ - 準備中にファイル読み込みやコード検索を実行
176
+ - 準備完了後、即座に発言を開始
177
+ - 待ち時間を大幅に短縮
178
+
179
+ ### 6. モデレーター介入
180
+
181
+ ディスカッション中に人間がモデレーターとして発言を挿入できます:
182
+
183
+ 1. 画面下部のテキストボックスにメッセージを入力
184
+ 2. Enter(またはSendボタン)で送信
185
+ 3. 次のエージェントの発言時にモデレーターメッセージが考慮されます
186
+
187
+ 用途例:
188
+ - 議論の方向性を修正
189
+ - 追加の情報や制約を提供
190
+ - 特定のトピックに焦点を当てるよう指示
191
+
192
+ ---
193
+
194
+ ## データの保存場所
195
+
196
+ | データ | 保存先 |
197
+ |--------|--------|
198
+ | データベース | `~/.cc-discussion/discussion.db` |
199
+ | ClaudeCode履歴 | `~/.claude/projects/` (読み取り専用) |
200
+ | Codex履歴 | `~/.codex/` (読み取り専用) |
201
+
202
+ ---
203
+
204
+ ## 開発者向け
205
+
206
+ ### ソースからの起動
207
+
208
+ ```bash
209
+ # リポジトリをクローン
210
+ git clone https://github.com/nogataka/cc-discussion.git
211
+ cd cc-discussion
212
+
213
+ # 起動スクリプトを使用(初回は自動セットアップ)
214
+ ./start.sh
215
+
216
+ # または開発モード
217
+ ./start.sh --dev
218
+ ```
219
+
220
+ ### 起動スクリプトオプション
221
+
222
+ ```bash
223
+ # 通常起動(プロダクションモード)
224
+ ./start.sh
225
+
226
+ # 開発モード(Viteホットリロード付き)
227
+ ./start.sh --dev
228
+
229
+ # カスタムポート指定
230
+ ./start.sh --port 9000
231
+
232
+ # リモートアクセス許可(セキュリティ注意)
233
+ ./start.sh --host 0.0.0.0
234
+ ```
235
+
236
+ ### バックエンドのみ起動
237
+
238
+ ```bash
239
+ source venv/bin/activate
240
+ python -m uvicorn backend.main:app --reload --port 8888
241
+ ```
242
+
243
+ ### フロントエンドのみ起動
244
+
245
+ ```bash
246
+ cd frontend
247
+ npm run dev
248
+ ```
249
+
250
+ ### ビルド
251
+
252
+ ```bash
253
+ cd frontend
254
+ npm run build
255
+ ```
256
+
257
+ ### コード品質
258
+
259
+ ```bash
260
+ # Python linting
261
+ source venv/bin/activate
262
+ ruff check backend/
263
+ mypy backend/
264
+
265
+ # TypeScript type check
266
+ cd frontend
267
+ npx tsc --noEmit
268
+ ```
269
+
270
+ ---
271
+
272
+ ## 技術スタック
273
+
274
+ ### バックエンド
275
+
276
+ | 技術 | 用途 |
277
+ |------|------|
278
+ | **FastAPI** | 非同期REST API・WebSocket |
279
+ | **SQLAlchemy 2.0** | ORM(宣言的マッピング) |
280
+ | **SQLite** | データベース(設定不要) |
281
+ | **Claude Agent SDK** | Claudeエージェント制御 |
282
+ | **Codex SDK** | Codexエージェント制御 |
283
+
284
+ ### フロントエンド
285
+
286
+ | 技術 | 用途 |
287
+ |------|------|
288
+ | **React 19** | UIフレームワーク |
289
+ | **TypeScript** | 型安全性 |
290
+ | **Vite** | ビルドツール・開発サーバー |
291
+ | **Tailwind CSS v4** | ユーティリティファーストCSS |
292
+ | **Radix UI** | アクセシブルUIコンポーネント |
293
+ | **TanStack Query** | サーバー状態管理 |
294
+
295
+ ---
296
+
297
+ ## トラブルシューティング
298
+
299
+ ### エージェントタイプが選択できない
300
+
301
+ CLI ツールがインストールされていない可能性があります:
302
+
303
+ ```bash
304
+ # Claude CLI をインストール
305
+ # https://claude.ai/download からダウンロード
306
+ claude login
307
+
308
+ # Codex CLI をインストール
309
+ npm install -g @openai/codex
310
+ ```
311
+
312
+ ### Claude CLIが見つからない
313
+
314
+ ```bash
315
+ # Claude CLIをインストール(https://claude.ai/download)
316
+ # ログイン
317
+ claude login
318
+ ```
319
+
320
+ ### ポートが使用中
321
+
322
+ ```bash
323
+ cc-discussion --port 9000
324
+ ```
325
+
326
+ ### データベースのリセット
327
+
328
+ ```bash
329
+ # データベースファイルを削除(全データ消失)
330
+ rm ~/.cc-discussion/discussion.db
331
+ ```
332
+
333
+ ### Windows での実行
334
+
335
+ Windows でも動作します:
336
+
337
+ ```powershell
338
+ uvx cc-discussion
339
+ # または
340
+ pip install cc-discussion
341
+ cc-discussion
342
+ ```
343
+
344
+ データは `C:\Users\<username>\.cc-discussion\` に保存されます。
345
+
346
+ ---
347
+
348
+ ## API リファレンス
349
+
350
+ ### 履歴閲覧API
351
+
352
+ | メソッド | エンドポイント | 説明 |
353
+ |----------|----------------|------|
354
+ | GET | `/api/history/projects` | ClaudeCodeプロジェクト一覧 |
355
+ | GET | `/api/history/projects/{id}/sessions` | セッション一覧 |
356
+ | GET | `/api/history/sessions/{id}` | セッション詳細 |
357
+ | GET | `/api/history/codex/projects` | Codexプロジェクト一覧 |
358
+ | GET | `/api/history/codex/projects/{id}/sessions` | Codexセッション一覧 |
359
+
360
+ ### ルーム管理API
361
+
362
+ | メソッド | エンドポイント | 説明 |
363
+ |----------|----------------|------|
364
+ | POST | `/api/rooms` | ルーム作成 |
365
+ | GET | `/api/rooms` | ルーム一覧 |
366
+ | GET | `/api/rooms/{id}` | ルーム詳細 |
367
+ | DELETE | `/api/rooms/{id}` | ルーム削除 |
368
+ | POST | `/api/rooms/{id}/start` | ディスカッション開始 |
369
+ | POST | `/api/rooms/{id}/pause` | 一時停止 |
370
+ | POST | `/api/rooms/{id}/moderate` | モデレーター発言 |
371
+
372
+ ### WebSocket
373
+
374
+ | エンドポイント | 説明 |
375
+ |----------------|------|
376
+ | `WS /ws/rooms/{id}` | リアルタイム更新 |
377
+
378
+ ---
379
+
380
+ ## ライセンス
381
+
382
+ MIT License