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 подтверждает, что:
- Нативная конфигурация существует по ожидаемому пути.
- Каждая управляемая цель существует; управляемые файлы не пусты, а
конфигурации JSON или YAML разбираются. Добавьте
--profile PATH, чтобы дополнительно подтвердить, что установленные файлы соответствуют этому профилю. - Процедура проверки, специфичная для адаптера, сообщает об успехе.
Обновление
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-run | false | Предпросмотр установки без записи файлов. |
См. также
- Все окружения — полный каталог поддерживаемых инструментов
- Руководство по установке — установка Apothem в это окружение
- Справочник по
apothem harnesses— вывод списка и просмотр адаптеров из CLI