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
