AI-шлюз
ai — шлюз на https://ai.xvii.network перед подписочными аккаунтами и официальными
API-ключами инстанса. Инструменты обращаются к нему через тот API, который уже знают.
| API |
Адрес |
| OpenAI |
https://ai.xvii.network/v1 |
| Anthropic |
https://ai.xvii.network (/v1/messages) |
| Gemini |
https://ai.xvii.network/v1beta |
Получите ключ
xvii ai keys create --name laptop --own
xvii ai keys create --name bots --models 'claude-haiku*' --budget 20 --daily 500
Ключ (sk-xvii-…) показывается один раз. Это ключ команды или, с --own, ваш собственный ключ в команде. У
каждого ключа есть разрешённые модели (id или шаблоны с *) и лимиты: запросы в минуту и в день, токены и
доллары в месяц. Поверх действуют лимиты команды ai.keys и ai.tokens. Диалог ключа в панели показывает
готовые строки настройки для популярных клиентов.
Пользуйтесь
export ANTHROPIC_BASE_URL=https://ai.xvii.network
export ANTHROPIC_AUTH_TOKEN=sk-xvii-…
claude
export OPENAI_BASE_URL=https://ai.xvii.network/v1
export OPENAI_API_KEY=sk-xvii-…
В opencode добавьте OpenAI-совместимого провайдера с этим адресом.
curl https://ai.xvii.network/v1/chat/completions \
-H "Authorization: Bearer $AI_KEY" -H "Content-Type: application/json" \
-d '{"model":"claude-haiku-5-5","messages":[{"role":"user","content":"Привет"}]}'
Шлюз читает ключ, где бы SDK его ни передал (Bearer, x-api-key, x-goog-api-key, ?key=), и отказывает в
формате ошибок API вызывающего.
AI_KEY=sk-xvii-… xvii ai quota # сколько ключ ещё может потратить
xvii ai usage --days 7 # вызовы, токены и стоимость по моделям и ключам
Алиасы моделей
Суперпользователи могут задать собственные имена моделей инстанса, например smart → упорядоченный список
моделей. Шлюз пробует их по порядку и идёт дальше, пока очередная отвечает 429, 404 или 5xx; заголовок ответа
X-Xvii-Model говорит, какая ответила. /v1/models показывает алиасы.
Статистика, логи и песочница
- Использование: каждый вызов с ключом, моделью, провайдером, аккаунтом, токенами, задержкой и ценой (по
прайсу с поправками инстанса).
- Логи: ключ может хранить тела своих вызовов 1, 7 или 30 дней; выключение удаляет их.
- Песочница: чат в панели с потоковыми ответами в Markdown, перегенерацией или ответом другой моделью,
картинками для vision-моделей, генерацией изображений, сохранёнными беседами и библиотекой промптов.
- Аналитика: перцентили задержки, время до первого токена, ошибки, попадания в кэш и скорость по моделям,
провайдерам, ключам и аккаунтам. Команды узнают через notify, когда ключ прошёл 80% бюджета.
Аккаунты (суперпользователи)
xvii ai accounts add claude
открывает вход провайдера (Claude, Codex, Antigravity, Kimi, xAI и другие); официальные API-ключи
(Anthropic, Gemini, OpenAI-совместимые) добавляются в панели. Запросы распределяются между аккаунтами. Аккаунт
может ходить через свой прокси к провайдеру, который не обслуживает регион сервера. Каждые пять минут шлюз
читает окна квот каждого аккаунта, показывает шкалы и прогноз и приостанавливает аккаунт, у которого осталось
меньше 2%, до сброса окна.
Окна квот провайдера и лимиты шлюза — разные вещи с разными временами сброса. Проксирование
потребительских подписок может нарушать условия провайдера; решать это — владельцу инстанса.
Сжатие
По желанию шлюз пропускает длинные беседы через шаг сжатия перед отправкой провайдеру, сохраняя кэш промпта.
Оно выключено, работает в режиме аудита или включено для всего инстанса; ниже выбирают команды, ключи,
правила моделей и заголовок X-Xvii-Compress. Страница «Сжатие» показывает, сколько сэкономлено.