Continue расширение для VSCode и JetBrains с GPT-4

бесплатный и в опенсорсе

https://continue.dev/

Опенсорс автопилот в вашей IDE. Continue позволяет создавать, рефакторить и объяснять целые разделы кода с помощью языковых моделей, таких как GPT-4 Turbo или Claude 3.


Пользовательский интерфейс



Видео: установка и настройка



Видео: демо возможностей




Видео любезно предоставлено Николаем Сениным, консультантом в области ИИ (телеграм @nick_senin)

Интеграция


Если вы хотите использовать все возможности Continue, то всегда подключайте модели с поддержкой tools с соответствующим бейджем в списке моделей. Tools добавляют поддержку формата «вызвать сторонний инструмент», что крайне важно для агентов.

Новый вариант (YAML)


В версиях Continue 1.0.33 – 1.0.59 наблюдаются проблемы с инлайн-редактированием, если использовать YAML-конфиг.
Неожиданно помогло включение устаревшего JSON-конфига (ниже) – там этих проблем нет.

Важно: где-то с версии Continue 1.2.5 их провайдер openai использует для вызова нейросетей endpoint v1/responses, который нами не поддерживается; да и другие независимые провайдеры поддерживают чаще всего v1/chat/completions.
 
Чтобы решить проблему, один из наших пользователей рекомендовал заменить в config.yaml (указан ниже)
provider: openai -> provider: xAI
 
Именно поэтому провайдер в YAML указан как xAI – тем не менее, может работать и на openai, только не со всеми сетями. Сверяйтесь с документацией.

Конфиг YAML должен выглядеть приблизительно так:

(используйте tool_use для моделей, поддерживающих tools – эти модели могут быть использованы для plan и agent выполнения)

name: Test Config
version: 1.0.0
schema: v1
models: 
  - name: "gpt 4o mini"
    provider: "xAI"
    model: "openai/gpt-4o-mini"
    apiBase: "https://api.vsegpt.ru/v1"
    apiKey: "sk-..."
    useLegacyCompletionsEndpoint: false
    roles:
      - chat
      - edit
      - apply
      - autocomplete
      - summarize
    capabilities:
      - tool_use


Настройка Opus/Sonnet


Пытаясь «автоматически оптимизировать корректный выбор API», авторы Continue при обращении к Opus/Sonnet (детектируется по ID сети) начинают перенаправлять принудительно запросы вместо OpenAI API на Anthropic API endpoint – который по умолчанию у нас не поддерживается. Обычно это выглядит как ошибка 400 с текстом приблизительно v1/messages is not supported.

Варианта решения проблемы два:

1. Зайдите в Вам запрещён доступНастройки пользователя и сделайте маппинг модели в духе mysmartmodel=anthropic/claude-sonnet-4.5. А в конфигурации укажите ID=mysmartmodel – тогда Continue не будет воспринимать вашу модель как Anthropic, и не будет подменять вызовы.

2. Мы поддерживаем Anthropic-совместимое API, например, для Claude Code.
Но для него надо указать другую точку доступа и, соответственно, конфиг. Приблизительно так:



Старый вариант (JSON)




То же самое, но кодом (используем x-title модификатор, чтобы передать информацию о вызывающем):
"model": {
    "title": "GPT-4o (vsegpt)",
    "provider": "openai",
    "model": "openai/gpt-4o:x-title=Continue",
    "apiBase": "https://api.vsegpt.ru/v1",
    "apiType": "openai",
    "apiKey": "YOUR API KEY",
    "capabilities": {"tools": true},
    "useLegacyCompletionsEndpoint": false


  }


Настройка автокомплита


Автокомплит также можно настроить, но нужно добавить дополнительный параметр useLegacyCompletionsEndpoint, чтобы использовался поддерживаемый в нашем API endpoint chat/completions вместо устаревшего completions.

"model": {
    "title": "GPT-4o (vsegpt)",
    "provider": "openai",
    "model": "openai/gpt-4o",
    "apiBase": "https://api.vsegpt.ru/v1",
    "apiType": "openai",
    "apiKey": "YOUR API KEY",
    "useLegacyCompletionsEndpoint": false
  }

При автокомплите идут более частые запросы, и вы можете упирать в rate limits на число запросов. В этом случае мы рекомендуем перейти хотя бы на тариф FAST Lite для увеличения лимитов.

Пример:



возможны неточности

Если вы получаете ошибку This endpoint 'v1/completions' not provided


...не забудьте поставить в конфиге параметр “useLegacyCompletionsEndpoint”: false, как указано выше. (Мы не предоставляем completions endpoint для прямого дополнения текстом, он устарел, и в целом поддерживается нечасто. Настройка позволит переправить запрос на chat/completions, который меньше подходит для автокомплита кода, но работает.)

Еще вариант – отключите автокомплит (частное мнение администрации: в целом другие инструменты Continue работают лучше, чем прямое автодополнение, на остальные функции это не повлияет)