clai CLI
Консольный ИИ-агент на Go: профили с Hub, MCP-серверы, скиллы и повтор задачи, пока проверка не пройдет
- 153 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент вызывает инструменты и MCP-серверы из профиля; профиль с Hub приносит их с собой, поэтому его просматривают перед согласием.
- Ключи провайдеров лежат в переменных окружения, а запросы и вывод конвейера уходят выбранному провайдеру.
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/claiОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент вызывает инструменты и MCP-серверы из профиля; профиль с Hub приносит их с собой, поэтому его просматривают перед согласием.
- Ключи провайдеров лежат в переменных окружения, а запросы и вывод конвейера уходят выбранному провайдеру.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
clai — консольная оболочка для ИИ-агента на Go, которая ведет себя как обычная unix-утилита: читает данные из `stdin`, отдает ответ в `stdout` и встраивается в конвейеры. Запрос запускается командой `clai query`, модель берется у одного из 12 провайдеров: OpenAI, Anthropic, Gemini, Mistral, DeepSeek, xAI, OpenRouter, HuggingFace, Berget AI, Inception, Jev или локальной Ollama. Контекст оболочки подставляется в системный промпт через шаблоны. Профиль хранит модель, инструменты, MCP-серверы и скиллы; скиллы clai читает из `.agents/skills` проекта и из глобальных каталогов. Готовые профили подгружаются с clai.chat: `clai -profile-path cchub:clai/pr-summarizer@1 query`. Вместо имени модели можно назвать роль (`strong`, `fast`, `cheap`), и каждая машина раскроет ее в собственный упорядоченный список моделей. Флаг `-loop` повторяет запрос, пока проверка из `-check` не подтвердит цель. `-response-format` возвращает JSON вместо прозы, `-image` прикрепляет картинки, инструмент `generate_image` возвращает их обратно. Тот же цикл агента подключается к программе на Go через пакет `github.com/baalimago/clai/pkg/agent`.
Для кого. Пользователям терминала, которым нужен скриптуемый агент вместо интерактивного: авторам shell-конвейеров, администраторам, Go-разработчикам, встраивающим агента в свои программы.
Подходит, если
- Вывод команды или лог надо отправить модели по конвейеру и получить ответ в `stdout`.
- Задачу нужно повторять до успеха: тесты или другая проверка, заданная через `-check`, пока не пройдет.
- Один профиль агента должен работать на ноутбуке и на сервере с разными ключами и моделями.
- Агент встраивается в Go-программу, и ответ нужен типизированной структурой.
- Сессия в другом агенте оборвалась по лимиту, а разговор хочется продолжить.
Не подходит, если
- Интерактивная работа с файлами проекта в редакторе: clai рассчитан на консоль и конвейеры.
- Правила компании запрещают отправку данных облачным провайдерам, а локальная модель в Ollama не настроена.
- Чужой профиль с Hub хочется запустить не глядя: при первом запуске clai показывает его модель, инструменты, MCP-серверы и скиллы и просит согласия.
Пример запроса к агенту
Разбери вывод `git log --oneline -30` и напиши список изменений для релиза: `git log --oneline -30 | clai query Составь список изменений для релиза`.Ограничения
Для работы нужен ключ хотя бы одного провайдера в переменной окружения (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY` и аналоги) или запущенная Ollama. Формат Markdown в ответах включается установкой Glow. Синхронизация `clai cloud` необязательна: конфигурация хранится бесплатно до 1 ГБ, диалоги стоят 1 доллар за каждый начатый гигабайт в месяц и требуют карты. Конфиг с ключом, записанным литералом, в облако не уходит. Документация и примеры на английском, сайт clai.chat нужен только для Hub и синхронизации.
Как отключить. Удалите бинарник `clai` (для установки через Go это файл в `$GOPATH/bin`) и каталог конфигурации; облачную синхронизацию отключает отказ от `clai cloud commit`, она сама ничего не отправляет.
Частые вопросы
Как поставить clai?
Скрипт установки из README: `curl -fsSL https://raw.githubusercontent.com/baalimago/clai/main/setup.sh | sh`. Альтернативы: `go install github.com/baalimago/clai@latest` и `nix run github:baalimago/clai` без установки.
Какие модели поддерживает clai?
Двенадцать провайдеров: OpenAI, Anthropic, Gemini, Mistral, DeepSeek, xAI, OpenRouter, HuggingFace, Berget AI, Inception, Jev и Ollama. Ключ задается переменной окружения вида `OPENAI_API_KEY`, для Ollama адрес по умолчанию localhost:11434.
Что делает флаг -loop?
Повторяет запрос, пока команда из `-check` не вернет успех. Без `-check` цикл не знает, когда остановиться, поэтому флаги используют в паре.
Можно ли использовать clai как Go-библиотеку?
Да. Пакет `github.com/baalimago/clai/pkg/agent` запускает тот же цикл агента без вывода в консоль и возвращает типизированные ошибки; структуру ответа задают через `agent.NewTyped`.
Что синхронизирует clai cloud?
Профили, MCP-серверы, контексты оболочки, скиллы и тему, а при желании и диалоги, между вашими машинами. Работает как git: `clai cloud pull` забирает изменения, `clai cloud commit -m "laptop"` отправляет ваши.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыOpenClacky — открытый ИИ-агент на Ruby с 16 инструментами, любым OpenAI-совместимым ключом и расширением через скиллы.
Консольный клиент на Go для работы с языковыми моделями OpenAI, Azure, Perplexity и LLaMA прямо из терминала
CLI clawctl управляет парком ИИ-агентов на машинах локальной сети по SSH и Ansible: установка, запуск, обновление, учет токенов.
Воркспейс для AI-агентов с параллельными worktree, оркестрацией между провайдерами и ботами в чат-каналах.
CLI подключает локальных агентов к общему облачному хранилищу сессий, памяти, навыков и MCP-коннекторов.
CLI на Go, который настраивает уже установленные у вас ИИ-агенты: дает им общую память, рабочий процесс и детерминированные шаги, не подменяя сами агенты
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| clai (эта карточка) | нет | 153 | |
| Aider | нет | 50 089 | правит код в git-репозитории; clai работает с произвольными данными из конвейера и повторяет задачу до успешной проверки |
| AIChat | нет | 10 567 | универсальный чат с моделями в терминале; у clai профили с Hub, роли моделей вместо имен и пакет для встраивания в Go |
Коротко о README
README открывается командами установки и списком возможностей, затем описывает запуск агентов с Hub, использование пакета как библиотеки и облачную синхронизацию. Таблица в конце сопоставляет провайдеров с переменными окружения. Подробности лежат в каталоге `architecture/` и в файле примеров.