Cursor IDE
AI-редактор через AITUNNEL: тот же Cursor, ключ в рублях, Agent Mode на gpt-* моделях, VPN не нужен.
Cursor — AI-редактор на базе VS Code. Подключается к AITUNNEL через Override OpenAI Base URL: один ключ sk-aitunnel-, российский домен, оплата в рублях.
Base URL для Cursor — https://api.aitunnel.ru/v1/cursor.
Зачем через AITUNNEL
- Из России без VPN. Запросы идут на
api.aitunnel.ru, зарубежная карта и аккаунт не нужны. - Оплата в рублях, бюджет на ключе, расход в панели.
- Любая модель из каталога через один ключ — Kimi, Qwen, GPT, Claude, Gemini, DeepSeek.
- Agent Mode на
gpt-*. Наш эндпоинт/v1/cursorпонимает формат запросов, который Cursor шлёт для моделей OpenAI — см. как это работает.
Быстрый старт
Ключ
Создайте ключ в панели ключей — он начинается с
sk-aitunnel-. Баланс должен быть положительным.Настройки Cursor
Откройте Cursor Settings (
Cmd/Ctrl + ,) → Models → раздел API Keys:Поле Значение OpenAI API Key включить тумблер, вставить sk-aitunnel-xxxOverride OpenAI Base URL включить тумблер Base URL https://api.aitunnel.ru/v1/cursorМодели
В поле Add or search model добавьте id моделей — ровно так, как они записаны в каталоге, без префикса провайдера — и включите тумблером:
Моделиkimi-k2.6 # рекомендуем как основную qwen3-coder-next # open-source альтернатива gpt-5.5 claude-sonnet-4.6 gemini-3.5-flash # быстрая, для Cmd+K deepseek-v4-flash # экономичная reasoning-модельАктуальный список — на странице моделей.
Verify
Нажмите Verify. Cursor проверит ключ и Base URL. После этого модели появятся в выпадающем списке в чате (
Cmd+L), Cmd+K и Agent Mode.Проверить эндпоинт можно и без Cursor — этот запрос повторяет формат, который шлёт сам редактор:
cURLcurl https://api.aitunnel.ru/v1/cursor/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-aitunnel-xxx" \ -d '{ "model": "gpt-5.5", "input": [ { "role": "user", "content": [{ "type": "input_text", "text": "Привет" }] } ], "max_output_tokens": 32 }'В ответ придёт обычный
chat.completionсusage.cost_rub.
Как это работает
Cursor всегда шлёт запросы на /chat/completions, но формат тела выбирает по имени модели. Для id, похожих на модели OpenAI (gpt-*, o3), он отправляет payload Responses API: input вместо messages, плоские определения инструментов, max_output_tokens вместо max_tokens. Обычный OpenAI-совместимый эндпоинт такое тело отклоняет с ошибкой Input required: specify "prompt" or "messages" — поэтому gpt-* через кастомный Base URL исторически не работали.
Cursor отправляет:
{
"model": "gpt-5.5",
"instructions": "You are an AI coding assistant...",
"input": [
{ "role": "user", "content": [{ "type": "input_text", "text": "Почини баг" }] }
],
"tools": [
{ "type": "function", "name": "read_file", "parameters": { "…": "…" } }
],
"store": false,
"max_output_tokens": 8192
}Запросы с Base URL https://api.aitunnel.ru/v1/cursor уходят на эндпоинт, который понимает форматы Cursor и отвечает обычным chat.completion. Остальное не меняется: тот же ключ, тот же каталог моделей, фолбэки, тарификация и usage.cost_rub в ответе.
Конвертировать ответ не нужно — Cursor получает ровно тот формат, которого ждёт.
Формат Cursor меняет по семейству модели — для gpt-* это Responses API, для claude-* и gemini-* свои варианты. Поэтому на /v1/cursor тело не разбирается: запрос уходит на эндпоинт, который умеет все эти форматы.
Что работает
| Функция | Статус |
|---|---|
Чат Cmd+L | работает на любой добавленной модели |
Cmd+K (inline edit) | работает, быстрее всего на gemini-3.5-flash |
| Composer | работает |
| Agent Mode | работает; Base URL должен быть с /cursor |
| Tab autocomplete, Apply | не подключается — это собственные модели Cursor по его подписке |
Предупреждение «Limited support for Agent Mode» Cursor показывает почти для всех моделей на кастомном Base URL. Само по себе оно ни о чём не говорит — проверяйте по факту.
Какие модели выбрать
kimi-k2.6— сильный tool use, заметно дешевле Claude и GPT.qwen3-coder-next— open-source агентная модель.gpt-5.5,claude-sonnet-4.6— флагманы для сложных задач.gemini-3.5-flash— быстрая и дешёвая, удобна дляCmd+K.
Id пишутся как в каталоге, без префикса провайдера. На выбор формата запроса в самом Cursor это не влияет — он смотрит только на то, есть ли в имени gpt, claude или gemini.
Форма со слешем (moonshotai/kimi-k2.6) тоже работает и нужна для моделей, которых нет в нашем каталоге: такое имя уходит в OpenRouter как есть. Но каталожный id лучше — по нему заранее проверяются баланс и лимит ключа, а при опечатке приходит ошибка с подсказкой похожих названий.
Расход
Каждый ответ содержит usage.cost_rub — списанную сумму в рублях, и usage.balance — остаток. История запросов и расход по моделям — в панели. Лимит на конкретный ключ ставится в панели ключей.
Agent Mode отправляет весь контекст на каждом шаге, поэтому один запрос пользователя может стоить нескольких обращений к модели. Для больших репозиториев это заметно — начните с дешёвой модели.
Устранение неполадок
- Verify не проходит. Ключ активен в панели ключей и начинается с
sk-aitunnel-, баланс положительный, тумблер Override OpenAI Base URL включён, Base URL —https://api.aitunnel.ru/v1/cursorбез слеша в конце. Input required: specify "prompt" or "messages". В Base URL потерялся/cursor. Проверьте curl-запросом выше.- Model not found / 404. Сверьте id со списком моделей — он должен совпадать посимвольно. После добавления моделей перезапустите Cursor.
402. Недостаточно средств или исчерпан бюджет ключа — пополните баланс.- Ошибки tool calling в Agent Mode. Чаще всего Base URL без
/cursor: на нём Cursor-форматы не разбираются. - Tab autocomplete не использует AITUNNEL. Так и должно быть: Tab и Apply идут через подписку Cursor и к кастомному Base URL не подключаются.
- Нет ответа на длинных запросах. В Cursor Settings → Network переключите HTTP Compatibility Mode на HTTP/1.1.