Коротко
- Neon AI Gateway: один креденшел доходит до моделей OpenAI, Anthropic, Google, Meta, Databricks и Alibaba.
- Провайдер кастомный: запись
models.providers.neonпишем руками,openclaw onboardего не предлагает. - Хост Gateway привязан к ветке Neon, поэтому при переключении ветки меняется и эндпоинт.
Сверено с документацией OpenClaw 2026.10.10, 3 ноября 2026.
Собрать модели OpenAI, Anthropic, Google, Meta, Databricks и Alibaba за одним ключом — задача для шлюза перед провайдерами. У Neon это решает один учётный доступ на ветку: настраиваем models.providers.neon так, чтобы запросы уходили в выбранную ветку Neon.
Шаг 1. Учётные данные на ветку
- В Neon Console выберите ветку, откройте Credentials в разделе APP BACKEND и нажмите Create credential.
- Отметьте scope
ai_gateway:invoke. Токен начинается сnt_live_и показывается один раз. - Через CLI: команда
neon env pull --file .envзаписывает и учётные данные, и host текущей ветки.
export NEON_AI_GATEWAY_BASE_URL="https://<your-neon-branch-host>"
export NEON_AI_GATEWAY_TOKEN="example-neon-gateway-token-not-real"
В NEON_AI_GATEWAY_BASE_URL кладётся host из консоли, без пути после него. Это не строка подключения к базе.
Шаг 2. Провайдер neon в конфиге
Запись добавляем до выбора модели. Транспорт openai-completions, baseUrl состоит из host и /v1: клиент OpenAI дописывает к адресу chat/completions.
{
models: {
providers: {
neon: {
baseUrl: "https://<your-neon-branch-host>/v1",
apiKey: "${NEON_AI_GATEWAY_TOKEN}",
api: "openai-completions",
models: [
{
id: "gpt-5-mini",
name: "GPT-5 Mini",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 400000,
},
{
id: "gemini-3-flash",
name: "Gemini 3 Flash",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 1000000,
},
{
id: "qwen3-next-80b-a3b-instruct",
name: "Qwen3-Next 80B Instruct",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 131000,
},
],
},
},
},
agents: {
defaults: {
model: { primary: "neon/gpt-5-mini" },
},
},
}
Шаг 3. Проверка ветки и модели
- Выберите модель и посмотрите каталог провайдера:
- Проверьте, что ветка действительно та: запросите список моделей с тем же токеном.
- Сравните ответ с соседней веткой: тот же учётный доступ там даёт
403сcredential not authorized for this branch.
openclaw models set neon/gpt-5-mini
openclaw models list --provider neon
curl "$NEON_AI_GATEWAY_BASE_URL/v1/models" \
-H "Authorization: Bearer $NEON_AI_GATEWAY_TOKEN"
Без записи models.providers.neon команда openclaw models set падает с Unknown model provider "neon" и конфиг не меняет. Список моделей приходит в форме OpenRouter, но pricing, context_length и per_request_limits всегда null, поэтому contextWindow и cost берите из каталога Neon: $0.25 и $2.00 за миллион токенов у gpt-5-mini, $0.50 и $3.00 у gemini-3-flash, $0.15 и $1.20 у qwen3-next-80b-a3b-instruct.
Два отдельных эндпоинта Neon
Часть моделей живёт не на /v1. Responses-модели требуют openai-responses и base URL с /openai/v1, а Claude-модели доступны только через anthropic-messages на /anthropic, где Neon требует bearer-токен, поэтому нужен authHeader: true.
{
models: {
providers: {
"neon-responses": {
baseUrl: "https://<your-neon-branch-host>/openai/v1",
apiKey: "${NEON_AI_GATEWAY_TOKEN}",
api: "openai-responses",
models: [
{
id: "gpt-5-3-codex",
name: "GPT-5.3 Codex",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 400000,
},
],
},
},
},
}
{
models: {
providers: {
"neon-anthropic": {
baseUrl: "https://<your-neon-branch-host>/anthropic",
apiKey: "${NEON_AI_GATEWAY_TOKEN}",
authHeader: true,
api: "anthropic-messages",
models: [
{
id: "claude-sonnet-4-6",
name: "Claude Sonnet 4.6",
reasoning: true,
input: ["text", "image"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
},
],
},
},
},
agents: {
defaults: {
model: { primary: "neon-anthropic/claude-sonnet-4-6" },
models: {
"neon-anthropic/claude-sonnet-4-6": {
params: { cacheRetention: "short" },
},
},
},
},
}
Где ломается и когда не применять
- Neon AI Gateway требует платного плана и доступен не во всех регионах.
- Хост ветки — это публичный HTTPS-эндпоинт, поэтому переопределение приватной сети не нужно.
- Учётные данные действуют на ветке, где созданы, и на её потомках. Ротация: сначала новый токен, потом новое значение в окружении, потом отзыв старого.
- OpenClaw не отправляет
stream_optionsна этот маршрут:supportsUsageInStreamingвыводится какfalse. Потоковый ход часто отчитается нулём токенов. Флагcompat: { supportsUsageInStreaming: true }включайте только после проверки модели. - Эндпоинт
/openai/v1принимает только идентификаторы OpenAI: Gemini, Llama или Qwen дают400 model "<model-id>" is not available on the openai_responses endpoint. Эндпоинт/anthropic— только Claude: не-Anthropic ID дают400 model "<model-id>" is not available on the anthropic_messages endpoint. - В записях моделей нет
maxTokens, поэтому OpenClaw применяет свой предел в 8192 выходных токенов. Значение 20 000 выходных токенов в минуту у Neon это лимит скорости, а не потолок ответа.