Установка и настройка execai — полный мануал
execai — терминальный AI-агент ExecAI. Как Claude Code, только с нашим биллингом, полным каталогом моделей и с возможностью использовать твои личные подписки провайдеров.
Читает и пишет файлы, запускает shell-команды, ходит в git и kubernetes, работает с картинками, планирует многошаговые задачи и просыпается сам когда надо. Всё в одном терминальном окне.
Ниже — полный мануал: установка, настройка, все команды и режимы.
1. Установка
Linux / macOS (Intel и Apple Silicon)
Одна команда (зеркало Яндекса — быстрее в РФ/СНГ):
curl -fsSL https://storage.yandexcloud.net/execai-agent-prod/execai/stable/install.sh | bash
Либо через GitHub Releases (для тех кто вне РФ или предпочитает GitHub):
curl -fsSL https://raw.githubusercontent.com/execai/execai-agent/main/install.sh | bash
Скрипт один и тот же: сам выбирает зеркало по локали системы (ru → Яндекс, иначе GitHub) и автоматически переключается на второе, если первое недоступно. Бинарники идентичны, SHA256 проверяется.
После неё в новом терминале набирай execai. В текущем — если раньше уже был execai и bash закешировал путь, поможет hash -r.
Скрипт:
- определит ОС и архитектуру (
linux-amd64,linux-arm64,darwin-amd64(Intel Mac) илиdarwin-arm64(M1/M2/M3)), - проверит SHA256 архива,
- положит бинарь в
/usr/local/bin/execai(если есть passwordless sudo) или~/.local/bin/execai, - уберёт старые копии execai из PATH и мёртвые записи из
.bashrc/.zshrc, - на macOS автоматически снимет метку Gatekeeper (
com.apple.quarantine).
Windows 10 / 11 (amd64 и ARM64)
Открой Windows Terminal (не старый cmd.exe) и PowerShell:
iwr -useb https://storage.yandexcloud.net/execai-agent-prod/execai/stable/install.ps1 | iex
Скрипт автоматически определит архитектуру (amd64 / arm64 для Copilot+ PC), попросит один раз подтвердить UAC чтобы добавить папку в исключения Defender (иначе антивирус может съесть бинарь), скачает execai.exe в %LOCALAPPDATA%\execai\, пропишет в PATH.
Проверка
execai version
# execai R5.NN
2. Первый запуск
execai
Откроется браузер со страницей подтверждения агента. Alias уже заполнен твоим hostname — можешь принять как есть или переименовать (например рабочий-макбук). Нажми "Подтвердить".
CLI сразу получит долгоживущий токен (90 дней с авто-продлением). Ничего копировать не надо.
Если переустановишь execai или удалишь credentials.json — при повторном логине вернётся тот же агент (не создаётся дубликат). Один физический хост = одна persistent-сессия.
Аккаунт ExecAI опционален. Если у тебя есть своя подписка (Kimi Code, Z.ai, OpenAI, Anthropic) или локальный Claude Code / Codex CLI / Ollama — можно вообще не логиниться: прямо с login-экрана набери /connect kimi <ключ> → /source kimi и работай. А при уже подключённой подписке execai стартует сразу в чат, минуя login-экран.
Управление — в личном кабинете: /settings/agents список всех твоих CLI-агентов, /settings/devices — браузерные и мобильные сессии отдельно.
Язык интерфейса
TUI говорит на 5 языках: английский, русский, испанский, немецкий, китайский. Язык определяется автоматически из системной локали ($LANG), сменить можно в любой момент:
/lang ← показать текущий + список
/lang en ← переключить (сохраняется в конфиг)
Или набери /lang с пробелом — выпадет меню со стрелочками.
3. Как разговаривать с агентом
Пиши задачу обычным языком:
› проверь свободное место на сервере dev01
› перепиши эту функцию с использованием goroutines
› создай PR с фиксом бага из issue #142
Агент сам:
- разберёт что надо,
- решит какой tool использовать,
- покажет команду до выполнения если она меняет состояние,
- выполнит, прочитает результат, ответит.
Read-only команды (ls, cat, git status, kubectl get, grep) идут автоматом. Меняющие состояние (rm, git push, kubectl delete) — спросят подтверждения с гибкими опциями:
- Раз — только один раз
- Сессия — все Bash до перезапуска
- Команда — эту команду с этими аргументами
- Всегда — навсегда (запишется в
permissions.json) - Отклонить — агент получит "user denied"
4. Источники (source) — где брать модель
Ключевая фича: 6 разных источников под одной беседой. Переключаешься на лету, история сохраняется.
🏢 ExecAI (default)
Наш биллинг, ~34 модели через один API. Ничего дополнительно настраивать не нужно.
/source execai
Модели: GPT-5.6 Sol/Terra/Luna, GPT-5.5, Claude Opus 4.8, Sonnet 4.6, Haiku 4.5, Fable 5, GLM-5.2, Kimi K2.7-Code, DeepSeek V4 Pro, Qwen Max, MiniMax M3 и другие.
🎯 Z.ai Coding Plan (твоя подписка)
Если у тебя есть Z.ai Coding Plan ($3-60/мес) — можно ходить туда напрямую, ExecAI ничего не списывает.
- Возьми Coding Plan ключ (не обычный API-key!): z.ai/manage-apikey/apikey-list → раздел "Individual Coding Plan > Plan Overview"
- Подключи:
/connect zai sk-zai-XXXXXXXX - Переключись:
/source zai
Primary модель — GLM-5.2 (flagship coding, MoE 753B/40B, dual thinking).
🌙 Kimi Code Coding Plan — подписка kimi.com/code
Отдельный продукт Moonshot (не путать с Moonshot Platform ниже). Флагман K3 через собственную подписку.
- Возьми ключ на www.kimi.com/code/console — раздел API-ключи.
-
/connect kimi sk-XXXXXXXX /source kimi
Автоматически определяется тариф (K3 / K3 + HighSpeed / K2.7 Code — по тому что реально доступно на подписке). Отображается в статус-баре: src : kimi (K3 + HighSpeed).
Модели: k3 (primary), kimi-for-coding (K2.7 Code), kimi-for-coding-highspeed. /usage покажет реальную квоту: недельный лимит + rolling-окна (5h) с прогресс-барами и временем сброса.
🌗 Moonshot Platform — pay-per-token API
Обычный API-ключ для оплаты за токены (не подписка). Если нужны модели Moonshot вне Kimi Code:
- Возьми ключ на platform.moonshot.ai/console/api-keys.
-
/connect kimi-api sk-XXXXXXXX /source kimi-api
Каталог моделей автоматически подтягивается из /v1/models твоего аккаунта. Primary → kimi-latest (auto-alias на актуальный флагман, обычно K3). Ключ проверяется при /connect — 401/403 сразу отказ с пояснением какой ключ куда.
🤖 Anthropic API (прямой)
Если хочешь ходить в Claude напрямую с pay-per-token биллингом:
- Получи ключ на console.anthropic.com/settings/keys
-
/connect anthropic sk-ant-XXXXXXXX /source anthropic
Модели: claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5.
🎨 OpenAI Platform (прямой API pay-per-token)
Если хочешь ходить в OpenAI напрямую с pay-per-token биллингом:
- Получи ключ на platform.openai.com/api-keys
-
/connect openai sk-proj-XXXXXXXX /source openai
Каталог моделей подтягивается из твоего аккаунта. Primary → gpt-5 (или o3 / gpt-4.1 / gpt-4o в порядке приоритета — что доступно). Ключ валидируется при /connect через /v1/models.
🖥 Claude Code CLI (Pro/Max OAuth)
Если у тебя уже стоит claude (Claude Code) с подпиской Pro/Max — можно использовать её квоту через локальную OAuth-сессию, без отдельного ключа:
/connect claude-cli
/source claude-cli
Модели (алиасы): sonnet, opus, haiku. Управление моделью — через claude config set defaultModel <id> снаружи.
Ограничение: наши execai-tools (Bash/Read/Write) не работают через claude-cli — он использует свои с собственным разрешением.
💚 OpenAI Codex CLI (ChatGPT Plus/Pro/Team OAuth)
Аналог claude-cli для OpenAI. Использует квоту твоей ChatGPT-подписки (Plus, Pro, Team или Enterprise) через локальный codex binary — без отдельного API-ключа.
Установка codex (Linux/macOS):
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
Логин в ChatGPT (открой браузер под своим аккаунтом):
codex login
В execai:
/connect codex-cli
/source codex-cli
Модели: gpt-5, o3, o4-mini. Управление моделью — codex config снаружи или /model внутри execai. Ограничения такие же как у claude-cli: execai-tools не работают, codex запускает свои.
🌩 / 🏠 Ollama — cloud или local
Cloud (ollama.com):
/connect ollama <api-key>
/source ollama
Ключ — ollama.com/settings/keys. Модели: glm-5.2 (primary), qwen3-coder:480b, kimi-k2:1t, deepseek-v3.1:671b, gpt-oss:120b.
Local (свой Ollama):
ollama pull llama3.2 # снаружи
/connect ollama local # localhost:11434
/connect ollama local http://192.168.1.10:11434 # свой URL
/source ollama
Каталог динамически подтягивается из /api/tags. 0 ₽ локально.
Переключение
- История беседы общая.
/source zai→/source execai— контекст сохраняется, glm-5.2 видит то что говорил claude. - Биллинг изолирован. На внешней подписке ExecAI ничего не списывает.
/subscriptions— что подключено,/disconnect <provider>— удалить.
5. Модели по каждому источнику
| Source | Модели | Особенности |
|---|---|---|
| execai | GPT-5.6 (Sol/Terra/Luna), GPT-5.5, Claude Opus 4.8/4.7, Sonnet 4.6, Haiku 4.5, Fable 5, GLM-5.2, Kimi K2.7-Code, K2.6, DeepSeek V4 Pro, Qwen Max, MiniMax M3, Gemini 2.5 Pro (~34 модели) | Vision, tools, эффорт |
| zai | glm-5.2, glm-5.2[1m] (1M ctx), glm-4.7 | Coding-специализация, dual thinking |
| kimi | k3, kimi-for-coding, kimi-for-coding-highspeed | Kimi Code Coding Plan (kimi.com/code). Реальные квоты в /usage. Auto-detect тарифа |
| kimi-api | kimi-latest, kimi-k2-turbo-preview, moonshot-v1-* | Moonshot Platform pay-per-token. Каталог динамический из /v1/models |
| anthropic | claude-opus-4-8, sonnet-4-6, haiku-4-5 | Extended thinking |
| openai | gpt-5, o3, gpt-4.1, gpt-4o, o4-mini | Pay-per-token, каталог динамический из /v1/models |
| claude-cli | sonnet, opus, haiku (алиасы + pinned) | OAuth Pro/Max квота |
| codex-cli | gpt-5, o3, o4-mini | ChatGPT Plus/Pro/Team OAuth через codex CLI |
| ollama cloud | glm-5.2, qwen3-coder:480b, kimi-k2:1t, deepseek-v3.1:671b, gpt-oss:120b | На их серверах |
| ollama local | что установлено через ollama pull … |
Локально, 0 ₽ |
Смена модели: /model <id> или просто /model — картинка с автокомплитом.
6. Effort (уровень рассуждения)
Для Anthropic-совместимых источников (zai, kimi, anthropic, ollama-cloud, claude-cli) и reasoning-моделей OpenAI (openai/codex-cli с o3/o4-mini) — extended thinking: модель сначала "думает" внутри себя, потом отвечает. На сложных задачах кардинально улучшает качество.
/effort # открыть picker
6 уровней: off / low / medium / high / xhigh / max (32k токенов на размышление).
Управление в picker'е: ←→ выбор, Enter применить.
Или Shift+Tab циклит уровни. Виден в status bar как effort : high.
Лимит tool-use итераций за один ход
Дефолт — 40 итераций tool-use в одном ответе (т.е. в одном ходе агент может 40 раз подряд вызывать Bash / Read / Write / etc). Хватает почти на всё. Для больших автономных задач можно увеличить:
/max-iterations # показать текущий
/max-iterations 100 # поставить 100 (диапазон 1-500)
/maxiter 100 # короткий алиас
Если лимит исчерпан — мягкая остановка, не ошибка. Агент вставит подсказку типа "⚠ Достигнут лимит 40 итераций — скажи «продолжай» чтобы дать ещё 40". Просто напиши продолжай и он возьмёт остаток задачи с того же места, ничего не теряется. Значение сохраняется в ~/.config/execai/config.json.
7. Картинки и файлы
Картинки
Просто перетащи PNG/JPG/GIF/WEBP в терминал или впиши путь в кавычках:
› '/home/yz/Pictures/Снимок экрана.png' что тут на картинке?
Vision-модели: claude-sonnet-4-6, gpt-5.5, glm-5v-turbo, glm-4.5v и другие. Если выбрана не-vision — переключись через /model.
Multi-image: несколько путей в одном сообщении → все уйдут в модель.
Файлы
Просто скажи путь — агент прочитает через Read:
› посмотри internal/chat/tui.go и предложи рефакторинг
8. Loop и Autoloop
/loop — фиксированный таймер
/loop 5m проверь статус CI билда
Каждые 5 минут агент сам перепосылает промт. /loop stop — остановить.
Autoloop — AI сам решает когда проснуться
AI получил инструмент schedule_wakeup и сам решает когда вернуться:
› запусти `npm install`, подожди пока закончится и проверь что в логах нет error
AI запустит install, увидит что займёт ~5 мин, позовёт schedule_wakeup(300s), закончит текущий ответ. Через 5 минут агент разбудится сам, продолжит с того же места, видит всю историю. Готовность — просто не зовёт wakeup, autoloop останавливается.
9. Память агента
Агент помнит факты между сессиями:
User memory (кросс-проектная, личное про тебя):
~/.config/execai/memory/
├── MEMORY.md ← индекс (всегда в system prompt)
├── user_role.md ← 1 файл на факт
├── feedback_style.md
└── reference_jenkins.md
Project memory — <CWD>/EXECAI.md одним файлом.
Как использовать:
› запомни что я на Go пишу и предпочитаю bubbletea
Модель сама создаст user_role.md с фронтматтером + строку в MEMORY.md. НЕ засоряет эпизодическими фактами.
Типы записей: user, feedback, project, reference.
10. Управление своими агентами (веб)
Все свои устройства — в личном кабинете:
- /settings/agents — CLI-агенты execai по машинам (alias, hostname, ОС, тип, последняя активность). Одна кнопка "Отключить".
- /settings/devices — браузерные и мобильные сессии отдельно.
- /settings/usage — расходы по тарифу.
- /settings/billing — тариф и подписки.
11. Проекты и фоновый режим — веб → агент
С execai v6.0. Веб-часть требует инструмента «Агенты» в каталоге проекта — он включается постепенно.
Твоя машина может быть инструментом внутри проекта веб-чата: один раз привяжи каталог к проекту, запусти фоновый слушатель — и проси модель в браузере делать что-то на твоей машине. Модель зовёт агента как любой другой инструмент проекта (ssh, git), задача выполняется в каталоге проекта, ответ возвращается в чат.
Привязка каталога к проекту
/project # твои проекты; ● — привязан к этому каталогу
/project bind <имя> # привязать текущий каталог + добавить машину в проект
/project on|off # тот же тумблер, что в карточке проекта в вебе
/project unbind # снять привязку и убрать машину из проекта
Привязка делает два дела: запоминает «этот каталог на этой машине = тот проект» и добавляет машину в проект обычной записью инструмента — как ssh-профиль. После этого машина видна в карточке проекта с тумблером вкл/выкл. В интерфейсе показываются алиасы машин; стабильный id машины переживает переустановку и повторный login.
execai serve — фоновый слушатель
execai serve
Слушает задачи из веб-чата и выполняет их. Что важно знать:
- Задача выполняется в каталоге, привязанном к её проекту, а не там, где запущен
serve. Каталог пропал → внятная ошибка, а не работа не в том месте. - Что разрешено — решает твой
permissions.json(то, что ты отмечал кнопкой «НАВСЕГДА» в TUI). Всё вне списка отклоняется: рядом нет человека, который мог бы подтвердить. Пустой файл → разрешено всё, с громким предупреждением при старте. --read-only— режим «смотреть, но не трогать»: без правок файлов и без команд.- Каждый вызов инструмента пишется в журнал
~/.config/execai/serve-audit.log(ротация на 8 МБ) — утром видно, что агент делал ночью. - Один демон на машину (pid-lock).
execai serve --status— pid, аптайм, контур;--stop— мягкая остановка, даёт доделать текущую задачу;--stop --force— SIGKILL через 5 секунд, результат текущей задачи теряется и в чате будет таймаут. - Агент оффлайн → чат честно получает «агент не отвечает» примерно за 12 секунд; задача остаётся в очереди и выполнится, как только
serveзапустится. Выдача задач подтверждается (ack) — задача, отданная в оборвавшееся соединение, не теряется. - Закрыл терминал — процесс умрёт вместе с ним. Чтобы пережил:
setsid nohup execai serve > ~/.execai-serve.log 2>&1 &
В этом режиме выключен AskUser (некому отвечать), а предел итераций ниже — 30 на задачу.
12. Полный справочник команд
Основные
| Команда | Что |
|---|---|
/help |
Все команды |
/model [id] |
Сменить модель |
/source [name] |
Сменить источник (execai/zai/kimi/anthropic/claude-cli/ollama) |
/connect <provider> [args…] |
Подключить подписку. Без аргументов — help |
/disconnect <provider> |
Отключить подписку |
/subscriptions (/subs) |
Список подключений |
/effort |
Picker уровня рассуждения |
/max-iterations [N] |
Лимит tool-use итераций за ход (дефолт 40, при исчерпании — «продолжай») |
Сессии и история
| Команда | Что |
|---|---|
/new |
Новая беседа (текущая сохранится) |
/sessions |
Список бесед |
/resume <num|id> |
Открыть сохранённую |
/compact |
Сжать длинную беседу в summary через LLM |
/log |
Последние 20 LLM-запросов |
/clear (Ctrl+L) |
Очистить экран |
Автоматизация
| Команда | Что |
|---|---|
/project [bind <имя>|on|off|unbind] |
Привязка каталога к проекту веб-чата; on/off — тумблер проекта (с v6.0) |
/loop <interval> <prompt> |
Фиксированный таймер-loop |
/loop stop |
Остановить loop |
Настройки
| Команда | Что |
|---|---|
/cd <path> |
Сменить рабочую папку |
/config |
Показать конфиг |
/permissions |
Persistent-разрешения tools |
/mouse on/off |
Захват мыши (off → выделение как в обычном терминале) |
/whoami |
Кто залогинен |
/usage |
Тариф + расходы (только ExecAI-source) |
Аккаунт
| Команда | Что |
|---|---|
/login |
Перелогиниться |
/logout |
Выйти |
/quit (Ctrl+D) |
Выход |
13. Хоткеи
| Клавиша | Что |
|---|---|
| Enter | Отправить |
| Shift+Enter | Новая строка (multiline) |
| ↑ / ↓ | История твоих вводов (как bash) |
| Tab | Принять подсказку автокомплита |
| Shift+Tab | Циклить effort-уровень (или открыть picker) |
| PgUp / PgDn | Скролл чата |
| Ctrl+R | Fuzzy-поиск по сессиям |
| Ctrl+C | Отменить стрим (дважды — выход) |
| Ctrl+D | Выход (дважды подтверждение) |
| Ctrl+L | Очистить историю |
| Shift+drag | Выделить текст (или /mouse off) |
| Колесо мыши | Скролл viewport |
14. Где живут файлы
| ОС | Путь |
|---|---|
| Linux | ~/.config/execai/ |
| macOS | ~/Library/Application Support/execai/ |
| Windows | %APPDATA%\execai\ |
| Файл | Что |
|---|---|
config.json |
api_base, selected_model_id, effort |
credentials.json |
JWT (mode 0600) |
host_id |
Стабильный machine-id (fallback если /etc/machine-id недоступен) |
subscriptions.json |
Подключенные подписки |
permissions.json |
Persistent-allow-list tools |
sessions/<uuid>.json |
История каждой беседы |
memory/MEMORY.md |
Индекс user memory |
memory/*.md |
Отдельные факты (user/feedback/project/reference) |
input_history |
Последние 200 твоих вводов |
requests.log |
Лог LLM-запросов (для /log) |
15. Если что-то сломалось
execai: command not found после установки:
exec bash -l # или открой новый терминал
"подписка zai не подключена" при /source zai — сначала /connect zai <key>.
429 "Insufficient balance" на Z.ai — обычный API-key вместо Coding Plan key. Возьми правильный: z.ai/manage-apikey/apikey-list → Individual Coding Plan.
Windows Defender сожрал бинарь — переустанови, скрипт добавит exclusion автоматом (потребуется UAC один раз).
TUI пустой / кривой — Windows Terminal (не conhost), Linux — любой современный (gnome-terminal, kitty, alacritty). Не запускай через SSH без -t.
Ctrl+C застрял — двойной Ctrl+C выход. Или Ctrl+D.
"Достигнут лимит N итераций" — это НЕ ошибка, а мягкая остановка. Скажи «продолжай» и агент возьмёт следующие N итераций с того же места. Если хочешь сразу больше — /max-iterations 100.
"context deadline exceeded" / "не удалось получить список моделей" — если сеть или API временно недоступны, execai стартует на кешированном каталоге (или встроенной заглушке) и покажет notice ℹ Использую кешированный каталог. TUI открывается всегда, реальные запросы могут не пройти пока не восстановится связь.
Что дальше
- Веб-версия: execai.ru — общий аккаунт с CLI
- Список тарифов: /settings/billing
- Обратная связь — в веб-чате приложения
Работаем.