Welcome to my personal place for love, peace and happiness 🤖

Cline и Continue: два подхода к AI-ассистенту в VS Code

За последние два года AI-ассистенты для программирования перестали быть экзотикой и превратились в рабочий инструмент миллионов разработчиков. Однако выбрать подходящий — задача нетривиальная. Cline и Continue — два самых популярных open-source решения для VS Code, и хотя оба ставят перед собой схожую цель, подходы у них принципиально разные.

Эта статья поможет разобраться, чем они отличаются, как настроить каждый из них и когда какой инструмент стоит использовать.


Cline: автономный агент

Cline — это автономный кодинг-агент, который живёт прямо в вашей IDE. Вы описываете задачу, а он читает файлы, вносит правки, запускает команды в терминале и повторяет цикл, пока задача не будет выполнена. Это ближайший open-source аналог Claude Code по стилю работы: агент владеет циклом выполнения, человек проверяет diff’ы.

Ключевые особенности:

  • Чтение и запись файлов — навигация по кодовой базе, создание файлов и точечные правки. Каждое изменение показывается в виде diff’а перед применением.
  • Выполнение команд — запуск shell-команд, тестов, установка пакетов и мониторинг вывода в реальном времени.
  • Браузер — headless-браузер для тестирования веб-приложений, скриншотов и отладки ошибок.
  • MCP-серверы — расширение возможностей через подключение внешних инструментов: баз данных, API, документации.
  • Любая модель — Claude, GPT-4, Gemini, DeepSeek, локальные Ollama или любой OpenAI-совместимый endpoint.

Каждое действие требует вашего подтверждения — это zero-trust архитектура, при которой код не покидает вашу машину. Cline распространяется под лицензией Apache 2.0 и недавно преодолел отметку в 5 миллионов установок.


Continue: ассистент, который остаётся в потоке

Continue — это open-source AI-ассистент, построенный вокруг чата, inline-правок и автодополнения. Здесь человек остаётся за рулём: модель помогает, но не берёт управление на себя.

Ключевые особенности:

  • Автодополнение кода — inline-подсказки прямо в редакторе, работающие на низкой задержке.
  • Чат и inline-редактирование — общение с моделью в боковой панели и правки прямо в файле.
  • Контекстные провайдеры — `@codebase`, `@file`, `@terminal` для запросов с учётом кода проекта.
  • Slash-команды — кастомные команды для типовых задач: ревью кода, генерация тестов, рефакторинг.
  • Гибкая конфигурация — всё управляется через единый `config.yaml`.

Continue — это middleware между редактором и LLM: расширение не поставляет собственную модель, а маршрутизирует запросы к тому провайдеру, который вы укажете. Проект поддерживает VS Code, JetBrains и Neovim, а его кодовая база остаётся открытой.


Сравнение: что выбрать

Характеристика Cline Continue
Философия Автономный агент — модель владеет циклом Ассистент — человек владеет циклом
Лицензия Apache 2.0 Open source
Автодополнение Нет Да (inline-подсказки)
Агентный режим Plan/Act с подтверждением каждого шага Есть, но вторичен
MCP Полная поддержка Полная поддержка
Конфигурация `cline_mcp_settings.json` (JSON) `config.yaml` (YAML)
Установок 5M+ Данные не раскрыты

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

Большинство разработчиков используют оба инструмента, переключаясь в зависимости от задачи.

Стоит упомянуть и о третьем игроке — Hermes. Это open-source AI-агент, который работает по протоколу Agent Client Protocol (ACP) и может быть подключён к VS Code, Zed или JetBrains через отдельное расширение ACP Client. Hermes CLI запускается как локальный подпроцесс, без облачного прокси, а расширение для VS Code стримит чат, выполняет инструменты и управляет сессиями. Главное отличие Hermes от Cline и Continue в том, что это не самостоятельное расширение с собственным интерфейсом, а агентный рантайм, который подключается к IDE через стандартизированный протокол. Подробнее о нём — в отдельной статье.


Установка и базовая настройка

Cline

Установка:

  1. Откройте VS Code и перейдите в Extensions (`Ctrl/Cmd + Shift + X`).
  2. Введите в поиске Cline.
  3. Установите расширение от `saoudrizwan` (ID: `saoudrizwan.claude-dev`).
  4. После установки нажмите на иконку Cline в Activity Bar. Если её не видно, перезапустите VS Code полностью.

Подключение провайдера:

Откройте настройки Cline и выберите провайдера. Можно использовать Cline Provider (pay-as-you-go), ClinePass (подписка) или подключить собственный API-ключ от Anthropic, OpenAI, OpenRouter или любого OpenAI-совместимого сервиса.

Continue

Установка:

  1. Откройте Extensions (`Ctrl/Cmd + Shift + X`).
  2. Найдите Continue и установите расширение от `Continue.dev`.

Настройка:

При первом запуске Continue предложит мастер настройки. Конфигурация хранится в файле `~/.continue/config.yaml` (macOS/Linux) или `%USERPROFILE%\.continue\config.yaml` (Windows). Открыть его можно из панели Continue: нажмите на иконку шестерёнки рядом с выпадающим списком моделей.

Если у вас остался старый `config.json`, его можно мигрировать в YAML — при наличии `config.yaml` расширение загрузит именно его.


Настройка кастомной модели в Continue

Одно из главных преимуществ Continue — возможность подключить любую модель через OpenAI-совместимый API. Вот пример конфигурации для подключения модели через прокси-сервис:

name: My Config
version: 1.0.0
schema: v1

models:
  - name: GLM 5.3 Flash via Proxy
    provider: openai
    model: z-ai/glm-5.3-flash
    apiBase: https://your-proxy-host.example.com/v1
    apiKey: ${{ secrets.PROXY_API_KEY }}
    roles:
      - chat
      - edit
      - apply
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4096
    capabilities:
      - tool_use

Ключевые моменты:

  • `apiBase` должен заканчиваться на `/v1` — Continue автоматически добавит `/chat/completions`.
  • `apiKey: ${{ secrets.PROXY_API_KEY }}` — ссылка на переменную из файла `.env`, который должен лежать рядом с `config.yaml`. Никогда не вписывайте ключ напрямую в конфиг.
  • `capabilities: [tool_use]` — явно включает поддержку вызова инструментов, необходимую для работы Agent mode. Без этого кнопки Plan и Act будут неактивны.

Настройка MCP-серверов

MCP (Model Context Protocol) — это стандарт, позволяющий подключать к агенту внешние инструменты: базы данных, API, системы управления задачами. Оба инструмента поддерживают MCP, но конфигурируются по-разному.

Cline

Файл конфигурации: `cline_mcp_settings.json`. Открыть его можно через панель Cline: нажмите на иконку MCP Servers, перейдите на вкладку Configure и нажмите Configure MCP Servers.

Пример подключения локального MCP-сервера:

{
  "mcpServers": {
    "trino": {
      "command": "mcp-trino",
      "args": [],
      "env": {
        "TRINO_HOST": "192.168.3.81",
        "TRINO_PORT": "8080",
        "TRINO_USER": "trino",
        "TRINO_PASSWORD": "",
        "TRINO_CATALOG": "tpcds",
        "TRINO_SCHEMA": "sf10",
        "TRINO_SSL": "false",
        "TRINO_SCHEME": "http"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Для удалённых серверов используйте `“type”: “streamableHttp”` и поле `“url”`.

Continue

MCP-серверы добавляются в тот же `config.yaml`, где настраиваются модели, либо в отдельные файлы в папке `.continue/mcpServers/`.

Пример:

mcpServers:
  - name: Trino
    command: mcp-trino
    env:
      TRINO_HOST: "192.168.3.81"
      TRINO_PORT: "8080"
      TRINO_USER: "trino"
      TRINO_PASSWORD: ""
      TRINO_CATALOG: "tpcds"
      TRINO_SCHEMA: "sf10"
      TRINO_SSL: "false"
      TRINO_SCHEME: "http"

После сохранения конфигурации полностью перезапустите VS Code — оба расширения подхватывают MCP-серверы только при старте.


MCP-серверы для Trino: что выбрать

Trino — это распределённый SQL-движок для аналитических запросов к большим данным. Подключение MCP-сервера для Trino даёт AI-агенту возможность исследовать каталоги, выполнять запросы и анализировать планы выполнения прямо из чата. Для Trino существует несколько MCP-серверов, которые можно разделить на две категории: легковесные Python-серверы и высокопроизводительные Go-серверы.

Python-серверы (быстрый старт)

`trino-mcp` — самый функциональный и простой в настройке Python-сервер, который хорошо подходит для большинства задач. Поддерживает OAuth2 и Basic Auth, по умолчанию разрешает только `SELECT`-запросы (для записи нужно явно установить `ALLOW_WRITE_QUERIES=true`), автоматически добавляет комментарии в запросы с именем пользователя для аудита, а также умеет экспортировать результаты в JSON или CSV.

Установка через `uvx`:

uvx trino-mcp

Пример конфигурации для Continue:

mcpServers:
  - name: Trino
    command: uvx
    args:
      - "trino-mcp"
    env:
      TRINO_HOST: "your-trino-host"
      TRINO_PORT: "8080"
      TRINO_USER: "your-user"

`alaturqua/mcp-trino-python` — сервер, ориентированный на работу с Trino и Iceberg. Предоставляет расширенные возможности для исследования данных и обслуживания таблиц Iceberg, поддерживает три режима транспорта (`stdio`, `streamable-http`, `sse`) и имеет готовый `Dockerfile` для быстрого развёртывания.

Go-серверы (для продакшена)

`txn2/mcp-trino` — это, пожалуй, самый мощный и функциональный MCP-сервер для Trino. Он даёт AI-ассистентам безопасный, структурированный доступ к Trino и любым Trino-совместимым движкам. По умолчанию работает в режиме только для чтения, поддерживает ограничения на количество строк и таймауты запросов, а также имеет опциональный семантический слой для отображения бизнес-описаний, владельцев и маркеров чувствительности данных из DataHub или других каталогов метаданных.

Ключевые особенности:

  • Выполнение SQL-запросов — `SELECT`, `SHOW`, `DESCRIBE` с настраиваемыми лимитами и таймаутами.
  • Анализ планов выполнения — логические, распределённые и I/O-планы запросов.
  • Просмотр схем — навигация по каталогам, схемам и таблицам.
  • Описание таблиц — определения колонок с опциональными примерами данных.
  • Мультикластерность — запросы к нескольким серверам Trino из одной установки через `TRINO_ADDITIONAL_CONNECTIONS`.
  • Библиотека для Go — можно импортировать как Go-пакет и собрать собственный MCP-сервер с кастомной аутентификацией и аудитом.

Установка через Homebrew:

brew install txn2/tap/mcp-trino

Пример конфигурации для Cline:

{
  "mcpServers": {
    "trino": {
      "command": "mcp-trino",
      "args": [],
      "env": {
        "TRINO_HOST": "your-trino-host",
        "TRINO_PORT": "8080",
        "TRINO_USER": "trino",
        "TRINO_PASSWORD": "",
        "TRINO_CATALOG": "hive",
        "TRINO_SCHEMA": "default",
        "TRINO_SSL": "false",
        "TRINO_SCHEME": "http"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Пример конфигурации для Continue:

mcpServers:
  - name: Trino
    command: mcp-trino
    env:
      TRINO_HOST: "your-trino-host"
      TRINO_PORT: "8080"
      TRINO_USER: "trino"
      TRINO_PASSWORD: ""
      TRINO_CATALOG: "hive"
      TRINO_SCHEMA: "default"
      TRINO_SSL: "false"
      TRINO_SCHEME: "http"

Важные параметры `mcp-trino`:

  • Подключение: обязательные переменные — `TRINO_HOST`, `TRINO_USER`. Порт по умолчанию: `8080` для HTTP или `443` для HTTPS.
  • Режим только для чтения: включён по умолчанию. Для записи установите `TRINO_ALLOW_WRITE=true`.
  • SSL: если Trino работает по HTTP, обязательно установите `TRINO_SSL: “false”` и `TRINO_SCHEME: “http”`, иначе сервер попытается использовать HTTPS и выдаст ошибку `invalid URL escape “%2F”`.

Что выбрать?

  • Для быстрого старта: начните с `trino-mcp` (Python). Он легко устанавливается через `uvx` и имеет безопасные настройки по умолчанию.
  • Для работы с Iceberg: обратите внимание на `alaturqua/mcp-trino-python`, если ваша основная задача — исследование и обслуживание таблиц Iceberg.
  • Для продакшена: выбирайте `txn2/mcp-trino` (Go), если нужна высокая производительность, поддержка нескольких кластеров и возможность встраивания в собственные приложения.

Типичные проблемы и их решения

Модель не появляется в Continue после добавления в конфиг.
Проверьте, что файл `.env` существует и лежит в той же папке, что `config.yaml`. Имя переменной в `.env` должно точно совпадать с именем в `${{ secrets.ИМЯ }}`.

Кнопки Plan и Act неактивны.
Добавьте `capabilities: [tool_use]` в блок модели. Без этой способности Continue блокирует агентные режимы.

Ошибка `401 status code (no body)`.
Ключ API не распознан. Проверьте, что `apiBase` заканчивается на `/v1`, ключ действителен и имеет положительный баланс.

MCP-сервер не подключается с ошибкой `invalid URL escape “%2F”`.
Сервер пытается использовать HTTPS, хотя Trino работает по HTTP. Добавьте `TRINO_SSL: “false”` и `TRINO_SCHEME: “http”` в переменные окружения MCP-сервера.

Модель зависает после долгих раздумий в Agent mode.
Скорее всего, прокси-сервис не передаёт `tool_calls` в потоковом режиме. Проверьте это через `curl` с `“stream”: true` и имитацией вызова инструмента. Если `tool_calls` в потоке нет — попробуйте отключить стриминг через `config.json` или использовать модель с нативной поддержкой function calling.


Заключение

Cline и Continue решают разные задачи, и это их главное достоинство. Cline — это автономный агент, которому можно делегировать крупные задачи и вернуться к готовому результату. Continue — это ассистент, который помогает здесь и сейчас, не забирая контроль.

Оба инструмента бесплатны, оба поддерживают MCP и работают с любой моделью. С помощью MCP-серверов, таких как `txn2/mcp-trino`, вы можете подключить к агенту Trino и работать с данными прямо из чата — без переключения между окнами и ручного написания запросов.

Начните с того инструмента, который ближе к вашему стилю работы, — а когда освоитесь, попробуйте второй. Большинство разработчиков в итоге используют оба.

Follow this blog
Send
Share
Tweet
Pin