あらゆるコーディングエージェントで PleumRouter を使う
OpenAI 互換なので、エージェントの base_url を 1 つ変えるだけです。
OpenAI Compatible プロバイダーに対応する エージェントならそのまま動きます。base_url を https://apirouter.pleum.ai/v1、キーを plm_… にするだけです。以下は人気エージェントごとの設定例です。1. 共通 — base_url と API キー#
まず 登録 し、ダッシュボード → API キー でキーを発行してください(キーは plm_ で始まります)。どのエージェントでも必要なのは base_url(https://apirouter.pleum.ai/v1)とキーの 2 つだけです。
export OPENAI_API_BASE=https://apirouter.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx
# Some agents (OpenCode, Crush) reference PLEUM_API_KEY — same key, set both.
export PLEUM_API_KEY=plm_xxxxxxxxxxxxxxxx2. IDE · GUI エージェント#
次のエージェントは設定でプロバイダーに OpenAI Compatible(または Custom OpenAI)を選び、下の値を貼り付けます — Cline、Roo Code、Kilo Code、Cursor。
API Provider → OpenAI Compatible
Base URL → https://apirouter.pleum.ai/v1
API Key → plm_xxxxxxxxxxxxxxxx
Model ID → gpt-4.1/v1 を含め、 キー欄を空にしないでください。Kilo Code はカスタム base URL がモデル一覧の取得に渡されない 既知の問題(#681)があるため、モデル ID を手入力してください。Continue.dev
Continue.dev は設定ファイルで指定します。model: AUTODETECT ならモデル一覧を自動取得します。
# ~/.continue/config.yaml
models:
- name: PleumRouter
provider: openai
apiBase: https://apirouter.pleum.ai/v1
apiKey: plm_xxxxxxxxxxxxxxxx
model: AUTODETECTZed
Zed は設定に OpenAI 互換プロバイダーを追加します。フィールド名はバージョンにより異なる場合があるため、Zed のドキュメントを確認してください。
// Zed settings.json
{
"language_models": {
"openai_compatible": {
"PleumRouter": {
"api_url": "https://apirouter.pleum.ai/v1",
"available_models": [
{ "name": "gpt-4.1", "max_tokens": 128000 }
]
}
}
}
}3. ターミナル · CLI エージェント#
ターミナルエージェントは多くの場合、環境変数か設定ファイルで OpenAI 互換エンドポイントを受け取ります。 Goose・OpenHands はモデル名の前に openai/ 接頭辞が必要です。
Aider
export OPENAI_API_BASE=https://apirouter.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx
aider --model openai/gpt-4.1OpenCode
// opencode.json (or: /connect → Other)
{
"provider": {
"pleum": {
"npm": "@ai-sdk/openai-compatible",
"name": "PleumRouter",
"options": {
"baseURL": "https://apirouter.pleum.ai/v1",
"apiKey": "{env:PLEUM_API_KEY}"
},
"models": { "gpt-4.1": {} }
}
}
}Crush
// crush.json
{
"providers": {
"pleum": {
"type": "openai-compat",
"base_url": "https://apirouter.pleum.ai/v1",
"api_key": "$PLEUM_API_KEY",
"models": [{ "id": "gpt-4.1", "name": "gpt-4.1" }]
}
}
}Goose · OpenHands
export OPENAI_API_BASE=https://apirouter.pleum.ai/v1
export OPENAI_API_KEY=plm_xxxxxxxxxxxxxxxx
# Goose / OpenHands: prefix the model id with openai/
# model = openai/gpt-4.1Codex CLI
/v1/responses)で直接接続できます (Chat Completions の経路は 2026 年 2 月に削除)。~/.codex/config.toml に wire_api = "responses" の provider を追加し、PLEUM_API_KEY を 設定してください。OpenAI 互換モデルにルーティングされれば、関数呼び出しとストリーミングまで動作します。# ~/.codex/config.toml
# model / model_provider are document-root keys (must be above the [table]).
model = "gpt-4.1"
model_provider = "pleum"
[model_providers.pleum]
name = "PleumRouter"
base_url = "https://apirouter.pleum.ai/v1" # Codex appends /responses → /v1/responses
env_key = "PLEUM_API_KEY"
wire_api = "responses" # Codex supports only the Responses API
# then: export PLEUM_API_KEY=plm_xxxxxxxxxxxxxxxx && codex4. Claude Code(Anthropic 互換)#
/v1/messages エンドポイントで接続します。公式 CLI は ANTHROPIC_API_KEY を優先して読むため、ANTHROPIC_API_KEY・ANTHROPIC_AUTH_TOKEN の両方に同じキーを設定しておくのが安全です。ANTHROPIC_BASE_URL は /v1 なしのルート(https://apirouter.pleum.ai) にしてください — CLI が /v1/messages を自動で付加します(/v1 を付けると /v1/v1/messages になり失敗します)。OpenAI 互換モデルにルーティングされる場合、 ツールとストリーミングまで動作します。# ANTHROPIC_BASE_URL is the ROOT (no /v1) — the CLI appends /v1/messages itself.
export ANTHROPIC_BASE_URL=https://apirouter.pleum.ai
# The official CLI prefers ANTHROPIC_API_KEY; set both to be safe.
export ANTHROPIC_API_KEY=plm_xxxxxxxxxxxxxxxx # ← replace with your key from Dashboard > API Keys
export ANTHROPIC_AUTH_TOKEN=plm_xxxxxxxxxxxxxxxx # ← same key
# Pass a PleumRouter model id (see GET /v1/models for the full list):
claude --model anthropic/gpt-4.15. モデル ID と自動検出#
モデル ID は GET /v1/models または モデルページ で確認できます。Cline・Continue・OpenCode などは この一覧を自動取得してドロップダウンを埋めます。OpenRouter 形式(openai/gpt-5.5)で 送っても自動変換されます。
curl https://apirouter.pleum.ai/v1/models \
-H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx"6. 画像 · 音声 · 動画(API 直接呼び出し)#
画像・音声・動画も OpenAI 互換の HTTP エンドポイントです — 画像 POST /v1/images/generations、TTS POST /v1/audio/speech、STT POST /v1/audio/transcriptions、動画 POST /v1/video/generations(非同期 — job_id を返し、GET /v1/jobs/{job_id} でポーリング)。MODEL_ID はそのモダリティに対応するモデルに置き換えてください — モデルページ または GET /v1/models で確認できます。
# Image generation
curl https://apirouter.pleum.ai/v1/images/generations \
-H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "model": "MODEL_ID", "prompt": "a red bicycle", "n": 1, "size": "1024x1024" }'
# Text-to-speech (returns audio bytes; cost in X-Cost-Krw header)
curl https://apirouter.pleum.ai/v1/audio/speech \
-H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "model": "MODEL_ID", "input": "Hello there", "voice": "alloy" }' --output speech.mp3
# Speech-to-text (multipart upload)
curl https://apirouter.pleum.ai/v1/audio/transcriptions \
-H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
-F model=MODEL_ID -F file=@audio.mp3
# Video generation is async: POST returns a job_id, then poll GET /v1/jobs/{job_id}
curl https://apirouter.pleum.ai/v1/video/generations \
-H "Authorization: Bearer plm_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "model": "MODEL_ID", "prompt": "a drone shot over a forest" }'7. その他のエージェント#
ここに載っていないエージェントもほとんど同じです。OpenAI 互換 base_url で動作 — OpenHands、Open Interpreter、SWE-agent、Qwen Code、MetaGPT、GPT-Pilot、ChatDev、Tabby(チャット)、Dyad、Plandex、bolt.diy、 Forge、Kimi CLI、gptme、Letta など。Anthropic 互換(/v1/messages)では claude-code-router も ANTHROPIC_BASE_URL で接続できます。 LiteLLM ベース(Aider・OpenHands・Open Interpreter・SWE-agent・gptme)は PleumRouter 自体がゲートウェイなので LiteLLM なしで base_url 直結できますが、既存の LiteLLM proxy を使うなら下のように設定してください (api_base の末尾に /chat/completions を付けないこと)。
# litellm config.yaml (LiteLLM proxy를 쓰는 경우)
model_list:
- model_name: pleum-gpt-4.1
litellm_params:
model: openai/gpt-4.1 # openai/ prefix → OpenAI-compat route
api_base: https://apirouter.pleum.ai/v1 # do NOT append /chat/completions
api_key: os.environ/PLEUM_API_KEY