Отдельный backend с одним эндпоинтом «текст → ответ модели». Так проще понять лимиты и не тащить ключ во фронт.
Что собрать
- FastAPI или Next.js Route Handler.
- Ключ только в
.env, на клиент не отдавать. - Один метод: вход — строка, выход — текст модели.
- Таймаут, лимит длины промпта, понятная ошибка если ключ пустой.
Не обещайте в UI «бесплатно навсегда» и не хардкодьте ключи в репозиторий.
Как вести агента
«Сделай POST /ask, читает OPENROUTER_API_KEY, не логирует промпт целиком». Смотрите, чтобы агент не добавил демо-ключ и не вывел секрет в README.
Проверка: запрос curl с коротким текстом. Второй запрос с пустым ключом должен дать 500/400 без стека с токеном.
Дальше
Оплата самого Cursor — из России. Правила, чтобы агент не коммитил .env: Rules.