Cursor перестал работать в России, поэтому мы сделали свой аналог с оплатой в рублях и без ВПН

3 сентября Cursor обновил пользовательское соглашение, а 4–5 сентября пользователи из России начали получать not available in your region. Часть платных подписок компания отменила сама. Мы в тот вечер сидели в Cursor, как и половина знакомых команд — и на следующий день получили письмо счастья
В этой статье — что мы сделали за неделю после этого, почему именно расширение к VS Code, а не «поставьте свой ключ в Cursor», какие грабли собрали по дороге и сколько всё это стоит в рублях
Что случилось и почему ключ не спасает
Первая мысль у всех одна: у Cursor есть поле «свой API-ключ», подставим туда шлюз с оплатой в рублях — и дальше как раньше. Мы сами так подумали и даже написали инструкцию, но решили проверить
Не работает, и вот почему. У Cursor закрыт не доступ к моделям, а его собственное облако: вход в аккаунт, автодополнение по Tab, агент, индексация проекта. Своим ключом вы переопределяете только часть чата. Всё остальное по-прежнему ходит в облако Cursor, а облако отвечает «не в вашем регионе». То есть совет «вставьте ключ» не работает
Мы сняли ту инструкцию и повесили на её месте предупреждение. А потом задали себе вопрос по-другому: что у разработчика уже есть, куда можно принести модели?
Почему VS Code, а не свой редактор
Ответ оказался простым. VS Code за последний год сам стал тем, чем был Cursor: в нём есть чат, agent mode с правкой файлов и вызовом инструментов, и главное, официальный способ подключить сторонние модели. В списке моделей чата есть кнопка Add Models, и рядом с GitHub Copilot, OpenAI и Anthropic там может появиться любой провайдер, если он написал расширение
Значит, не нужно писать ни свой чат, ни свой агент, ни автодополнение. Нужно написать маленькое расширение, которое скажет редактору: вот ключ, вот адрес, вот список моделей с ценами. Всё остальное сделает VS Code. Такая задача решается за несколько дней, а не месяцев, и у неё нет облака, которое можно закрыть
Что получилось
Расширение весит тридцать килобайт и делает пять вещей.
Дает модели редактору. Claude, GPT, Gemini, Grok, DeepSeek, Kimi, Qwen — весь каталог появляется в родном чате VS Code и в agent mode, вместе с вызовом инструментов и картинками на вход. Цена за миллион токенов видна прямо в списке при выборе модели
Хранит ключ по-человечески. Ключ ложится в SecretStorage VS Code, а не в settings.json. Это важно: файл настроек уезжает в репозиторий вместе с проектом, и ключ утекает в git. Половина инструкций в интернете советует писать ключ именно туда
Проверяет ключ сразу и бесплатно. Ввели — расширение сообщает, чей это аккаунт, еще до первого платного запроса
Показывает баланс. kos.c · 2 340 ₽ в статус-баре, обновление раз в десять минут. Желтый ниже 500 ₽, красный на нуле. Порог настраивается
Настраивает внешние инструменты. Continue.dev и Codex CLI расширение настраивает само — правит их конфиг, рядом кладёт .bak. Для Claude Code и Cline кладёт готовые значения в буфер обмена. Про «почему в буфер» - ниже, это одна из граблей
Что не получилось, и как выкрутились
Честный список, потому что он полезнее победных реляций
Cline нельзя настроить программно. В первой версии ТЗ был пункт «расширение само настраивает Cline». Оказалось, Cline хранит настройки провайдера во внутреннем состоянии редактора, и VS Code запрещает чужому расширению туда писать — по замыслу, а не по недосмотру. Поэтому для Cline мы кладём Base URL, ключ и имя модели в буфер обмена, и вы вставляете их в три поля руками. Нечестно было бы написать «настраивает Cline» и молча делать это
TOML нельзя дописывать в конец. У Codex CLI конфиг в TOML, и первая версия просто добавляла наш блок в конец файла. Всё, что стоит после [таблицы], принадлежит этой таблице — наши верхнеуровневые model и model_provider оказывались внутри чужой секции и не работали. Теперь верхний уровень пишется в начало, а [model_providers.kosareva] — в конец
Скобки в маркере. Свои блоки в чужих конфигах мы помечаем маркером вида # --- kosareva.cloud (начало) ---. При повторной настройке расширение ищет старый блок регулярным выражением. В маркере есть скобки, регулярное выражение читает их как группу — блок не находится, и конфиг обрастает копиями. Час отладки, одна строка исправления: экранировать маркер
Как поставить
1. Поставьте VS Code, если он у вас ещ- не установлен, или обновите. Чат и agent mode появились в редакторе не так давно. Официальная страница загрузки - code.visualstudio.com/download, бесплатно, для Windows, macOS и Linux
2. Откройте вкладку расширений (Ctrl+Shift+X), введите «kosareva», нажмите Install

3. Ctrl+Shift+P → «kosareva.cloud: Подключить ключ». Ключ берётся в личном кабинете — наберите в браузере kosareva cloud, он начинается с sk-

4. В списке моделей чата нажмите Add Models -> отметьте любую модель, выберите провайдера kosareva.cloud, далее можно закрыть список моделей, все они автоматически подтянутся в чат

Четвертый шаг — тот самый, на котором останавливаются. Пока вы не добавили модели этой кнопкой, в поле ввода чата остаётся модель Copilot, и редактор просит войти в GitHub. Это не ошибка расширения, а правило VS Code: чужие модели появляются в чате только после явного добавления. После него ни GitHub Copilot, ни аккаунт GitHub не нужны — вообще

5. Наслаждаемся чатом со всеми моделями без авторизации в copilot и ВПН :)
Чего здесь нет
Своего чата, автодополнения по Tab, агента, индексации проекта. Всё это либо дает сам редактор, либо не даёт никто. Если вам нужно именно автодополнение по Tab - посмотрите Continue.dev: он работает с тем же ключом, и расширение его настроит
И телеметрии здесь нет. Расширение не читает ваш код и ничего о вас не отправляет. Наружу уходят три запроса: проверка ключа, баланс и список моделей. Деньги тратит только чат - и только на то, что вы в него отправили
Сколько это стоит
Расширение бесплатное. Платите за токены по ценам каталога. Чтобы было с чем сравнить: подписка Cursor стоила 20-100 долларов в месяц независимо от того, сколько вы им пользовались
Возьмём обычный день код-ассистента: 150 запросов, в каждом около 6 000 токенов на вход (в запрос попадает контекст файла) и 1 200 на выход. На Claude Sonnet 5 при 216 ₽ за миллион на вход и 1 080 ₽ на выход один запрос стоит 2,6 ₽, день — 389 ₽, месяц — около 11 700 ₽. Это флагман, и это дорого
Та же нагрузка на Qwen3.8 27B при 14 ₽ и 42 ₽ за миллион — 13 копеек за запрос, 20 ₽ в день, около 600 ₽ в месяц. Для большинства рутинных задач этой модели хватает, а флагман можно включать на один сложный вопрос и выключать обратно: переключение — один клик в поле ввода
На сайте есть калькулятор с этими же ценами - подставьте свою нагрузку
Вывод
История с Cursor научила не тому, что «иностранные сервисы ненадёжны». Она научила, что инструмент с собственным облаком можно выключить одним обновлением соглашения - и никакой ключ этому не помешает. Редактор, который стоит у вас локально, и модели, к которым вы ходите по ключу, выключить снаружи нельзя. Мы просто соединили одно с другим
Если что-то не работает или в инструкции чего-то не хватает - пишите, расширение молодое, и половина того, что описано выше, появилась из таких писем
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.