Proxy Station
Kayıt ol

Aracınızı bağlayın

Zaten kullandığınız editörü veya CLI'yi bu uç noktaya yönlendirin. Kurulacak uygulama yok — bir base URL, bir anahtar ve çalıştığını kanıtlayan tek komut.

İki base URL, tek anahtar

OpenAI-compatiblethe client appends /chat/completions
https://proxystation.co/v1
Anthropic-compatiblethe client appends /v1/messages itself
https://proxystation.co

Fark biçimsel değil. OpenAI biçimli istemciler verdiğiniz adrese /chat/completions ekler, bu yüzden sürümlü yolu ister. Claude Code ve Anthropic SDK ise /v1/messages'i kendileri ekler, bu yüzden çıplak origin ister. Ters çevirmek /v1/v1/messages üretir ve bu 404 döner — çoğu istemci bunu yanlış yol değil, bağlantı hatası diye raporlar.

Terminal

Claude Code

https://proxystation.co

Kurulum

npm install -g @anthropic-ai/claude-code

Yapılandırma~/.claude/settings.json

export ANTHROPIC_BASE_URL=https://proxystation.co
export ANTHROPIC_AUTH_TOKEN=sk-XXXXXXXXXXXXXXXX

# Persist it in ~/.claude/settings.json instead of your shell profile:
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://proxystation.co",
    "ANTHROPIC_AUTH_TOKEN": "sk-XXXXXXXXXXXXXXXX"
  }
}

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/messages" \
  -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":8,"messages":[{"role":"user","content":"ok"}]}'

Beklenen: A body starting {"id":"msg_… — the URL and the credential both work.

  • No /v1 in the base URL. Claude Code appends /v1/messages itself; adding it yields /v1/v1/messages, which this endpoint answers 404.
  • ANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY both work here — tested. Prefer AUTH_TOKEN: API_KEY triggers a one-time approval prompt in interactive sessions, and if it was ever declined the key is ignored with no error.
  • A value in ~/.claude/settings.json BEATS a shell export, which is the opposite of what most people expect. A stale entry there will quietly override a fresh export.
  • Setting only the base URL does not switch billing. Without a credential variable a saved claude.ai login stays active — run /status inside the CLI and check it names an auth token, not a login method.

Codex CLI

https://proxystation.co/v1

Kurulum

npm install -g @openai/codex

Yapılandırma~/.codex/config.toml

# 1. Put the key in your shell, under the name config.toml will reference:
export PROXYSTATION_API_KEY=sk-XXXXXXXXXXXXXXXX

# 2. ~/.codex/config.toml
model_provider = "proxystation"
model = "gpt-5.6-luna"

[model_providers.proxystation]
name = "proxystation"
base_url = "https://proxystation.co/v1"
env_key = "PROXYSTATION_API_KEY"
wire_api = "responses"

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/responses" \
  -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX" \
  -H "content-type: application/json" \
  -d '{"model":"gpt-5.6-luna","input":"ok"}'

Beklenen: A body with "status":"completed" — the Responses API is what Codex speaks.

  • wire_api accepts only "responses". Chat Completions support was removed from Codex; a config that names it will not start.
  • env_key names an environment variable, it does not hold the key. The string here must match the variable you exported, or Codex reports no credential.
  • The base URL keeps /v1 here, unlike Claude Code above. Same key, same host, different string.

aider

https://proxystation.co/v1

Kurulum

python -m pip install aider-install && aider-install

Yapılandırma~/.aider.conf.yml

export OPENAI_API_BASE=https://proxystation.co/v1
export OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXX

aider --model openai/gpt-5.6-luna

Açmadan önce doğrulayın

curl "https://proxystation.co/v1/models" -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX"

Beklenen: A JSON list under "data" — aider reads the same catalogue.

  • OPENAI_API_BASE, not OPENAI_BASE_URL. aider passes the value to litellm, which uses the API_BASE name.
  • The model needs the openai/ prefix so litellm routes it to the OpenAI-compatible client rather than guessing the vendor from the name.

Editörler ve eklentiler

Continue

https://proxystation.co/v1

Kurulum

Install the Continue extension from the VS Code or JetBrains marketplace.

Yapılandırma~/.continue/config.yaml

# ~/.continue/.env
PROXYSTATION_API_KEY=sk-XXXXXXXXXXXXXXXX

# ~/.continue/config.yaml
models:
  - name: Proxy Station
    provider: openai
    model: gpt-5.6-luna
    apiBase: https://proxystation.co/v1
    apiKey: ${{ secrets.PROXYSTATION_API_KEY }}

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/chat/completions" \
  -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX" \
  -H "content-type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"ok"}],"max_tokens":8}'

Beklenen: A body with "choices" — the same call the extension makes.

  • apiBase keeps /v1 even when you set provider: anthropic. Continue appends only the method path, unlike the Anthropic SDK.
  • The same config.yaml is read by the VS Code extension, the JetBrains plugin and the cn CLI — configure once.

Cline

https://proxystation.co/v1

Kurulum

Install the Cline extension from the VS Code marketplace.

Yapılandırma~/.cline/data/settings/providers.json

In the extension: Settings → API Provider → OpenAI Compatible

  Base URL   https://proxystation.co/v1
  API Key    sk-XXXXXXXXXXXXXXXX
  Model ID   gpt-5.6-luna

The CLI and the extension share ~/.cline/data/settings/providers.json.

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/chat/completions" \
  -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX" \
  -H "content-type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"ok"}],"max_tokens":8}'

Beklenen: A body with "choices" before you touch the extension at all.

  • There is no VS Code settings.json key for this. Settings named cline.openAiCompatible.* do not exist — configure it in the extension panel.
  • Choose the "OpenAI Compatible" provider, not "OpenAI". The plain OpenAI provider ignores a custom base URL.

Cursor

https://proxystation.co/v1

Kurulum

Cursor itself is the editor; nothing extra to install.

Yapılandırma

Settings → Models → API Keys

  Override OpenAI Base URL    https://proxystation.co/v1
  OpenAI API Key              sk-XXXXXXXXXXXXXXXX

Then press Verify.

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/chat/completions" \
  -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX" \
  -H "content-type: application/json" \
  -d '{"model":"gpt-5.6-luna","messages":[{"role":"user","content":"ok"}],"max_tokens":8}'

Beklenen: A body with "choices". Cursor keeps the key in secure storage, so this curl is the only way to check the endpoint separately from the editor.

  • No environment variable and no config file. The key lives in Cursor’s secure storage, so there is nothing to edit by hand and nothing to commit by accident.
  • Add the model id to the model list first, or the override has nothing to apply to.

SDK'lar

OpenAI SDK

https://proxystation.co/v1

Kurulum

pip install openai · npm install openai

Yapılandırma

export OPENAI_BASE_URL=https://proxystation.co/v1
export OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXX

# or in code
from openai import OpenAI
client = OpenAI(api_key="sk-XXXXXXXXXXXXXXXX", base_url="https://proxystation.co/v1")

Açmadan önce doğrulayın

curl "https://proxystation.co/v1/models" -H "Authorization: Bearer sk-XXXXXXXXXXXXXXXX"

Beklenen: A JSON list under "data".

  • OPENAI_BASE_URL ends in /v1. The SDK appends /chat/completions to whatever you give it.

Anthropic SDK

https://proxystation.co

Kurulum

pip install anthropic · npm install @anthropic-ai/sdk

Yapılandırma

export ANTHROPIC_BASE_URL=https://proxystation.co
export ANTHROPIC_API_KEY=sk-XXXXXXXXXXXXXXXX

# or in code — note the base URL carries no /v1
from anthropic import Anthropic
client = Anthropic(api_key="sk-XXXXXXXXXXXXXXXX", base_url="https://proxystation.co")

Açmadan önce doğrulayın

curl -X POST "https://proxystation.co/v1/messages" \
  -H "x-api-key: sk-XXXXXXXXXXXXXXXX" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":8,"messages":[{"role":"user","content":"ok"}]}'

Beklenen: A body starting {"id":"msg_…

  • No /v1 here. The SDK adds it, and a base URL that already carries one produces /v1/v1/messages — a 404.

Bu sayfadaki her yapılandırma 2026-08-30 tarihinde bu uç noktaya karşı sınandı ve yukarıdaki her doğrulama komutu çalıştırıldı. Araçlar değişir: Codex bu yıl Chat Completions desteğini kaldırdı. Biri uyuşmazsa bunu size doğrulama komutu söyler.

İstasyon bölgesel giriş noktalarından da yanıt verir. Aynı anahtarla çalışırlar, ancak durum sayfasında yayımlanan çalışma süresi ve gecikme yalnız bu origin üzerinden ölçülür — o rakamlar başka bir giriş noktasını anlatmaz.