Перейти к основному содержимому

Grok

Делегирование кода xAI Grok Build CLI (функции, PR).

Метаданные навыка​

ИсточникОпционально — установка с помощью vibeos skills install official/autonomous-ai-agents/grok
Путьoptional-skills/autonomous-ai-agents/grok
Версия0.1.0
АвторMatt Maximo (MattMaximo), VibeOS
ЛицензияMIT
Платформыlinux, macos, windows
ТегиCoding-Agent, Grok, xAI, Code-Review, Refactoring, Automation
Связанные навыкиcodex, claude-code, vibeos-agent

Справочник: полный SKILL.md​

к сведению

Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Агент видит эти инструкции, когда навык активен.

Grok Build CLI — Руководство по оркестрации VibeOS

Делегируйте задачи по написанию кода Grok Build (автономный CLI-агент xAI для написания кода, команда grok) через терминал VibeOS. Grok может читать файлы, писать код, выполнять команды оболочки, порождать под-агентов и управлять рабочими процессами git. Он работает тремя способами: интерактивный TUI, безголовый (-p) и как ACP-агент через JSON-RPC.

Это третий родственный навык для codex и claude-code. Шаблон оркестрации практически идентичен — для одноразовых задач предпочитайте безголовый режим -p, используйте PTY для интерактивных сессий.

Когда использовать​

  • Создание функций
  • Рефакторинг
  • Ревью пул-реквестов
  • Пакетное исправление ошибок
  • Любая задача, для которой вы обычно используете Codex / Claude Code, но хотите Grok

Предварительные требования​

  • Установка (рекомендуется): npm install -g @xai-official/grok
    • Официальный установщик curl -fsSL https://x.ai/cli/install.sh | bash также работает, но хост x.ai в некоторых средах заблокирован Cloudflare. Путь через npm полностью избегает этой зависимости.
  • Аутентификация — подписка SuperGrok / X Premium+ (основной путь):
    • Запустите grok login один раз → откроется браузер для OAuth → токен кэшируется в ~/.grok/auth.json. Это использует вашу подписку SuperGrok или X Premium+ (без оплаты за токены).
    • Проверьте состояние входа, проверив наличие ~/.grok/auth.json, или запустите простой безголовый тест: grok --no-auto-update -p "Say ok."
    • В TUI команда /logout выходит из системы, а /login (или перезапуск) снова входит.
  • Репозиторий git не требуется — в отличие от Codex, Grok отлично работает вне git-директории (подходит для черновых/одноразовых задач).
  • Совместимость с Claude Code / AGENTS.md без настройки — Grok автоматически читает CLAUDE.md, .claude/ (навыки, агенты, MCP, хуки, правила) и семейство AGENTS.md. Существующий контекст проекта работает «из коробки».

Запасной вариант с API-ключом (не по умолчанию для этого пользователя): Grok также поддерживает установку переменной окружения XAI_API_KEY для оплаты по мере использования через api.x.ai. Используйте это, только если grok login / аутентификация SuperGrok недоступна. Путь через подписку (grok login) является целевой настройкой здесь.

Два режима оркестрации​

Режим 1: Безголовый (-p) — Неинтерактивный (РЕКОМЕНДУЕТСЯ)​

Выполняет одноразовую задачу, выводит результат и завершается. Без PTY, без необходимости навигации по интерактивным диалогам. Это самый чистый путь интеграции — аналог claude -p и codex exec.

terminal(command="grok --no-auto-update -p 'Add a dark mode toggle to settings'", workdir="/path/to/project", timeout=180)

Всегда передавайте --no-auto-update в автоматизации, чтобы пропустить фоновые проверки обновлений.

Когда использовать безголовый режим:

  • Одноразовые задачи по написанию кода (исправить ошибку, добавить функцию, рефакторинг)
  • Автоматизация CI/CD и скриптинг
  • Разбор структурированного вывода с помощью --output-format json
  • Любая задача, не требующая многошагового диалога

Режим 2: Интерактивный PTY — Многошаговые TUI-сессии​

TUI — это полноэкранное приложение с поддержкой мыши. Управляйте им с помощью pty=true. Для надежного мониторинга/ввода используйте tmux (тот же шаблон, что и в навыке claude-code).

# Запуск в сессии tmux для мониторинга через capture-pane
terminal(command="tmux new-session -d -s grok-work -x 140 -y 40")
terminal(command="tmux send-keys -t grok-work 'cd /path/to/project && grok' Enter")

# Ожидание запуска, затем отправка задачи
terminal(command="sleep 5 && tmux send-keys -t grok-work 'Refactor the auth module to use JWT' Enter")

# Мониторинг прогресса
terminal(command="sleep 15 && tmux capture-pane -t grok-work -p -S -50")

# Выход по завершении
terminal(command="tmux send-keys -t grok-work '/quit' Enter && sleep 1 && tmux kill-session -t grok-work")

Совет для безголового режима с встроенным выводом: если вы хотите вывод в стиле TUI без захвата полноэкранного альтернативного экрана (например, для более чистых логов), добавьте --no-alt-screen. Для чистой автоматизации безголовый режим -p все равно чище, чем TUI.

Подробное описание безголового режима​

Распространенные флаги​

ФлагЭффект
-p, --single <PROMPT>Отправить один промпт, запустить безголово, выйти
-m, --model <MODEL>Выбрать модель
-s, --session-id <ID>Создать или возобновить именованную безголовую сессию
-r, --resume <ID>Возобновить существующую сессию
-c, --continueПродолжить самую последнюю сессию в текущей директории
--cwd <PATH>Установить рабочую директорию
--output-format <FMT>plain (по умолчанию), json или streaming-json
--always-approveАвтоматически одобрять все выполнения инструментов (эквивалент --full-auto / --yolo)
--no-alt-screenЗапускать встроенно, без захвата полноэкранного TUI
--no-auto-updateПропустить фоновые проверки обновлений (использовать во всей автоматизации)

Форматы вывода​

  • plain — человекочитаемый текст (по умолчанию)
  • json — один JSON-объект в конце выполнения (чистый разбор результата)
  • streaming-json — события JSON, разделенные новой строкой, по мере их поступления
# Структурированный результат для разбора
terminal(command="grok --no-auto-update -p 'List all TODO comments in src/' --output-format json", workdir="/project", timeout=120)

# Автоодобрение для автономной сборки
terminal(command="grok --no-auto-update --always-approve -p 'Refactor the database layer and run the tests'", workdir="/project", timeout=300)

Фоновый режим (длительные задачи)​

# Запуск безголово в фоне
terminal(command="grok --no-auto-update --always-approve -p 'Refactor the auth module'", workdir="/project", background=true, notify_on_complete=true)
# Возвращает session_id

# Мониторинг
process(action="poll", session_id="<id>")
process(action="log", session_id="<id>")

# Завершение при необходимости
process(action="kill", session_id="<id>")

Для интерактивной (TUI) фоновой сессии используйте pty=true + tmux и мониторинг с помощью tmux capture-pane, точно так же, как в навыках claude-code / codex.

Продолжение сессии​

# Запуск именованной сессии
terminal(command="grok --no-auto-update -s refactor-db -p 'Start refactoring the database layer' --always-approve", workdir="/project", timeout=240)

# Возобновление позже
terminal(command="grok --no-auto-update -r refactor-db -p 'Now add connection pooling' --always-approve", workdir="/project", timeout=180)

# Или продолжить самую последнюю сессию в этой директории
terminal(command="grok --no-auto-update -c -p 'What did you change last time?'", workdir="/project", timeout=60)

Шаблон: Аудит только для чтения → Заметка в Markdown​

Чтобы Grok просмотрел локальные артефакты и вернул чистую заметку в Markdown (для Obsidian или репозитория) без внесения изменений:

  1. Сначала подготовьте стабильные входные файлы с помощью инструментов VibeOS (read_file, write_file). Сохраните только соответствующий контекст во временный файл, а не передавайте необработанные пути.
  2. Запустите Grok безголово без --always-approve, чтобы он не мог автоматически записывать, и требуйте markdown only, no preamble.
  3. Сохраните stdout Grok напрямую в целевую заметку с помощью write_file().
grok --no-auto-update -p "Read /tmp/current.md and /tmp/inventory.md. Produce markdown only, no preamble. Output a clean note titled 'Cleanup Review'." --output-format plain

Подводный камень (тот же, что и в Claude Code): при перезаписи документов нечеткий промпт «перепиши это» может вернуть сводку изменений вместо полного файла. Вместо этого: передайте файл через конвейер и потребуйте Return ONLY the full revised markdown document. No intro, no explanation, no code fences. Start immediately with '# Title'. Проверьте первые строки с помощью read_file() перед перезаписью целевого файла.

Шаблоны ревью пул-реквестов​

Быстрое ревью (безголово)​

terminal(command="cd /path/to/repo && git diff main...feature-branch | grok --no-auto-update -p 'Review this diff for bugs, security issues, and style problems. Be thorough.'", timeout=120)

Ревью через клонирование во временную папку (безопасно, без изменения репозитория)​

terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && gh pr checkout 42 && grok --no-auto-update -p 'Review the changes vs origin/main. Check bugs, security, race conditions, missing tests.'", pty=true, timeout=300)

Публикация ревью​

terminal(command="gh pr comment 42 --body '<review text>'", workdir="/path/to/repo")

Параллельное исправление ошибок с помощью Worktrees​

# Создание worktree
terminal(command="git worktree add -b fix/issue-78 /tmp/issue-78 main", workdir="~/project")
terminal(command="git worktree add -b fix/issue-99 /tmp/issue-99 main", workdir="~/project")

# Запуск Grok безголово в каждом (фоново)
terminal(command="grok --no-auto-update --always-approve -p 'Fix issue #78: <description>. Commit when done.'", workdir="/tmp/issue-78", background=true, notify_on_complete=true)
terminal(command="grok --no-auto-update --always-approve -p 'Fix issue #99: <description>. Commit when done.'", workdir="/tmp/issue-99", background=true, notify_on_complete=true)

# Мониторинг
process(action="list")

# После завершения: пуш и открытие PR
terminal(command="cd /tmp/issue-78 && git push -u origin fix/issue-78")
terminal(command="gh pr create --repo user/repo --head fix/issue-78 --title 'fix: ...' --body '...'")

# Очистка
terminal(command="git worktree remove /tmp/issue-78", workdir="~/project")

Полезные подкоманды и команды TUI​

КомандаНазначение
grokЗапустить интерактивный TUI
grok -p "query"Безголовый одноразовый запрос
grok login / grok logoutВход / выход (SuperGrok / X Premium+ OAuth)
grok inspectПоказать, что Grok обнаружил в текущей рабочей директории: источники конфигурации, инструкции, навыки, плагины, хуки, MCP-серверы
grok agent stdioЗапуск как ACP-агента через JSON-RPC (для интеграции с IDE/инструментами)
grok updateОбновить CLI (требуется хост x.ai; пропускать в автоматизации)

Слеш-команды TUI (только интерактивно): /model &lt;name&gt;, /always-approve, /plan, /context, /compact, /resume, /sessions, /fork, /usage, /quit. Shift+Tab переключает режимы сессии (включая режим Plan, который блокирует инструменты записи, кроме файла плана сессии).

Конфигурация (~/.grok/config.toml)​

[cli]
auto_update = false # постоянно пропускать фоновые проверки обновлений

[ui]
permission_mode = "ask" # или "always-approve", чтобы пропускать запросы инструментов по умолчанию

[models]
default = "grok-build-0.1"

Помещайте глобальные настройки в ~/.grok/config.toml (не в .grok/config.toml на уровне проекта). permission_mode заменяет устаревшие ключи approval_mode / yolo = true.

Подводные камни и «Грабли»​

  1. Аутентификация привязана к подписке. grok login требует подписку SuperGrok или X Premium+. Если вход не удался или отсутствует ~/.grok/auth.json, подтвердите активность подписки, прежде чем переходить к XAI_API_KEY.
  2. Не путайте аутентификацию VibeOS xAI с аутентификацией CLI grok. x_search VibeOS работает на собственном OAuth xAI; отдельный CLI grok имеет отдельный токен в ~/.grok/auth.json. Работающий x_search НЕ означает, что grok выполнил вход.
  3. Всегда передавайте --no-auto-update в автоматизации — иначе Grok будет обращаться к серверу для проверки обновлений (а x.ai/storage.googleapis.com могут быть недоступны).
  4. Предпочитайте установку через npm установке через curl — npm install -g @xai-official/grok позволяет избежать заблокированного Cloudflare хоста x.ai.
  5. --always-approve — это переключатель автономной сборки. Без него безголовые запуски могут зависнуть в ожидании запросов на одобрение инструментов. Намеренно опускайте его для работы только на чтение/аудит, чтобы Grok не мог изменять файлы.
  6. Безголовый режим -p пропускает диалоги TUI; TUI требует pty=true (+ tmux для мониторинга), как и Claude Code.
  7. Используйте --no-alt-screen, если вы запускаете TUI встроенно и захват полноэкранного альтернативного экрана искажает захваченный вывод.
  8. Репозиторий git не требуется, но для рабочих процессов PR/коммитов он все равно нужен — используйте mktemp -d && git init для черновых задач с коммитами.
  9. Очищайте сессии tmux с помощью tmux kill-session -t &lt;name&gt; по завершении.

Правила для агентов VibeOS​

  1. Для одиночных задач предпочитайте безголовый режим -p — самая чистая интеграция, структурированный вывод через --output-format json.
  2. Всегда устанавливайте workdir (или --cwd), чтобы Grok работал в нужном проекте.
  3. Передавайте --no-auto-update в каждом автоматизированном вызове.
  4. Используйте --always-approve только когда Grok должен писать автономно; опускайте его для ревью и аудитов только на чтение.
  5. Запускайте длительные задачи в фоне с помощью background=true, notify_on_complete=true и мониторингом через инструмент process.
  6. Используйте tmux для многошаговой интерактивной работы и мониторинг с помощью tmux capture-pane -t &lt;session&gt; -p -S -50.
  7. Проверяйте аутентификацию перед тем, как полагаться на нее — проверьте ~/.grok/auth.json или запустите простой тест grok -p "Say ok."; не предполагайте, что аутентификация VibeOS xAI переносится.
  8. Сообщайте результаты пользователю — резюмируйте, что изменил Grok и что осталось.