OpenAI と LM Studio API互換のプロキシサーバーで、Claude Code SDKをバックエンドとして使用します。
既存のOpenAI または LM Studio APIクライアントを変更することなく、Claude Codeの機能を利用できます。(例: IntelliJ IDEA AI Assistant)
Caution
Claude Pro および Claude Maxサブスクリプションは個人向けです。このサーバーを他人に使用させないでください。
- 🔄 OpenAI API互換: 既存のOpenAI APIクライアントがそのまま動作
- 🔄 LM Studio API互換: 既存のLM Studio APIクライアントがそのまま動作
- 🐳 Docker対応: Docker Composeで簡単に起動
- 🔒 セキュリティ: ファイルシステム隔離により安全な実行環境
- ✅ GET /v1/models- 利用可能なモデル一覧
- ✅ POST /v1/chat/completions- チャット補完(ストリーミング対応)
- ✅ POST /v1/completions- テキスト補完(ストリーミング対応)
- ❌ POST /v1/embeddings- 埋め込み生成(未対応)
- ✅ GET /health- ヘルスチェック
- ✅ GET /metrics- メトリクス情報
- claude-code-auto- Claude Codeのデフォルトモデル選択に任せる
- claude-code-opus- Opus を使用
- claude-code-sonnet- Sonnet を使用
環境変数CLAUDE_MODELの動作:
- 
未設定の場合:すべてのモデル指定がそのまま使用されます - claude-code-auto→ Claude Codeのデフォルトモデル選択
- claude-code-opus→ Opusモデル
- claude-code-sonnet→ Sonnetモデル
 
- 
設定されている場合(例: CLAUDE_MODEL=sonnet):- claude-code-auto→ 環境変数の値に上書きされます
- claude-code-opus→ 環境変数の値に上書きされます
- claude-code-sonnet→ 常に- sonnetモデルを使用します(上書きされません)
 
これにより、サブスクリプションプラン(とくにProプラン)に応じて利用可能なモデルを制限できます。
例: CLAUDE_MODEL=sonnetを設定すると、クライアントがclaude-code-autoやclaude-code-opusを指定してもsonnetモデルが使用されます。
- Docker
- Docker Compose 2.22.0以上
- Claude Pro または Claude Maxのサブスクリプション
- リポジトリをクローン
git clone https://github.com/common-creation/claude-code-lmstudio-api.git
cd claude-code-lmstudio-api- 環境変数の設定
cp .env.example .env
# .envファイルを編集して必要な設定を行う- Docker Composeで起動
docker compose up -d- セットアップ(Claude Code SDKの認証)
docker compose exec /bin/sh
# コンテナ内部
claude
# 認証を行う設定 > ツール > AI Assistant > モデル
- サードパーティー AI プロバイダー
- LM Studio: 有効
- URL: http://localhost:1235
- 接続のテストを実行して ✅ 接続完了になればOK
 
 
- LM Studio: 有効
- ローカルモデル
- 接続テスト後に指定できるようになる
- コア機能: lmstudio/claude-code-auto
- インスタントヘルパー: lmstudio/claude-code-sonnet- それぞれ lmstudio/claude-code-opusも指定できますが、インスタントヘルパーにOpusを使うのは非推奨です
 
- それぞれ 
 
- オフラインモード: お好みで(有効を推奨)
https://lmstudio.ai/docs/app/api/endpoints/rest
| 変数名 | デフォルト値 | 説明 | 
|---|---|---|
| PORT | 1235 | サーバーのリスニングポート | 
| LOG_LEVEL | info | ログレベル (error, warn, info, debug) | 
| TIMEOUT_MS | 30000 | リクエストタイムアウト(ミリ秒) | 
| CORS_ENABLED | true | CORS有効化フラグ | 
| CORS_ORIGINS | * | 許可するオリジン | 
| CLAUDE_TIMEOUT | 30000 | Claude Code SDKのタイムアウト(ミリ秒) | 
| CLAUDE_MODEL | - | Claude Codeのモデル指定(opus/sonnet/未設定) | 
| 変数名 | デフォルト値 | 説明 | 
|---|---|---|
| UID | 1000 | コンテナ内のユーザーID | 
| GID | 1000 | コンテナ内のグループID | 
- ポート1235が他のプロセスで使用されていないか確認
- Docker Composeのログを確認: docker compose logs
- 環境変数が正しく設定されているか確認
- ~/.claudeディレクトリの権限を確認
- コンテナ内のClaude Codeのアカウント認証が正しく設定されているか確認
- ネットワーク接続を確認
MIT License
