Проблема: Cursor игнорирует вашу локальную LLM
Вы скачали модель, запустили LM Studio, настроили сервер - но Cursor AI упорно не видит вашу локальную LLM. В логах красным светятся ошибки CORS, а запросы не проходят. Знакомая ситуация?
Дело в том, что Cursor AI работает как веб-приложение, а ваш локальный сервер LM Studio не настроен для кросс-доменных запросов. Браузерная безопасность блокирует такие подключения. Но это исправимо.
Если вы думаете, что просто запустите LM Studio и укажете localhost:1234 в Cursor - вас ждет разочарование. Так не работает.
Почему CORS вообще возникает?
CORS (Cross-Origin Resource Sharing) - это механизм безопасности в браузерах. Он не позволяет веб-странице (в нашем случае Cursor AI) делать запросы к другому домену (вашему локальному серверу) без явного разрешения.
Когда Cursor пытается подключиться к http://localhost:1234, браузер говорит: "Эй, это другой origin (порт 1234 vs порт, на котором работает Cursor), у тебя нет разрешения!" И блокирует запрос.
Решение? Нужно либо настроить сервер LM Studio для отправки правильных CORS заголовков, либо использовать туннель, который сделает ваш локальный сервер доступным по публичному URL с правильными заголовками.
1Запускаем LM Studio сервер с правильными параметрами
Откройте LM Studio и перейдите во вкладку "Local Server". Убедитесь, что выбранная модель загружена. Теперь критически важный момент: нажмите "Start Server" и обратите внимание на порт (по умолчанию 1234).
Но просто запустить сервер недостаточно. Нужно убедиться, что он принимает запросы с любого origin. В LM Studio есть настройки CORS, но они не всегда работают как ожидается. Поэтому мы пойдем другим путем.
Проверим, что сервер работает. Откройте терминал и выполните:
curl http://localhost:1234/v1/modelsЕсли вы видите список моделей - отлично. Если нет, проверьте, что сервер запущен и порт свободен.
2Настраиваем ngrok туннель для обхода CORS
Теперь нам нужно сделать локальный сервер доступным извне с правильными CORS заголовками. Для этого используем ngrok.
Установите ngrok, если еще не установлен. Зарегистрируйтесь на сайте ngrok.com и получите авторизационный токен.
Запустите туннель к вашему локальному серверу:
ngrok http 1234После запуска вы увидите публичный URL, например https://abc123.ngrok.io. Этот URL уже настроен с правильными CORS заголовками.
Бесплатный ngrok имеет ограничения: URL меняется при каждом перезапуске, есть лимиты на трафик. Для постоянного использования рассмотрите платный план или альтернативы.
Проверим, что туннель работает:
curl https://abc123.ngrok.io/v1/modelsДолжны получить тот же ответ, что и с localhost.
3Настраиваем Cursor AI для работы с локальной моделью
Откройте Cursor AI. Перейдите в настройки (Settings) -> AI Providers -> Custom OpenAI-Compatible Server.
В поле "Base URL" введите ваш ngrok URL с добавлением /v1. Например: https://abc123.ngrok.io/v1
Обратите внимание на /v1 в конце! Без него Cursor не сможет правильно сформировать запросы.
Поле "API Key" можно оставить пустым или ввести любой текст (например, "lm-studio"), так как LM Studio не требует ключа по умолчанию.
Сохраните настройки и попробуйте задать вопрос Cursor. Если все настроено правильно, он будет использовать вашу локальную модель через ngrok туннель.
Что делать, если все равно не работает?
Вот частые проблемы и их решения:
Ошибка CORS все еще появляется
Убедитесь, что вы используете ngrok URL, а не localhost. Проверьте, что в Cursor указан URL с /v1. Попробуйте добавить заголовки CORS вручную, если используете другой туннель.
Ngrok выдает ошибки
Проверьте, что порт 1234 занят LM Studio. Используйте netstat -an | grep 1234 (Linux/Mac) или netstat -ano | findstr 1234 (Windows). Убедитесь, что брандмауэр не блокирует соединения.
Cursor не видит модель
Проверьте, что модель загружена в LM Studio и сервер запущен. Убедитесь, что запрос к /v1/models через ngrok возвращает модель. В Cursor попробуйте перезагрузить настройки или перезапустить IDE.
Медленные ответы
Ngrok добавляет задержку. Для постоянного использования рассмотрите локальное решение без туннеля, например, настройку CORS в LM Studio или использование других инструментов из идеального стека.
Вопросы, которые вы хотели задать
| Вопрос | Ответ |
|---|---|
| Можно ли обойтись без ngrok? | Да, если настроить CORS заголовки в LM Studio или использовать другой туннель с поддержкой CORS. |
| Какой URL указывать в Cursor? | Ngrok URL с добавлением /v1, например https://abc123.ngrok.io/v1 |
| LM Studio не запускает сервер | Проверьте, не занят ли порт. Попробуйте другой порт в настройках LM Studio. |
| Как автоматизировать этот процесс? | Напишите скрипт, который запускает LM Studio и ngrok, или используйте инструменты из MCP Hangar. |
Вместо заключения: когда надоест возиться с ngrok
Через неделю постоянного перезапуска ngrok и смены URL вы захотите что-то более стабильное. Рассмотрите следующие варианты:
- Настройте LM Studio для работы с CORS напрямую (если найдете как).
- Используйте локальный reverse proxy с настройкой CORS, например nginx.
- Посмотрите в сторону Ollama или других решений, которые могут быть проще в интеграции.
- Для командной работы изучите опыт настройки общего сервера.
И помните: локальные LLM - это не просто игрушка. Это возможность работать с AI без ограничений облачных провайдеров. Настройте один раз - и пользуйтесь постоянно.