Proxy Station
Đăng ký

Kết nối công cụ của bạn

Trỏ trình soạn thảo hoặc CLI bạn đang dùng tới endpoint này. Không cần cài ứng dụng — một base URL, một khóa, và một lệnh chứng minh nó hoạt động.

Hai base URL, một khóa

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

Khác biệt này không phải hình thức. Client dạng OpenAI nối thêm /chat/completions vào địa chỉ bạn đưa, nên cần đường dẫn có phiên bản. Claude Code và Anthropic SDK tự nối /v1/messages, nên cần origin trần. Đảo ngược sẽ tạo ra /v1/v1/messages và trả về 404 — mà phần lớn client báo là lỗi kết nối chứ không phải sai đường dẫn.

Terminal

Claude Code

https://proxystation.co

Cài đặt

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

Cấu hình~/.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"
  }
}

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

npm install -g @openai/codex

Cấu hình~/.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"

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

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

Cấu hình~/.aider.conf.yml

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

aider --model openai/gpt-5.6-luna

Xác minh trước khi mở

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

Kỳ vọng: 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.

Trình soạn thảo và tiện ích

Continue

https://proxystation.co/v1

Cài đặt

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

Cấu hình~/.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 }}

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

Install the Cline extension from the VS Code marketplace.

Cấu hình~/.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.

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

Cursor itself is the editor; nothing extra to install.

Cấu hình

Settings → Models → API Keys

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

Then press Verify.

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

pip install openai · npm install openai

Cấu hình

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

Xác minh trước khi mở

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

Kỳ vọng: 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

Cài đặt

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

Cấu hình

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

Xác minh trước khi mở

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

Kỳ vọng: 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.

Mọi cấu hình trên trang này đã được kiểm chứng với endpoint này vào 2026-08-30, và mọi lệnh xác minh ở trên đều đã được chạy thật. Công cụ thay đổi: Codex đã bỏ hỗ trợ Chat Completions trong năm nay. Nếu có mục nào không còn khớp, lệnh xác minh là thứ báo cho bạn.

Trạm cũng phản hồi ở các điểm vào theo khu vực. Chúng dùng chung khóa, nhưng thời gian hoạt động và độ trễ công bố trên trang trạng thái chỉ đo trên origin này — những con số đó không mô tả điểm vào khác.