Skip to content

Latest commit

 

History

History
124 lines (77 loc) · 3.23 KB

File metadata and controls

124 lines (77 loc) · 3.23 KB

ユーザー管理API仕様書

1. 概要

1.1 目的

本仕様書は、コーディングエージェントのユーザー設定を管理するためのREST APIを定義します。

1.2 ベースURL

デフォルト: http://localhost:8080


2. 認証

2.1 Bearer トークン認証

すべてのAPIリクエストにはBearerトークン認証が必要です。

ヘッダー形式:

  • Authorization: Bearer {api_key}

APIキーは環境変数USER_CONFIG_API_KEYまたは設定ファイルのapi_server.api_keyで設定します。

2.2 エラーレスポンス

認証エラー時のレスポンス:

  • ステータスコード: 401 Unauthorized
  • レスポンス: エラーメッセージを含むJSONオブジェクト

3. エンドポイント

3.1 ユーザー設定取得

エンドポイント: 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のデフォルト設定を返します。

3.2 ヘルスチェック

エンドポイント: GET /health

説明: サーバーの状態を確認します。

成功レスポンス:

  • ステータスコード: 200 OK
  • レスポンス: 状態情報を含むJSONオブジェクト

レスポンスフィールド:

  • status: サーバー状態(healthy)
  • database: データベース接続状態(connected/disconnected)
  • version: APIバージョン

4. エラーコード

コード 説明
200 成功
400 リクエストエラー
401 認証エラー
404 リソースが見つからない
500 サーバーエラー

5. 使用例

5.1 設定取得リクエスト

コーディングエージェントがユーザー設定を取得する際の典型的なフロー:

  1. タスクからユーザー名を取得
  2. APIキーをヘッダーに設定
  3. GET /config/{username}を呼び出し
  4. レスポンスから設定を取得
  5. LLMクライアントを初期化

5.2 フォールバック処理

API呼び出しが失敗した場合:

  1. エラーをログに記録
  2. config.yamlのデフォルト設定を使用
  3. 処理を継続

6. 関連ドキュメント


文書バージョン: 2.0
最終更新日: 2024-11-28
ステータス: 実装済み