Skip to content
Apothem
Адаптеры окружений

Gemini CLI

Адаптер окружения Apothem для Gemini CLI (GA).

Поставщик: Google Имя установки: gemini-cli Статус: GA Нативная конфигурация: локальные для проекта GEMINI.md и .gemini/

Установка

apothem install --harness gemini-cli --project /path/to/project

Адаптер работает в области проекта. Он устанавливает GEMINI.md проекта, преобразует команды Apothem в слеш-команды Gemini в формате TOML, нормализует определения локальных помощников и размещает ненативные вспомогательные группы в .gemini/.apothem/support/. Другие инструменты для написания кода также читают GEMINI.md проекта, поэтому блок Apothem в нём записан как указания для всего проекта, которые не называют своим читателем ни один конкретный инструмент.

Записываемые файлы:

GEMINI.md
.gemini/commands/*.toml
.gemini/agents/*.md
.gemini/skills/
.gemini/.apothem/support/

Сопоставление профиля с нативной конфигурацией

Адаптер читает общие группы Apothem и направляет каждую через совместимую с Gemini поверхность. Правила в формате Markdown, шаблоны и материал хуков остаются в .gemini/.apothem/support/, потому что это вспомогательный материал, а не нативный для Gemini каталог правил. Блок Apothem в GEMINI.md завершается разделом о вспомогательных файлах Apothem, который называет — относительно корня проекта — каталог в .gemini/.apothem/support/, относительно которого разрешается каждая ссылка в стиле репозитория (rules/<name>.md, templates/..., hooks/...). Пути относительные, поэтому закоммиченный GEMINI.md не содержит путей, специфичных для конкретной машины.

Каждая преобразованная команда в .gemini/commands/ содержит description и prompt. Промпт — это только инструкции команды; метаданные Apothem в начале исходного файла (версия, список инструментов и подобные поля) опускаются, поэтому модель никогда не читает их как инструкции. Gemini запускает пользовательскую команду только тогда, когда вы её вводите.

Определения помощников в .gemini/agents/ сохраняют свои ограничения инструментов и лимит ходов: исходный набор разрешённых инструментов tools за вычетом disallowedTools становится списком разрешённых инструментов Gemini tools с именами инструментов Gemini, а maxTurns становится max_turns. Поэтому помощник только для чтения не получает инструмента write_file или replace. Модель не задаётся, поэтому каждый помощник наследует модель сессии.

Помощник, указанный в ключе профиля agent_mcp_servers, также получает по одной записи mcp_<server>_* для каждого названного сервера в своём списке разрешённых инструментов tools, поэтому он может вызывать инструменты этого сервера и не может вызывать инструменты никакого другого сервера; без этого ключа каждый помощник сохраняет обычный список разрешённых инструментов (см. Серверы MCP). Apothem записывает здесь разрешение только для имени сервера из букв, цифр и -, потому что Gemini CLI не может обратиться к имени с подчёркиванием; любое другое имя пропускается с сообщением об этом, как и разрешение для помощника, который уже имеет доступ к каждому серверу MCP.

Заметки о совместимости

~/.gemini/ остаётся территорией пользовательской области для инструментов, использующих глобальный профиль Gemini. Адаптер Gemini CLI записывает только в проект, переданный через --project.

Проверка

apothem verify --harness gemini-cli --project /path/to/project

Команда verify подтверждает, что:

  1. Нативная конфигурация существует по ожидаемому пути.
  2. Каждая управляемая цель существует; управляемые файлы не пусты, а конфигурации JSON или YAML разбираются. Добавьте --profile PATH, чтобы дополнительно подтвердить, что установленные файлы соответствуют этому профилю.
  3. Процедура проверки, специфичная для адаптера, сообщает об успехе.

Обновление

apothem update --harness gemini-cli --project /path/to/project

Обновляет GEMINI.md, преобразованные команды, определения локальных помощников, установленные навыки и вспомогательное дерево .gemini/.apothem/support/.

Удаление

apothem uninstall --harness gemini-cli --project /path/to/project

Удаляет блок Apothem из <project>/GEMINI.md и сохраняет в нём любой другой текст. Файл удаляется, только когда в нём больше ничего не остаётся. Также удаляет файлы Apothem в <project>/.gemini/commands/, <project>/.gemini/skills/, <project>/.gemini/agents/ и <project>/.gemini/.apothem/support/; остальные файлы в этих каталогах остаются. Перед изменением копия каждого файла с отметкой времени сохраняется в ~/.apothem/backups/; резервный файл в проекте не остаётся. YAML общего профиля и движок Apothem не затрагиваются.

Шлюз соответствия

python -m apothem.conformity.gate --all .

Устранение неполадок

СимптомИсправление
Файл конфигурации не найденПовторно запустите apothem install --harness gemini-cli --project /path/to/project
Проверка не пройденаЗапустите apothem update --harness gemini-cli --project /path/to/project, затем проверьте снова
Неожиданное содержимое конфигурацииПроверьте ~/.config/apothem/profile.yaml или --profile PATH, затем повторно запустите apothem update --harness gemini-cli --project /path/to/project

Параметры конфигурации

ФлагПо умолчаниюОписание
--dry-runfalseПредпросмотр установки без записи файлов.

См. также

On this page