# Агенты в IDE

Подключите Cursor, Cline, Roo Code, Kilo Code и Continue к Nodul Router как OpenAI-совместимый провайдер.

С роутером работают агенты для программирования, которые принимают OpenAI-совместимый провайдер. Всегда нужны три значения:

| Настройка | Значение                                                        |
| --------- | --------------------------------------------------------------- |
| Base URL  | `https://router.nodul.ru/api/v1`                                |
| API-ключ  | Ваш ключ Router, `sk-nr-…`                                      |
| Модель    | ID модели из [каталога](/models), например `openai/gpt-4o-mini` |

Выбирайте модель с возможностью **Инструменты**: агенты вызывают инструменты на каждом шаге. Агенты отправляют длинные промпты, поэтому следите за расходами в логах кабинета и задайте бюджет на ключе.

## Cline, Roo Code, Kilo Code

1. Откройте настройки расширения и выберите API provider **OpenAI Compatible**.
2. Base URL: `https://router.nodul.ru/api/v1`.
3. API key: ваш ключ Router.
4. Model ID: ID модели из каталога.
5. Задайте размер контекстного окна и лимит ответа равными `context_length` и `max_completion_tokens` модели из `GET /api/v1/models`.

## Continue

Добавьте модель в `config.yaml`:

```yaml
models:
  - name: Nodul Router
    provider: openai
    model: openai/gpt-4o-mini
    apiBase: https://router.nodul.ru/api/v1
    apiKey: sk-nr-...
    roles: [chat, edit, apply]
```

## Cursor

1. Откройте **Cursor Settings → Models**.
2. В разделе **API Keys** введите ключ Router как OpenAI API key, включите **Override OpenAI Base URL** и введите `https://router.nodul.ru/api/v1`.
3. Добавьте ID модели из каталога как пользовательскую модель и включите ее.

Cursor отправляет часть запросов через свои серверы, а некоторые его функции работают только со встроенными моделями.

## Если что-то не работает

| Симптом                        | Причина                                                                                                                                 |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| `401`                          | Ключ неверный, отключен или истек.                                                                                                      |
| `402`                          | У плательщика мало средств или исчерпан бюджет ключа. Агенты резервируют много на каждый запрос: задайте в агенте меньший лимит ответа. |
| `400 model … is not available` | Такого ID модели нет в каталоге: скопируйте его из каталога.                                                                            |
| `400 no route of …`            | Модель не поддерживает инструменты. Выберите модель с возможностью **Инструменты**.                                                     |
| Ответ обрывается на середине   | Сработал лимит ответа: задайте в агенте больший `max_tokens` (лимит ответа).                                                            |
