本仕様書は、コーディングエージェントのユーザー設定を管理するためのREST APIを定義します。
デフォルト: http://localhost:8080
すべてのAPIリクエストにはBearerトークン認証が必要です。
ヘッダー形式:
- Authorization: Bearer {api_key}
APIキーは環境変数USER_CONFIG_API_KEYまたは設定ファイルのapi_server.api_keyで設定します。
認証エラー時のレスポンス:
- ステータスコード: 401 Unauthorized
- レスポンス: エラーメッセージを含むJSONオブジェクト
エンドポイント: GET /config/{platform}/{username}
説明: 指定されたプラットフォーム・ユーザーの設定を取得します。
パスパラメータ:
- platform: プラットフォーム(github または gitlab)
- username: GitHub/GitLabユーザー名
成功レスポンス:
- ステータスコード: 200 OK
- レスポンス: ユーザー設定を含むJSONオブジェクト
レスポンス構造:
statusフィールドが"success"の場合、dataフィールドに以下を含みます:
- llm: LLM設定(provider、openai、ollama、lmstudioのサブフィールドを含む)
- system_prompt: システムプロンプト
- max_llm_process_num: LLM最大処理数
ユーザー設定が存在する場合: ユーザー固有の設定でベース設定がオーバーライドされます。追加システムプロンプトがある場合は末尾に追加されます。
ユーザー設定が存在しない場合: config.yamlのデフォルト設定を返します。
エンドポイント: GET /health
説明: サーバーの状態を確認します。
成功レスポンス:
- ステータスコード: 200 OK
- レスポンス: 状態情報を含むJSONオブジェクト
レスポンスフィールド:
- status: サーバー状態(healthy)
- database: データベース接続状態(connected/disconnected)
- version: APIバージョン
| コード | 説明 |
|---|---|
| 200 | 成功 |
| 400 | リクエストエラー |
| 401 | 認証エラー |
| 404 | リソースが見つからない |
| 500 | サーバーエラー |
コーディングエージェントがユーザー設定を取得する際の典型的なフロー:
- タスクからユーザー名を取得
- APIキーをヘッダーに設定
- GET /config/{username}を呼び出し
- レスポンスから設定を取得
- LLMクライアントを初期化
API呼び出しが失敗した場合:
- エラーをログに記録
- config.yamlのデフォルト設定を使用
- 処理を継続
文書バージョン: 2.0
最終更新日: 2024-11-28
ステータス: 実装済み