Загрузка...

популярность в разделе «CLI агенты»

Вайб-кодинг в Forge: настройка терминального агента через RouterAI (Claude, GPT-6, DeepSeek)

Forge

Forge (проект tailcallhq/forgecode, сайт forgecode.dev) — терминальный coding-агент с открытым кодом. Он читает и правит файлы, запускает команды и работает в трёх режимах: интерактивный TUI, одноразовые запросы forge -p "..." и ZSH-плагин, где любой запрос начинается с : прямо в командной строке. В комплекте есть агенты для реализации, исследования кода и планирования, skills, семантический поиск по проекту и поддержка MCP-серверов.

Forge умеет работать с любым OpenAI-совместимым и Anthropic-совместимым API, поэтому RouterAI подключается как обычный провайдер. Вы получаете в одном агенте Claude, GPT, DeepSeek и GLM из каталога моделей, работу из России без VPN и оплату в рублях.

Требования

  • macOS, Linux или Windows; для ZSH-плагина нужен zsh
  • Node.js — только если ставите через npm
  • API-ключ из личного кабинета
  • Положительный баланс в Биллинге

Установка

Через npm (пакет forgecode):

npm install -g forgecode

Через Homebrew (формула forgecode есть в homebrew/core):

brew install forgecode

В README проекта также указана установка скриптом curl -fsSL https://forgecode.dev/cli | sh, но на момент написания статьи этот адрес отвечал 404 — используйте npm или Homebrew. Готовые бинарники для Linux, macOS и Windows лежат на странице Releases. На системах со старой glibc берите сборку musl (forge-x86_64-unknown-linux-musl): gnu-бинарник требует glibc 2.39.

Проверьте установку:

forge --version

1.00

Подключение к RouterAI

В Forge RouterAI добавляется как провайдер «OpenAICompatible». Base URL — https://routerai.ru/api/v1, ключ — из личного кабинета.

Интерактивный вход

  1. Запустите мастер входа: forge provider login.
  2. В списке провайдеров начните вводить compat и выберите OpenAICompatible.
  3. На запрос Enter OPENAI_URL введите https://routerai.ru/api/v1.
  4. На запрос Enter your OpenAICompatible API key вставьте ключ вида sk-xxxxxxxxxxxxxxxx.
forge provider login

1.00

1.00

1.00

После успешного входа Forge сообщает «OpenAICompatible configured successfully». Учётные данные хранятся в ~/.forge/.credentials.json. Список провайдеров и статус входа показывает forge provider list, выйти — forge provider logout.

Выбор модели по умолчанию

Провайдер и модель задаются одной командой. Идентификатор модели — тот же, что в каталоге:

forge config set model openai_compatible anthropic/claude-sonnet-5.5

Команда записывает выбор в глобальный конфиг ~/.forge/.forge.toml (путь выводит forge config path):

[session]
provider_id = "openai_compatible"
model_id = "anthropic/claude-sonnet-5.5"

Список моделей, которые Forge получает у RouterAI, показывает forge list model. Внутри сессии модель меняется командой :model.

Старый способ: переменные окружения

В документации Forge настройка через .env помечена как устаревшая, но при первом запуске Forge подхватывает переменные и переносит их в .credentials.json:

export OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxx"
export OPENAI_URL="https://routerai.ru/api/v1"
forge

После миграции Forge предупреждает, что больше не читает ключи из окружения, — дальше используется сохранённый файл. Если ключ в файле нужно заменить, повторите forge provider login.

Anthropic-совместимый API

Для моделей anthropic/* в списке есть провайдер AnthropicCompatible. Вход такой же, как для OpenAICompatible, но Forge запрашивает ANTHROPIC_URL и достраивает к нему путь /messages, поэтому в поле указывайте https://routerai.ru/api/v1 (на момент написания эта связка работала с anthropic/claude-haiku-5.5). Затем выберите модель командой forge config set model anthropic_compatible anthropic/claude-sonnet-5.5. Если нативный Messages API вам не нужен, оставайтесь на OpenAI-совместимом провайдере: он работает со всеми моделями каталога.

Не коммитьте .credentials.json и файлы с ключом в git. Не запускайте агент в папке с чужим непроверенным конфигом.

Три режима работы

Интерактивный TUI

Команда forge без аргументов открывает сессию в текущей папке. Печатаете задачу, Forge читает файлы, показывает diff правок, запускает команды и помнит контекст.

cd /path/to/your/project
forge

Полезные варианты запуска: forge -C /path/to/project (другая папка), forge --agent <id> (конкретный агент), forge --sandbox experiment (изолированный git worktree и ветка для рискованных экспериментов), forge --conversation-id <id> (вернуться к сохранённой беседе).

1.00

Одноразовый запрос

Флаг -p выполняет один запрос и возвращает управление оболочке — удобно для скриптов и быстрых вопросов:

forge -p "Объясни одной фразой, что делает invoices.js"
echo "Что делает этот проект?" | forge
forge commit              # сообщение коммита от ИИ по вашему diff
forge commit --preview    # только показать сообщение
forge suggest "найти большие лог-файлы"   # описание на русском → shell-команда

ZSH-плагин с префиксом :

Установите плагин один раз:

forge setup

Команда добавляет плагин и тему в .zshrc. После этого строки, начинающиеся с :, перехватываются Forge, а остальные команды работают как обычно:

: перепиши модуль авторизации на новый middleware   # запрос активному агенту
:ask как устроен слой кэширования?                  # агент sage: только чтение
:plan составь план миграции                         # агент muse: план в папку plans/
:commit                                             # коммит с сообщением от ИИ
:suggest найти файлы больше 100 МБ                  # команда появится в строке ввода

Три встроенных агента: forge (реализация, меняет файлы), sage (исследование, алиас :ask), muse (планирование, алиас :plan). Файлы прикрепляются так: введите @ и нажмите Tab — выбранный путь вставится как @[src/auth.js].

Беседы сохраняются и переключаются как каталоги: :new начинает новую, :conversation открывает выбор с превью, :conversation - возвращает к предыдущей, :clone ответвляет текущую, :retry повторяет последний запрос, :compact сжимает контекст. Если что-то не работает, forge doctor проверит окружение.

Skills и настройка агентов

Skills — переиспользуемые сценарии, которые агент вызывает как инструменты. Встроены create-skill, execute-plan и github-pr-description; список показывает :skill. Свой skill — это файл SKILL.md с YAML front-matter:

Где лежит Область
.forge/skills/<имя>/SKILL.md Только этот проект (высший приоритет)
~/forge/skills/<имя>/SKILL.md Все проекты

Постоянные инструкции для агентов — файл AGENTS.md в корне проекта (или ~/forge/AGENTS.md глобально): стиль кода, правила коммитов, чего не делать. Дополнительные агенты описываются файлами .md с YAML front-matter в .forge/agents/, а собственные команды — YAML-файлами в .forge/commands/; они вызываются как :имя. Пути приведены по README проекта; на вашей версии Forge глобальный каталог может называться ~/.forge.

Семантический поиск и MCP

Команда :sync (в CLI — forge workspace sync) индексирует проект, после чего агент ищет код по смыслу, а не только по тексту. Статус показывает :workspace-status.

Индексация отправляет содержимое файлов на сервер рабочих пространств, по умолчанию https://api.forgecode.dev. Запросы к моделям при этом идут через RouterAI, а индекс — нет. Не включайте индексацию для закрытых проектов, если это не допускается вашими правилами; адрес сервера можно заменить переменной FORGE_WORKSPACE_SERVER_URL.

MCP-серверы управляются командами forge mcp list, forge mcp import, forge mcp show, forge mcp remove и forge mcp reload. Вручную сервер описывается в файле .mcp.json в папке проекта (приоритет выше) или в ~/forge/.mcp.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["/path/to/mcp-server.js"],
      "env": { "ENV_VAR": "value" }
    },
    "remote": {
      "url": "http://localhost:3000/events"
    }
  }
}

Выбор модели

Идентификаторы проверены по каталогу RouterAI на момент написания; цены и актуальный список смотрите в каталоге. Для агента важна поддержка вызова инструментов — выбирайте модели с пометкой tools в каталоге.

Модель Для чего
anthropic/claude-sonnet-5.5 Основная модель для кода: фичи, отладка, рефакторинг среднего размера
anthropic/claude-haiku-5.5 Быстрые мелкие запросы, :commit и :suggest
openai/gpt-5.6-terra Альтернатива Claude от OpenAI: баланс качества и стоимости
deepseek/deepseek-v4.1-flash-1017 Дешёвые массовые правки и переименования
z-ai/glm-5.3 Недорогая альтернатива для рутинных задач и длинного контекста

Отдельные модели для коммитов и подсказок задаются командами forge config set commit <провайдер> <модель> и forge config set suggest <провайдер> <модель> — например, дешёвую для :commit и сильную для основной работы.

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

Самая быстрая проверка — одноразовый запрос из папки проекта:

forge -p "Ответь одной фразой: что делает файл invoices.js?"

Forge прочитает файл и вернёт ответ модели. Текущие провайдер и модель показывает forge info, а forge config get model выводит активную модель. Для интерактивной проверки запустите forge и дайте агенту небольшую задачу.

1.00

Решение проблем

401 Unauthorized

Ключ неверный или скопирован не полностью. Повторите forge provider login и вставьте ключ из личного кабинета. Если вы пользуетесь переменной OPENAI_API_KEY, помните: после первой миграции Forge берёт ключ из ~/.forge/.credentials.json, а не из окружения.

404 Not Found

Почти всегда виноват адрес в поле OPENAI_URL. Для OpenAI-совместимого провайдера нужен https://routerai.ru/api/v1 — с /v1 и без завершающего /chat/completions: Forge добавляет путь сам.

Модель не найдена

Проверьте, что id есть в каталоге и написан точно: anthropic/claude-sonnet-5.5, а не claude-sonnet-5.5. Выбор модели при этом идёт в паре с провайдером: forge config set model openai_compatible <id>.

402 Payment Required

Недостаточно средств на балансе — пополните его в разделе Биллинг.

На Linux бинарник не запускается: GLIBC_2.39 not found

Сборка gnu требует свежей glibc. Скачайте musl-вариант с страницы релизов или поставьте Forge через npm.

Агент не может запустить тесты

Forge выполняет команды в окружении, где вы его запустили. Если в нём нет Node.js, Python или другого рантайма, агент напишет код, но проверить его не сможет — установите нужные инструменты в тот же терминал.

Что дальше