操作
バグ #371
未完了claude-search API会話管理エンドポイント実装
ステータス:
進行中
優先度:
高め
担当者:
-
開始日:
2025-06-08
期日:
進捗率:
0%
予定工数:
説明
概要¶
claude-search API v2.2 - 会話管理エンドポイント実装
親チケット¶
#369 claude-search Phase3中期改善
背景¶
WebUI v2のインポート機能に対応するため、会話の追加・管理APIが必要。
現在は検索のみ可能で、データ追加はSQLで直接実行している状態。
実装内容¶
1. 会話追加エンドポイント¶
POST /api/v2/conversations
- リクエストボディ:
{ "title": "会話タイトル", "content": "会話内容", "claude_conversation_id": "元のID(オプション)", "created_at": "2025-06-08T12:00:00Z", "tags": ["タグ1", "タグ2"], "metadata": {} }
- 重複チェック(content_hashで判定)
- 409 Conflictで重複時エラー
2. 会話一覧エンドポイント¶
GET /api/v2/conversations?limit=20&offset=0
- ページネーション対応
- ソート機能(created_at, updated_at)
- フィルタリング(tags, date_from, date_to)
3. 会話詳細エンドポイント¶
GET /api/v2/conversations/{id}
- UUID指定で詳細取得
- メッセージ履歴含む
4. 会話更新エンドポイント¶
PUT /api/v2/conversations/{id}
- タイトル、タグ更新
- メタデータ更新
5. 会話削除エンドポイント¶
DELETE /api/v2/conversations/{id}
- 論理削除(is_active=false)
- 物理削除オプション
6. バルクインポート¶
POST /api/v2/conversations/bulk
- 複数会話の一括追加
- トランザクション処理
- プログレスレポート
技術仕様¶
- FastAPI実装
- Pydanticモデル定義
- asyncpgでDB操作
- content_hashはSHA256使用
テスト項目¶
- 単体会話追加
- 重複チェック
- バルクインポート(100件)
- エラーハンドリング
- ページネーション
成功基準¶
- WebUI v2からJSONインポート可能
- 重複データの自動スキップ
- 1000件/分の処理速度
操作