Терминальный агент для разработки с российскими LLM и свободным выбором провайдера.
Выберите GigaChat, Yandex AI Studio, OpenRouter, локальную модель (Ollama, llama.cpp, MLX, LM Studio на вашем компьютере) или свой OpenAI-совместимый API, подключите ключ и опишите задачу. rcode изучает проект, редактирует файлы, запускает команды и проверяет результат. Написан на Rust, интерфейс и справка — на русском.
GigaChat-3-Ultra создаёт небольшое приложение на FastAPI и проверяет его тестами. Запись настоящего CLI; паузы ожидания сокращены.
На macOS и Linux с Homebrew:
brew install adw0rd/tap/rcodeДля обновления:
brew update
brew upgrade adw0rd/tap/rcodeПосле обновления перезапустите rcode. Настройки, ключи и сессии сохраняются отдельно от бинарника.
Скачайте архив для своей платформы со страницы релизов, распакуйте и добавьте rcode в PATH.
| Платформа | Архитектура архива |
|---|---|
| macOS, Apple Silicon | aarch64-apple-darwin |
| macOS, Intel | x86_64-apple-darwin |
| Linux, glibc 2.35+ | x86_64-unknown-linux-gnu |
| Windows | x86_64-pc-windows-msvc |
Или установите из исходников с Rust 1.88+:
cargo install --git https://github.com/adw0rd/rcode.git --lockedПерейдите в папку проекта и запустите:
rcodeПри первом запуске мастер предложит провайдера, ссылку для получения ключа и список моделей. Ключ вводится скрыто и сохраняется локально. После подключения просто напишите задачу:
Создай приложение на FastAPI с GET /health и GET /greet?name=Мир.
Добавь тесты и проверь, что они проходят.
Для другой папки: rcode -C /путь/к/проекту. Для переключения модели используйте /model: последняя выбранная модель стоит первой, её можно принять нажатием Enter. /provider переключает провайдера и показывает доступные балансы в скобках.
| Провайдер | Подключение | Что понадобится |
|---|---|---|
| GigaChat | rcode connect gigachat |
Authorization Key и выданный Scope, например GIGACHAT_API_PERS |
| Yandex AI Studio | rcode connect yandex |
Секретный API-ключ и Folder ID каталога Yandex Cloud |
| OpenRouter | rcode connect openrouter |
API-ключ; модели выбираются из каталога провайдера |
| Свой API | rcode connect custom |
OpenAI-совместимый endpoint и ключ |
| Локальная модель | rcode connect local |
Запущенный вами сервер Ollama, llama.cpp, MLX или LM Studio на 127.0.0.1; ключ не обязателен |
Для GigaChat сертификат подключается автоматически, access token обновляется без участия пользователя. У Yandex идентификатор API-ключа и Folder ID — разные значения: нужен ID каталога.
Нужны собственный API-ключ и баланс или квота провайдера. Подписка на веб-чат не заменяет доступ к API. Для работы агента выбирайте модель с вызовом инструментов; для скриншотов — с поддержкой изображений. Список доступных моделей: rcode models --provider gigachat.
rcode подключается к уже запущенному OpenAI-совместимому серверу на этом компьютере. Сервер и модель запускаете вы: rcode ничего не скачивает и не меняет настройки сервера.
rcode local discover # 127.0.0.1:11434, :8080 и :1234
rcode local add qwen --base-url http://127.0.0.1:11434/v1 --model qwen3:8b --activate
rcode exec --profile qwen 'Объясни структуру проекта'В диалоге: /provider → local → профиль или «Найти локальные серверы» → модель. Профилей может быть несколько, активный сохраняется.
- Адрес — только 127.0.0.1, localhost или ::1. Удалённые API подключайте через
custom. - Ключ необязателен. Если сервер его требует, передайте ключ не короче 8 символов:
--api-key-stdinпри добавлении илиrcode local key ИМЯ --stdin. Ключ уходит только на адрес своего профиля; ключи облачных провайдеров из окружения не используются. - Контекст задаёт сервер:
--context-tokens(по умолчанию 32768) лишь сообщает rcode его размер. У llama.cpp и Ollama rcode читает фактический контекст, когда сервер его сообщает. Футер показывает оценку в токенах. - В одном процессе rcode идёт одна генерация на сервер: субагенты ждут очереди. Отдельно запущенные rcode эту очередь не делят.
- Вызов инструментов зависит от модели и сервера; llama.cpp запускайте с
--jinja. Изображения отправляются только при--vision. - Для моделей с рассуждениями: поля reasoning и ведущий блок
<think>скрываются. Модели, которые думают всегда (например,*-Thinking), добавляйте с--thinking on, если сервер поддерживает этот параметр; для Ollama он недоступен.
Подробнее — в руководстве.
rcode умеет читать скиллы в формате SKILL.md: список «id — описание» всегда перед модели, полный текст загружается инструментом load_skill, когда описание совпало с задачей или вы назвали скилл. Текст скилла — данные и не меняет разрешений.
rcode skills install https://github.com/obra/superpowers.git # git clone --depth 1 в RCODE_HOME
rcode skills link ~/work/my-skills --name mine # подключить каталог без копирования
rcode skills list && rcode skills update # каталог и обновлениеУстановить набор можно и прямо в диалоге: попросите модель — она запустит rcode skills install … через shell, а rcode покажет панель подтверждения. В сессии работают команды /skills (каталог) и /skill ID запрос (явный выбор).
Свои скиллы кладите в каталог данных rcode (RCODE_HOME, по умолчанию — каталог rcode в данных пользователя) в skills/ИМЯ/SKILL.md или в .rcode/skills/ проекта. Пользовательские команды — Markdown-файлы в RCODE_HOME/commands/ или .rcode/commands/: git/pr.md станет /git:pr, $ARGUMENTS и $1…$9 подставляются в текст запроса. Поля allowed-tools, hooks и скрипты наборов rcode не исполняет: права определяет только приложение.
rstack — адаптация рабочих процессов gstack для инструментов и разрешений rcode. Рекомендуем начать с ревью изменений, проверки исправлений и поиска причин ошибок:
rcode skills install https://github.com/adw0rd/rstack.git --name rstackПосле установки в диалоге:
/skill rstack:review Проверь текущие изменения и укажи подтверждённые ошибки.
/skill rstack:qa Воспроизведи баг, исправь причину и проверь результат.
/skill rstack:investigate Разберись, почему падает этот тест.
Или для одного запуска:
rcode exec 'Используй rstack:review для текущих изменений; ничего не исправляй.'Скиллы сохраняют действующие разрешения проекта. Процедуры для браузера, iOS и внешних сервисов требуют отдельных runtime; сам набор их не устанавливает. Описание остальных процедур и ограничений — в README rstack.
Подробнее — в руководстве.
- Чтение, поиск и правка файлов с показом diff; отмена файловых изменений через
/undo. - Команды shell, запуск проверок и ручные команды через
!, например!git status. - Выбор модели и поддерживаемого effort без выхода из диалога.
- Субагенты для исследования, выполнения задач и ревью.
- Скиллы (SKILL.md) и пользовательские слэш-команды; наборы скиллов ставятся одной командой.
- Открытие веб-страниц для модели:
web_fetchчитает http(s)-страницы без ключей и подтверждений. - Веб-поиск через API по выбору: Yandex Search API, Brave или Tavily; ключ только в credentials.json.
- Скриншоты PNG/JPEG/TIFF: вставьте путь к файлу или используйте
/attach; если модель без vision — скрин прочитает вспомогательная модель (/vision). - Сохранённые сессии, история ввода, автокомпакт и экспорт диалога в Markdown.
- Полноэкранный интерфейс с Markdown, закреплённым футером, прокруткой и копированием мышью.
- Баланс OpenRouter и остатки пакетов GigaChat в футере с обновлением раз в минуту.
| Команда | Действие |
|---|---|
/model, /effort |
Выбрать модель и доступную глубину рассуждений |
/provider |
Выбрать провайдера и посмотреть доступные балансы |
/balance |
Обновить баланс провайдера и посмотреть лимиты ключа |
/connect |
Подключить провайдера |
/permissions |
Выбрать режим доступа |
/plan |
Перейти к планированию без изменений файлов |
/diff, /undo |
Посмотреть изменения или отменить файловые правки |
/resume ID |
Восстановить нужную сессию |
/attach "скрин.tiff" Что за ошибка? |
Отправить изображение с вопросом |
/export |
Сохранить доступную переписку в Markdown |
/agents |
Посмотреть задачи субагентов |
/skills, /skill ID |
Каталог скиллов и явный выбор скилла |
/help |
Все команды и сочетания клавиш |
Нажмите / для меню, Ctrl+P/N для истории ввода, Shift+Enter для новой строки. Если терминал не различает Shift+Enter, используйте Alt+Enter или Ctrl+J. Колесо мыши прокручивает ответы, выделение копирует текст. Esc или Ctrl+C прерывают текущую работу.
На вопрос «Какой сейчас баланс?» агент сам проверит остаток текущего провайдера и ответит по данным API. Результат явной проверки сохраняется в диалоге; фоновый индикатор остаётся локальным.
Сессии сохраняются между запусками:
rcode sessions
rcode --resume ID_СЕССИИrcode --resume без ID выбирает последнюю сохранённую сессию текущего проекта. При параллельной работе используйте конкретный ID.
По умолчанию rcode показывает diff и запрашивает подтверждение изменений и shell-команд. /permissions auto-edit разрешает файловые правки, /permissions full-access — также shell и внешние каталоги без подтверждений. Режим сохраняется для текущего проекта.
Shell работает с правами вашего пользователя. /undo отменяет правки файловых инструментов; изменения shell отменяются вручную. Известные секретные файлы и игнорируемые пути закрыты для файловых инструментов. Собственный ввод !команда выполняется сразу как явное действие пользователя.
Настройки, ключи и сессии лежат отдельно от бинарника и сохраняются после его обновления. На macOS это ~/Library/Application Support/rcode. Ключи хранятся локально без шифрования; на Unix файлы создаются с правами 0600. Контекст проекта и вложения передаются выбранному вами API при запросах к модели.
Подробнее: руководство, история изменений, участие в разработке.
MIT.
