У вас есть база клиентов в PostgreSQL или MongoDB, но чтобы получить оттуда отчёт - нужно просить разработчика. Или ждать неделями. Cline - это AI-агент, который сам подключается к вашей базе, пишет запросы и даже создаёт код. Без найма программиста. Разберём, как это настроить за вечер.
Как AI-агент принимает решения и что он видит
Cline - это расширение для редактора кода VS Code. Он не просто болтает, а реально редактирует файлы и запускает команды. Понимание его логики поможет предсказывать, что он сделает, и не допускать ошибок.
Cline работает по циклу: восприятие, рассуждение, действие, наблюдение.
Восприятие. Агент получает задачу от вас и формирует начальный контекст. В контекст попадают: системные инструкции, содержимое файла правил .clinerules, история разговора, список файлов в папке.
Рассуждение. Модель (Claude, GPT, DeepSeek - что выбрали в настройках) анализирует контекст и решает, какое действие выполнить следующим. Это не алгоритм с гарантией - это вывод языковой модели. Поэтому одна и та же задача может дать разные результаты.
Действие. Cline выполняет одно из 12 действий: прочитать файл, записать файл, применить изменение, запустить команду в терминале, поискать файлы, показать список файлов, управлять браузером, и ещё несколько для работы с MCP и API.
Наблюдение. Cline видит результат действия (содержимое файла, вывод команды, ошибку) и возвращается к шагу рассуждения для следующего действия.
Каждый шаг действия показывается в панели Cline до выполнения. Это ключевой момент безопасности: вы всегда знаете, что агент собирается сделать.
Практическое следствие: если агент делает что-то неожиданное, смотрите на шаг рассуждения в логах. Часто неточная формулировка задачи приводит к неверному выводу модели.
Подключение к вашей базе данных: PostgreSQL, Supabase, MongoDB за 15 минут
Для большинства баз данных уже есть готовые решения - писать с нуля не нужно. Просто скопируйте настройку.
Разберём на примере стройфирмы. У вас есть база PostgreSQL с заказами и клиентами. Вы хотите, чтобы агент мог посмотреть, какие объекты в работе, и сформировать отчёт. Вот как это настроить.
PostgreSQL:
{
"postgres": {
"command": "npx",
"args": [
"@modelcontextprotocol/server-postgres",
"postgresql://user:password@localhost:5432/mydb"
]
}
}
После подключения Cline может:
- Выполнять SQL-запросы
- Смотреть схему таблиц
- Генерировать модели по существующей схеме
Пример задачи:
посмотри схему таблицы orders и создай Prisma-модель со всеми индексами
Supabase:
{
"supabase": {
"command": "npx",
"args": ["@supabase/mcp-server-supabase"],
"env": {
"SUPABASE_URL": "https://project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "eyJ..."
}
}
}
Supabase MCP даёт доступ не только к БД, но и к Auth, Storage и Edge Functions.
MongoDB:
{
"mongodb": {
"command": "npx",
"args": ["@mongodb-js/mcp-server-mongodb"],
"env": {
"MDB_MCP_CONNECTION_STRING": "mongodb://localhost:27017"
}
}
}
Безопасность. Используйте только пользователей с правами на чтение для боевых баз. Создайте отдельного пользователя с правами только на чтение и подключайте Cline через него.
Написание своего инструмента за 30 минут
Свой инструмент нужен, когда стандартных недостаточно: хотите подключить Cline к внутреннему API компании, корпоративной базе данных или специфическому сервису.
Разберём на примере турагентства. У вас есть внутренняя система бронирования с API. Вы хотите, чтобы агент мог по ID клиента получать его данные и предлагать подходящие туры. Вот минимальный инструмент на TypeScript.
Сначала создаём папку проекта и устанавливаем SDK.
mkdir my-mcp-server && cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk
Это основной файл сервера. Он регистрирует инструмент и обрабатывает вызовы от Cline.
// src/index.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
const server = new Server(
{ name: "my-company-api", version: "1.0.0" },
{ capabilities: { tools: {} } }
);
// Регистрируем инструмент
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{
name: "get_user_info",
description: "Получить информацию о пользователе по ID",
inputSchema: {
type: "object",
properties: {
user_id: { type: "string", description: "ID пользователя" }
},
required: ["user_id"]
}
}]
}));
// Обрабатываем вызов
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "get_user_info") {
const userId = request.params.arguments?.user_id as string;
// Ваш API-вызов
const user = await fetchUserFromInternalAPI(userId);
return { content: [{ type: "text", text: JSON.stringify(user) }] };
}
throw new Error(`Unknown tool: ${request.params.name}`);
});
// Запуск
const transport = new StdioServerTransport();
await server.connect(transport);
Сборка и подключение к Cline. Команда ниже компилирует TypeScript в JavaScript.
npm run build
В настройках Cline (MCP Servers):
{
"my-company-api": {
"command": "node",
"args": ["/path/to/my-mcp-server/dist/index.js"]
}
}
Транспорт SSE (Server-Sent Events) вместо stdio - когда сервер должен работать как HTTP:
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
// Запускается на localhost:3000, принимает Cline через HTTP
SSE подходит для серверов, которые должны работать постоянно или быть доступны нескольким клиентам одновременно.
Командный режим: общие правила и журнал действий
Когда вся команда использует Cline, важна согласованность: одинаковые правила, одинаковые ограничения, общий аудит.
Общий .clinerules в репозитории. Файл .clinerules в корне репозитория читается всеми разработчиками команды автоматически. Это централизованные правила для агента.
Многоуровневые правила. Пример файла .clinerules для Python-проекта.
# .clinerules
## Технический стек
- Python 3.11, FastAPI, SQLAlchemy 2.0
- Тесты: pytest (coverage > 80%)
- Linting: ruff
## Обязательно
- Новый API конечная точка API = новый тест
- Все DB-запросы через ORM, не raw SQL
- Комментарии только на русском
## Запрещено
- Менять файлы в /migrations/ без явного запроса
- Устанавливать новые пакеты без согласования
- Изменять .env.example без Ticket
Личные настройки остаются у каждого разработчика в ~/.clinerules (глобальный файл) - личные предпочтения, которые не нужны команде.
Журнал действий. Cline записывает историю всех действий агента в файл. Путь: в настройках расширения, раздел «Task History». Можно экспортировать в JSON.
Для корпоративного аудита настройте провайдер через Azure OpenAI или AWS Bedrock - они пишут все запросы в журналы Cloud Audit Logs.
Контроль расходов: бюджет на задачу и сравнение провайдеров
Расходы на Cline легко выходят из-под контроля без явных лимитов.
Бюджет на задачу в настройках Cline: Settings -> Cline -> Max Task Cost -> $2.00
Если задача превышает лимит, Cline остановится и спросит: «Потрачено $2.00. Продолжить?»
Мониторинг в реальном времени. В нижней части панели Cline всегда показан текущий расход на задачу в долларах и токенах.
Сравнение реальной стоимости задачи по провайдерам:
Тестовая задача: «добавь JWT-аутентификацию в FastAPI-приложение (5 файлов, ~200 строк изменений)».
- Claude Sonnet 4: ~$0.80-1.20
- GPT-4o: ~$0.60-0.90
- DeepSeek Coder V3: ~$0.05-0.10
- Qwen2.5 Coder 32B (Ollama): $0 (только электричество)
Для типичной команды из 5 разработчиков, делающих 5 таких задач в день:
- Claude Sonnet: $100-150/мес
- DeepSeek Coder: $6-12/мес
Стратегия распределения. DeepSeek для рутины (тесты, документация, рефакторинг по шаблону), Claude Sonnet для сложной логики и архитектурных задач. В Cline модель переключается одним кликом в панели.
Cline в CI: запуск агента из GitHub Actions
Cline можно запускать без графического интерфейса через CLI без VS Code:
npx cline-cli --task "исправь все TypeScript ошибки" \
--model claude-sonnet-4 \
--api-key $ANTHROPIC_API_KEY \
--auto-approve-reads \
--budget 5.00
GitHub Actions workflow. Этот файл запускает Cline автоматически при комментарии /ai-fix в Issue.
name: AI Code Fix
on:
issue_comment:
types: [created]
jobs:
fix:
if: contains(github.event.comment.body, '/ai-fix')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Cline
run: |
npx cline-cli \
--task "${{ github.event.comment.body }}" \
--model deepseek-coder \
--api-key ${{ secrets.DEEPSEEK_API_KEY }} \
--auto-approve-reads \
--budget 2.00
- name: Create PR
uses: peter-evans/create-pull-request@v5
with:
title: "AI Fix: ${{ github.event.issue.title }}"
Команда /ai-fix переименуй все переменные camelCase в snake_case в комментарии к Issue запустит агента автоматически.
Ограничения режима CI: нет доступа к браузеру, нет интерактивного подтверждения. Устанавливайте жёсткий бюджет через --budget и используйте --auto-approve-reads (авто-одобряется только чтение). Для записи файлов всё равно нужно --auto-approve-writes.
Сложные многошаговые задачи: разбиение, контрольные точки, восстановление
Для задач, которые занимают 30+ минут и затрагивают десятки файлов, нужен структурированный подход.
Разбиение задачи в .clinerules:
## Правила для больших задач
Если задача затрагивает более 5 файлов:
1. Сначала спроси пользователя о подтверждении плана
2. Работай по одному логическому блоку за раз
3. После каждого блока - краткая сводка того, что сделано
Явное разбиение задачи на шаги:
Сделай следующее по шагам:
Шаг 1: только прочитай все файлы auth/ и опиши архитектуру
Шаг 2 (после моего ОК): создай план рефакторинга
Шаг 3 (после моего ОК): выполни рефакторинг
Контрольные точки через Git. После каждого крупного шага просите Cline зафиксировать прогресс:
сделай git commit с сообщением "WIP: step 1 complete - auth module analyzed"
Восстановление после сбоя агента. Если задача прервалась (ошибка API, лимит токенов, потеря соединения):
посмотри git log и последние изменения в файлах.
опиши что уже сделано и что осталось.
продолжи с шага [N].
Cline восстанавливает контекст из файловой системы и Git-истории - не из памяти сессии, которой нет.
Безопасность: изоляция агента от боевых данных и секретов
Cline работает в рабочей директории VS Code. Первое правило безопасности: никогда не открывать в VS Code папку с прямым доступом к боевым данным.
Изоляция на уровне .clinerules:
## Запрещено
- Никогда не читать и не изменять файлы: .env, .env.боевая среда, secrets/
- Никогда не запускать команды с флагом --боевая среда
- Никогда не делать прямые запросы к боевой базе
.gitignore как второй уровень защиты. Файлы в .gitignore Cline всё равно может прочитать - он работает с файловой системой, не с Git. Для надёжности создайте .clineignore (аналог .aiderignore) с явным списком исключений.
Отдельное рабочее пространство VS Code для Cline. Открывайте только нужную подпапку проекта, не корень монорепо с секретами: File, Open Folder, packages/api вместо корня.
Отдельные API-ключи для CI. Для GitHub Actions используйте отдельный API-ключ с лимитом расходов в настройках Anthropic Console - не тот же ключ, что в личной работе.
Аудит действий. Перед важными задачами включайте ручное подтверждение - это единственный способ гарантированно видеть каждое действие агента.
Частые вопросы
MCP-сервер - это сложно? Нужно ли знать специальный язык?
Минимальный MCP-сервер на TypeScript - 50-70 строк кода. Нужны базовые знания Node.js или Python (есть SDK для обоих языков). Если не хотите писать с нуля, посмотрите на готовые серверы в реестре modelcontextprotocol.io - для большинства типичных задач там уже что-то есть.
Как ограничить Cline, чтобы он не трогал определённые папки или файлы?
Два механизма: правило в .clinerules («не изменять /legacy/») и файл .clineignore в корне проекта с паттернами исключений. Правило в .clinerules - мягкое ограничение (агент следует инструкции). .clineignore - жёсткое исключение на уровне инструмента.
Cline в CI - насколько это стабильно и как обрабатывать сбои агента?
Cline CLI в CI стабилен при соблюдении условий: явный бюджет, таймаут задачи, детерминированные задачи (не «сделай что-нибудь хорошее»). Сбои случаются при превышении бюджета, ошибках API или слишком размытой задаче. Всегда добавляйте continue-on-error: true и уведомление при сбое.
Как логировать все действия Cline для аудита в корпоративной среде?
Cline записывает историю задач в папку расширения (путь в настройках, раздел Task History). Для централизованного аудита настройте провайдер через Azure OpenAI или AWS Bedrock - эти сервисы пишут все запросы в журналы Cloud Audit Logs. Для дополнительного контроля используйте корпоративный прокси на базе OpenRouter, который пишет все запросы в вашу систему.
Что делать, если агент застрял в цикле и не может решить задачу?
Первый шаг - кнопка Abort в панели Cline. Второй - посмотреть на последние 5-10 шагов и понять, где агент «зациклился». Обычно это признак неточной формулировки задачи или недостатка контекста. Переформулируйте с меньшим объёмом: вместо «исправь проблему» - «прочитай лог ошибки и предложи 3 варианта решения». Решайте по шагам, не одной большой командой.
Что дальше
Попробуйте прямо сейчас: скачайте VS Code, установите расширение Cline, подключите свою базу через готовый MCP-сервер из списка выше. Начните с задачи «посмотри структуру таблицы clients и покажи 5 последних записей». Бюджет на эксперимент - $1.
AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.