Программирование

Как использовать Cline и Roo Code в качестве AI-ассистента для кода?

Почти год назад в нашей публикации на Хабр  подборку AI-ассистентов для кода, сегодня же нам хотелось бы сосредоточить внимание на одном конкретном, а именно — Cline, номер 1 на OpenRouter. Предлагаем вместе пробежаться по настройке и интеграции, а также использовании Cline в качестве ИИ-ассистента. А также мы поговорим про Roo Code — форке Cline, но совсем немного, поскольку они идентичны в настройке и функционале.

Cline

Cline

, как вы поняли, это AI-ассистент для разработки, который можно интегрировать в редактор кода (VSCode например). Ключевая особенность Cline — возможность выполнения команд непосредственно в терминале редактора, что в сочетании с инструментами для создания и редактирования файлов, навигации по проектам и управления браузером, позволяет ассистенту решать сложные задачи разработки комплексно. Все действия, включая команды терминала, требуют подтверждения пользователя, что обеспечивает полный контроль действий ассистента. В основе Cline лежит MCP, который дает возможность расширять функциональность ассистента, создавая кастомные инструменты под специфические рабочие процессы.
Для понимания задачи, Cline анализирует структуру проекта, AST исходного кода, применяет поиск регулярных выражений и изучает релевантные файлы, что позволяет эффективно работать даже с крупными проектами, не перегружая модель. На основе контекста, Cline способен создавать, редактировать и рефакторить код, автоматически исправляя типичные ошибки вроде отсутствующих импортов или синтаксических неточностей, отслеживая ошибки компилятора в реальном времени. Для задач веб-разработки Cline может управлять браузером, выполняя навигацию, ввод данных, и захват скриншотов и логов консоли. Помимо этого, интеграция с терминалом VSCode позволяет Cline выполнять широкий спектр команд: от управления зависимостями и сборкой проектов до развертывания и тестирования приложений. Для длительных процессов, вроде запуска серверов разработки, есть фоновый режим выполнения команд.Cline поддерживает различные API-провайдеры, включая OpenRouter, совместимые с OpenAI API, например, BotHub API, а также локальный запуск моделей через LM Studio или Ollama, что позволяет использовать локальные модели, типа завирусившихся DeepSeek v3 или r1. В процессе работы ведется учет потребления токенов и стоимости API как для задачи в целом, так и для отдельных запросов, обеспечивая прозрачность расходов.Для более точного управления контекстом запросов, Cline предлагает специальные команды: @url для добавления контента веб-страниц, @problems для включения ошибок и предупреждений из рабочей области, @file и @folder для быстрого добавления содержимого файлов и папок. Для безопасного исследования различных подходов к решению задач, Cline использует систему контрольных точек, позволяющую сравнивать состояния рабочего пространства на разных этапах и восстанавливать предыдущие версии.

Roo Code

Roo Code

 — это форк Cline, унаследовавший его ключевые функции: терминал, файловые операции, навигацию по проекту и управление браузером. Как и Cline, Roo Code анализирует код, помогает в написании, рефакторинге и отладке, поддерживает различные API и локальные модели, обеспечивая контроль и прозрачность расходов. Главное отличие Roo Code — пользовательские режимы. Вместо фиксированных режимов Cline, Roo Code позволяет создавать собственные "личности" AI-ассистента, точно настраивая инструкции и инструменты под конкретные задачи и роли (QA, PM и т.д.). Roo Code также добавляет интеграцию Code Actions в VSCode для быстрого доступа к функциям ассистента прямо в редакторе, ручное переключение заранее настроенных режимов между собой и расширенные настройки промптов.

Как начать работу с Cline (и Roo Code)?

Конечно, чтобы приступить к настройке, у нас должен быть установлен VSCode на компьютере. И далее, по сути, будем следовать  Cline.

1. Устанавливаем расширение Cline (или Roo Code)

Запустим VSCode и перейдем в Extensions на боковой панели Activity Bar, либо можем нажать Cmd+Shift+X (macOS) / Ctrl+Shift+X (Windows/Linux). Далее, в поле поиска Extensions Marketplace введем "Cline" (или "Roo Code", если хотим установить Roo Code). В результатах поиска найдем нужное расширение и нажмем кнопку "Install".
Cline

2. Открываем Cline (или Roo Code) в VSCode

После установки расширения, есть несколько способов открыть Cline / Roo Code в VSCode:
  • Через иконку в Activity Bar: после установки и перезапуска VSCode (если потребуется), в Activity Bar должна появиться иконка Cline (или Roo Code). Нажмем на нее, чтобы открыть ассистента.
  • Через командную строку: нажмем сочетание клавиш Cmd+Shift+P (macOS) / Ctrl+Shift+P (Windows/Linux), чтобы открыть командную строку. Введем в командной строке "Cline: Open In New Tab" (или "Roo Code: Open In New Tab") и выбираем нужный пункт, чтобы открыть ассистента в новой вкладке редактора.
Cline

3. Настраиваем API Provider

При первом открытии Cline (или Roo Code) нам будет предложено настроить API Provider.В выпадающем меню "API Provider" выбираем подходящий вариант. Для начала можно выбрать "OpenAI Compatible" (если планируем использовать, например, BotHub, или свой собственный OpenAI-совместимый сервер) или "OpenRouter" (для доступа через OpenRouter). Если вы хотите использовать локальную модель, выберите "LM Studio" или "Ollama" (нужно предварительно установить и настроить LM Studio или Ollama);В зависимости от выбранного API Provider, нам потребуется ввести соответствующие данные (Base URL, API Key, Model ID). Для "OpenAI Compatible" (в нашем случае BotHub API):
Base URL: вводим адрес API - https://bothub.chat/api/v2/openai/v1;API Key: получаем и вставляем свой API-ключ. Для Bothub API, его нужно сгенерировать на странице ;Model ID: вводим идентификатор модели. Список моделей и их ID для Bothub можно найти на странице ;
Для "OpenRouter":
API Key: нам нужен API-ключ OpenRouter. Вам также потребуется пополнить баланс OpenRouter;Model ID: выбираем модель из выпадающего списка "Model ID". Cline (и Roo Code) автоматически подгружают список доступных моделей OpenRouter;
Для "LM Studio" или "Ollama":
Base URL: указываем URL локального сервера LM Studio (обычно http://localhost:1234) или Ollama (обычно http://localhost:11434);Model ID: выбираем загруженную нами локальную модель из выпадающего списка "Model ID".
API Provider

4. Тестируем Cline (или Roo Code)

После настройки API, давайте протестируем вашего AI-ассистента, задав ему простую задачу. В поле чата Cline (или Roo Code) введем запрос, например:
Создай папку проекта с именем "test_project" в текущей директории и напиши небольшой скрипт на Python для реализации простого калькулятора (сложение, вычитание, деление, умножение) в терминале.

Нажмем Enter и Cline (или Roo Code) начнет обрабатывать наш запрос и выполнять задачу:
AI-ассистент

Примеры использования

У нас есть простой скрипт и простые задачи, чтобы попробовать Cline в действии. Мы будем пробовать qwen-2.5-coder-32b-instruct, потому что дешево и качественно.
Напиши юнит-тесты для модуля app.py, используя unittest и сохрани их в файл test_todo.py
Cline
Все достаточно шустро и, что важно, итеративно. Cline приступил к работе, запуская тесты, сталкиваясь с ошибками (в данном случае, из-за отсутствия библиотеки flask_testing), и предлагая решения, включая установку зависимостей. После установки, Cline вновь запускал тесты, продолжая отладку до тех пор, пока все тесты не были пройдены успешно. Ключевым моментом является то, что Cline на каждом этапе запрашивал подтверждение пользователя на каждое действие, не предпринимая ничего самостоятельно.Хотя в данном примере с qwen-2.5-coder-32b-instruct Cline успешно справился с задачей, стоит отметить, что для более сложных рабочих задач, Cline может потребовать более подробных промптов и, возможно, не сможет решить задачу или решит только частично. Тут уже помогут более мощные модели, типа claude-3.5-sonnet.
Собери проект и разверни его на локальном тестовом сервере, запусти сервер в фоновом режиме и покажи URL приложения
Cline
Довольно типичная рутинная задача, и Cline справился с ней довольно эффективно. Как и в предыдущем примере, Cline запрашивал подтверждение пользователя на каждое действие, обеспечивая прозрачность и контроль. Корректно подобрал команды для сборки и запуска Flask-приложения с использованием gunicorn, обеспечил запуск сервера в фоновом режиме, и предоставил URL для доступа к приложению, точно выполнив все пункты запроса.

Так почему именно Cline / Roo Code?

У Cline много отличий и преимуществ. Например, стоит начать с того, что Cline абсолютно бесплатен: это опенсорс. То есть не нужно оформлять какие-либо подписки, вносить ежемесячные платежи и прочее. Доступность для кошелька любой толщины с простой настройкой и интеграцией.А здесь стоит еще упомянуть и то, что Cline и Roo Code поддерживают локальное модели, то есть, как мы сказали ранее, можно спокойно запускать сильные китайские LLM вроде  или  и использовать агента полностью бесплатно без затрат на токены / API, не теряя в качестве (но этот вариант, конечно, для людей с хорошим железом, хотя стоит учесть и то, что тот же deepseek имеет вариативность моделей от 1,5 параметров до 70 млрд, то есть если пк не шибко мощный, то можно обратиться к небольшим размерам / квантовым версиям)Далее, мы, конечно, хотим сказать и про возможность работы через OpenRouter / OpenAI Compatible. Здесь стоит начать с того, что вы спокойно через API можете обращаться к o3-mini / o1 / claude-3.7-sonnet / deepseek r1, в то время как тот же Copilot за 10$ в месяц обходится дороже и качество, в сравнении с ранее упомянутыми примерами моделей по API, гораздо ниже. Но ведь на OpenRouter не так-то просто пополнить баланс, да и вообще, вместо 3% комиссии, за пополнение со сторонних ресурсов, отдашь 15% или даже больше. А здесь и хочется говорить про совместимые с OpenAI API, в статье мы, например, используем BotHub API, при этом использование по API идет с самой низкой наценкой в РФ.Итак, что мы имеем в итоге? Cline и Roo Code — это еще одни AI-ассистенты для кода. Но они бесплатные и опенсорсные, поддерживают локальные модели, гибкие в выборе API, и, в целом стоящие внимания AI-агенты, способные автоматизировать не только написание кода, но и рутинные задачи сборки, тестирования и развертывания.Если не пробовали, но искали своего AI-ассистента, то рекомендуем как минимум ознакомиться, настройка простая, а профит точно получите, особенно, если до этого сидели, например, на Copilot, или вообще не пробовали заручиться помощью агентов.