Подключите свой инструмент

Направьте редактор или CLI, которым вы уже пользуетесь, на этот эндпоинт. Ничего устанавливать не нужно — base URL, ключ и одна команда, доказывающая, что всё работает.

Два base URL, один ключ

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

Разница не косметическая. Клиенты в формате OpenAI дописывают /chat/completions к тому, что вы указали, поэтому им нужен путь с версией. Claude Code и Anthropic SDK дописывают /v1/messages сами, поэтому им нужен голый origin. Перепутать — значит получить /v1/v1/messages и 404, который большинство клиентов покажет как сбой соединения, а не как неверный путь.

Терминал

Claude Code

https://proxystation.co

Установка

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

Настройка~/.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"
  }
}

Проверьте до запуска

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"}]}'

Ожидается: 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

Установка

npm install -g @openai/codex

Настройка~/.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"

Проверьте до запуска

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"}'

Ожидается: 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

Установка

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

Настройка~/.aider.conf.yml

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

aider --model openai/gpt-5.6-luna

Проверьте до запуска

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

Ожидается: 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.

Редакторы и расширения

Continue

https://proxystation.co/v1

Установка

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

Настройка~/.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 }}

Проверьте до запуска

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}'

Ожидается: 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

Установка

Install the Cline extension from the VS Code marketplace.

Настройка~/.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.

Проверьте до запуска

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}'

Ожидается: 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

Установка

Cursor itself is the editor; nothing extra to install.

Настройка

Settings → Models → API Keys

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

Then press Verify.

Проверьте до запуска

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}'

Ожидается: 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

OpenAI SDK

https://proxystation.co/v1

Установка

pip install openai · npm install openai

Настройка

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")

Проверьте до запуска

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

Ожидается: 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

Установка

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

Настройка

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")

Проверьте до запуска

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"}]}'

Ожидается: 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.

Каждая настройка на этой странице проверена на этом эндпоинте 2026-08-30, и каждая команда проверки выше была выполнена. Инструменты меняются: Codex в этом году убрал поддержку Chat Completions. Если что-то перестанет совпадать, об этом скажет команда проверки.

Станция отвечает и на региональных точках входа. Они работают с тем же ключом, но доступность и задержка на странице статуса измеряются только для этого origin — те цифры не описывают другую точку входа.