Skip to content
Apothem
Справочник

Реестр окружений

The English page has changed since this translation was made. Read the English page.

Технический справочник по реестру встроенных адаптеров окружений Apothem.

Реестр окружений — это инвентарь адаптеров, служащий источником истины, который используют CLI, документация, фикстурные тесты и проверка закреплений соглашений. Источник во время выполнения — src/apothem/lib/harness_registry.py; каждую строку ниже можно проследить до этого реестра, до файла capabilities.yml каждого адаптера и до файла STANDARD-CONVENTION-PIN.md каждого адаптера.

Матрица реестра

ОкружениеИмя установкиОбластьФорматЦелиMCPЗакрепление соглашения
Antigravityantigravityusermarkdown~/.gemini/GEMINI.md; ~/.gemini/antigravity-cli/plugins/apothem/discovery-pendingsrc/apothem/harnesses/antigravity/STANDARD-CONVENTION-PIN.md
Claude Codeclaude-codeuserjson~/.claude/settings.json; ~/.claude/CLAUDE.md; нативные agents, rules, skills, statuslines, output-styles; ~/.claude/.apothem/support/discovery-pendingsrc/apothem/harnesses/claude_code/STANDARD-CONVENTION-PIN.md
CodeBuddycodebuddyprojectmarkdown<project>/.codebuddy/rules/apothem-rules.md; <project>/.codebuddy/agents/; <project>/.codebuddy/settings.local.json; <project>/.apothem/support/hooks/; ~/.codebuddy/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/codebuddy/STANDARD-CONVENTION-PIN.md
Codexcodexusermarkdown~/.codex/AGENTS.md; hooks.json; hooks/; agents/*.toml; ~/.agents/skills/; ~/.config/apothem/discovery-pendingsrc/apothem/harnesses/codex/STANDARD-CONVENTION-PIN.md
Cursorcursorprojectmdc<project>/.cursor/rules/apothem-rules.mdc; <project>/.cursor/agents/; <project>/.cursor/hooks.json; <project>/.apothem/support/cursor/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/cursor/STANDARD-CONVENTION-PIN.md
Gemini CLIgemini-cliprojectmarkdown<project>/GEMINI.md; <project>/.gemini/{commands,skills,agents}/; <project>/.gemini/.apothem/support/discovery-pendingsrc/apothem/harnesses/gemini_cli/STANDARD-CONVENTION-PIN.md
GitHub Copilotgithub-copilotprojectmarkdown<project>/.github/copilot-instructions.md; <project>/.github/agents/; <project>/.github/hooks/apothem.json; <project>/.apothem/support/github-copilot/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/unsupportedsrc/apothem/harnesses/github_copilot/STANDARD-CONVENTION-PIN.md
GLM (Z.ai)glmprojecttoml<project>/.apothem/providers/glm.tomlunsupportedsrc/apothem/harnesses/glm/STANDARD-CONVENTION-PIN.md
Hermeshermesuseryaml~/.hermes/config.yaml; ~/.hermes/.apothem/support/nativesrc/apothem/harnesses/hermes/STANDARD-CONVENTION-PIN.md
Kimi Codekimi-codeprojectmarkdown<project>/AGENTS.md; <project>/.kimi-code/skills/; <project>/.kimi-code/agents/; <project>/.kimi-code/.apothem/support/discovery-pendingsrc/apothem/harnesses/kimi_code/STANDARD-CONVENTION-PIN.md
Kirokiroprojectmarkdown<project>/.kiro/steering/apothem-rules.md; <project>/.kiro/agents/; <project>/.kiro/hooks/apothem.json; <project>/.apothem/support/kiro/hooks/; ~/.kiro/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/kiro/STANDARD-CONVENTION-PIN.md
Open-Clawopen-clawuserjson~/.openclaw/openclaw.json; ~/.openclaw/.apothem/support/unsupportedsrc/apothem/harnesses/open_claw/STANDARD-CONVENTION-PIN.md
OpenCodeopencodeuserjson~/.config/opencode/opencode.json; нативные commands, skills, agents; ~/.config/opencode/.apothem/support/nativesrc/apothem/harnesses/opencode/STANDARD-CONVENTION-PIN.md
Qwen Codeqwen-codeuserjson~/.qwen/settings.json; ~/.qwen/QWEN.md; нативные commands, skills, agents; ~/.qwen/.apothem/support/nativesrc/apothem/harnesses/qwen_code/STANDARD-CONVENTION-PIN.md
Traetraeprojectmarkdown<project>/.trae/rules/apothem-rules.md; <project>/.trae/agents/; ~/.trae/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/trae/STANDARD-CONVENTION-PIN.md
Windsurfwindsurfprojectmarkdown<project>/.devin/rules/apothem-rules.md; <project>/.devin/agents/; <project>/.devin/config.local.json; <project>/.apothem/support/windsurf/hooks/; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/windsurf/STANDARD-CONVENTION-PIN.md
Zedzedprojectmarkdown<project>/.rules; ~/.agents/skills/; ~/.config/apothem/{rules,templates}/discovery-pendingsrc/apothem/harnesses/zed/STANDARD-CONVENTION-PIN.md

Поддержка групп полезной нагрузки

Значения статуса: native, converted, support-tree, profile-projected, unsupported, not-applicable и discovery-pending.

Группа со статусом converted переписывается в собственный формат окружения, и для некоторых исходных полей в нём нет места. Для каждой преобразованной группы команд, исполнителей или правил файл capabilities.yml адаптера содержит отображение conversion_losses, которое указывает, что происходит с каждым исходным полем фронтматтера:

ЗначениеСмысл
native:<field>Окружение читает его под этим полем.
sidecar:<path>Оно записывается в отдельный файл рядом с преобразованным, например в agents/openai.yaml у Codex.
filenameЕго несёт имя файла или папки.
inlinedОно переносится в текст промпта или тела.
ignoredОно остаётся в файле, но окружение его не читает.
droppedОно отбрасывается.

Тест рендерит каждый преобразованный файл и сверяет отображения с выводом.

ОкружениеНативные или преобразованные полезные нагрузкиПолезные нагрузки в поддереве поддержкиПредупреждения о неподдерживаемом или ожидающем
Antigravityпреобразованные команды, исполнители и правила; нативные навыки, диспетчеризация субагентов, шаблоны системного промптахуки, шаблоныстроки состояния, output-стили; обнаружение MCP и памяти ожидается
Claude Codeпреобразованные команды; нативные навыки, хуки, исполнители, правила, строки состояния, output-стили, диспетчеризация субагентовшаблоныCLAUDE.md остаётся во владении оператора, за исключением одного блока Apothem; шаблон системного промпта, записываемый адаптером, отсутствует; обнаружение MCP ожидается
CodeBuddyпреобразованные команды и исполнители; нативные навыки, хуки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныстроки состояния, output-стили; обнаружение MCP ожидается
Codexпреобразованные команды и исполнители; нативные навыки, хуки, диспетчеризация субагентов, шаблоны системного промптаправила, шаблоныстроки состояния, output-стили; обнаружение MCP ожидается, поскольку Apothem не перезаписывает config.toml
Cursorпреобразованные команды и исполнители; нативные навыки, хуки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныстроки состояния, output-стили, память; обнаружение MCP ожидается
Gemini CLIпреобразованные команды и исполнители; нативные навыки, диспетчеризация субагентов, шаблоны системного промпта, памятьхуки, правила, шаблоныстроки состояния, output-стили; обнаружение MCP ожидается
GitHub Copilotпреобразованные команды и исполнители; нативные навыки, хуки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныстроки состояния, output-стили, MCP, память
GLM (Z.ai)нетнеткоманды, навыки, хуки, исполнители, правила, шаблоны, строки состояния, output-стили, MCP, диспетчеризация субагентов, ограничения инструментов, шаблоны системного промпта, память — GLM является модельным бэкендом без нативной поверхности конфигурации
Hermesпреобразованные команды; нативные шаблоны системного промпта, MCP, диспетчеризация субагентовнавыки, хуки, исполнители, правила, шаблоныстроки состояния, output-стили
Kimi Codeпреобразованные команды и исполнители; нативные навыки, диспетчеризация субагентов, шаблоны системного промпта, памятьхуки, правила, шаблоныстроки состояния, output-стили; обнаружение MCP и ограничений инструментов ожидается
Kiroпреобразованные команды и исполнители; нативные навыки, хуки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныстроки состояния, output-стили; обнаружение MCP ожидается
Open-Clawпреобразованные команды; нативные шаблоны системного промпта, диспетчеризация субагентовнавыки, хуки, исполнители, правила, шаблоныстроки состояния, output-стили, MCP
OpenCodeпреобразованные команды и исполнители; нативные навыки, MCP, диспетчеризация субагентов, шаблоны системного промптахуки, правила, шаблоныстроки состояния, output-стили
Qwen Codeпреобразованные команды и исполнители; нативные навыки, хуки, MCP, диспетчеризация субагентов, шаблоны системного промптаправила, шаблоныстроки состояния, output-стили
Traeпреобразованные команды и исполнители; нативные навыки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныхуки, строки состояния, output-стили, память; обнаружение MCP ожидается
Windsurfпреобразованные команды и исполнители; нативные навыки, хуки, правила, диспетчеризация субагентов, шаблоны системного промпташаблоныстроки состояния, output-стили, память; обнаружение MCP ожидается
Zedпреобразованные команды; нативные навыки, правила, шаблоны системного промпташаблоныхуки, исполнители, строки состояния, output-стили, диспетчеризация субагентов, память; обнаружение MCP ожидается

В таблицу не включены ячейки, которые реестр помечает как not-applicable: ограничения инструментов во всех окружениях, кроме Kimi Code (discovery-pending) и GLM (Z.ai) (unsupported), и память в Claude Code, CodeBuddy, Codex, Hermes, Kiro, Open-Claw, OpenCode и Qwen Code.

Общие корни

Некоторые цели установки загружаются другими окружениями, а не только тем, которое их записывает. Реестр записывает каждый такой путь в SHARED_ROOTS с одним зарегистрированным владельцем (адаптером, для которого вендор документирует этот путь), соустановщиками, которые записывают в него те же файлы, и читателями, чья документация вендора загружает его по умолчанию, а также страницами вендора, на которых это показано, и датой, когда эти страницы были получены.

Путь с соустановщиками — это папка уровня пользователя в домашнем каталоге, которую несколько установок записывают с одинаковыми байтами. На машине, где установлен только Cursor, нет Codex, который записал бы ~/.agents/skills/, поэтому каждая установка, называющая эту папку, записывает её, а журнал установок подсчитывает установки, которые её используют. Учётным владельцем является зарегистрированный владелец, пока он использует папку, а в противном случае — самая старая установка, которая её использует; при удалении зарегистрированного владельца ничего не перемещается. Удаление убирает папку, только если её больше не использует ни одна другая установка (см. uninstall). Установка читателя не кладёт в папку никаких файлов; установка владельца или соустановщика делает содержимое Apothem доступным каждому читателю.

ПутьВладелецСоустановщикиЧитатели
~/.agents/skills/CodexCursor, GitHub Copilot, Windsurf, ZedGemini CLI, Kimi Code, Open-Claw, OpenCode, Qwen Code
~/.config/apothem/rules/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedнет
~/.config/apothem/templates/CodexCodeBuddy, Cursor, GitHub Copilot, Kiro, Trae, Windsurf, Zedнет
~/.claude/skills/Claude CodeнетCursor, OpenCode
~/.claude/agents/Claude CodeнетCursor
~/.codex/agents/CodexнетCursor
~/.claude/CLAUDE.mdClaude CodeнетOpenCode
<project>/AGENTS.mdKimi CodeнетAntigravity, CodeBuddy, Codex, Cursor, GitHub Copilot, Hermes, Kiro, OpenCode, Windsurf, Zed
<project>/GEMINI.mdGemini CLIнетAntigravity, GitHub Copilot, Zed
~/.gemini/GEMINI.mdAntigravityнетGemini CLI
<project>/.github/copilot-instructions.mdGitHub CopilotнетZed

~/.config/apothem/rules/ и ~/.config/apothem/templates/ содержат файлы, на которые ссылаются собственные навыки и файлы инструкций Apothem. Ни один другой инструмент их не загружает, поэтому у них нет читателей и страниц вендора. CodeBuddy, Kiro и Trae также записывают собственную папку навыков (~/.codebuddy/skills/, ~/.kiro/skills/ и ~/.trae/skills/); её загружает только этот инструмент, поэтому она не является общим корнем.

Читатель указывается только там, где документация его вендора показывает загрузку именно этого пути по умолчанию. Один читатель имеет условие, и примечание установки повторяет его: Open-Claw индексирует ~/.agents/skills/ только в своём каталоге состояния по умолчанию (он пропускает папку, когда OPENCLAW_STATE_DIR указывает в другое место). Документация Cursor называет ~/.codex/agents/ папкой совместимости с Codex, но не говорит, какие форматы файлов Cursor там разбирает, а установка Codex записывает файлы TOML, поэтому то, читает ли Cursor этих помощников, не подтверждено. Установка Cursor также записывает собственную копию помощников в <project>/.cursor/agents/, которую порядок приоритета вендора ставит выше импортируемых папок, поэтому в проекте с установкой нативная копия заменяет копию из ~/.claude/agents/.

Некоторые инструменты намеренно не являются читателями ~/.agents/skills/: документация Antigravity, CodeBuddy, Kiro и Trae не говорит, что они загружают её по умолчанию (Trae загружает проектную папку .agents/skills/ только после включения настройки), поэтому CodeBuddy, Kiro и Trae получают собственную папку навыков. Документация Hermes называет её только как пример значения для skills.external_dirs. GitHub Copilot не является читателем ~/.claude/agents/: документация VS Code указывает эту папку для агента Anthropic Claude, а не для агента, которого запускает GitHub Copilot.

Блок Apothem, который владелец записывает в общий файл инструкций, не называет своим читателем ни один отдельный инструмент. tests/unit/test_shared_roots.py завершается неудачей, когда адаптеры, записывающие цель реестра, не совпадают в точности с её владельцем и её соустановщиками, и когда у цели реестра, названной как межинструментальный файл инструкций (AGENTS.md, CLAUDE.md, GEMINI.md, copilot-instructions.md), нет объявленного владельца. Единственное исключение — ~/.codex/AGENTS.md, загрузку которого не документирует ни одно другое зарегистрированное окружение.

Хуки валидации

Реестр поддерживается в синхронизированном состоянии следующими проверками:

ПроверкаНазначение
python scripts/dev/validate_harness_convention_pins.py --today YYYY-MM-DDПодтверждает, что у каждого адаптера есть закрепление соглашения возрастом не более 90 дней, которое ссылается как минимум на один URL вендора и не имеет просроченной цели обнаружения. CI запускает эту проверку на каждом pull request, еженедельно и перед релизом.
python scripts/dev/check_vendor_urls.pyЗагружает каждый URL вендора, на который ссылаются закрепления и шаблоны окружений, и завершается неудачей на перемещённой или несуществующей странице, включая имя хоста, которое больше не разрешается, или сертификат, не прошедший проверку; тайм-аут, отклонённое или сброшенное соединение либо ошибка сервера 5xx регистрируются как недоступность и не приводят к неудаче. Его запускает еженедельный монитор соглашений.
python -m apothem.conformity.gate --all .Запускает проверки соответствия документации и реализации.
python -m pytestПрогоняет фикстурные тесты реестра и контрактные тесты адаптеров.

Сгенерированный справочник адаптеров окружений

HarnessScopeFormatTarget paths
Antigravity (antigravity)usermarkdown~/.gemini/GEMINI.md
~/.gemini/antigravity-cli/plugins/apothem/
Claude Code (claude-code)userjson~/.claude/.apothem/support/{templates,hooks,conformity,schemas}/
~/.claude/CLAUDE.md
~/.claude/settings.json
~/.claude/{agents,rules,skills,statuslines,output-styles}/
CodeBuddy (codebuddy)projectmarkdown<project>/.apothem/support/hooks/
<project>/.codebuddy/agents/
<project>/.codebuddy/rules/apothem-rules.md
<project>/.codebuddy/settings.local.json
~/.codebuddy/skills/
~/.config/apothem/{rules,templates}/
Codex (codex)usermarkdown~/.agents/skills/
~/.codex/AGENTS.md
~/.codex/agents/*.toml
~/.codex/hooks.json
~/.codex/hooks/
~/.config/apothem/{rules,templates}/
Cursor (cursor)projectmdc<project>/.apothem/support/cursor/hooks/
<project>/.cursor/agents/
<project>/.cursor/hooks.json
<project>/.cursor/rules/apothem-rules.mdc
~/.agents/skills/
~/.config/apothem/{rules,templates}/
Gemini CLI (gemini-cli)projectmarkdown<project>/.gemini/.apothem/support/
<project>/.gemini/{commands,skills,agents}/
<project>/GEMINI.md
GitHub Copilot (github-copilot)projectmarkdown<project>/.apothem/support/github-copilot/hooks/
<project>/.github/agents/
<project>/.github/copilot-instructions.md
<project>/.github/hooks/apothem.json
~/.agents/skills/
~/.config/apothem/{rules,templates}/
GLM (Z.ai) (glm)projecttoml<project>/.apothem/providers/glm.toml
Hermes (hermes)useryaml~/.hermes/.apothem/support/
~/.hermes/config.yaml
Kimi Code (kimi-code)projectmarkdown<project>/.kimi-code/.apothem/support/
<project>/.kimi-code/agents/
<project>/.kimi-code/skills/
<project>/AGENTS.md
Kiro (kiro)projectmarkdown<project>/.apothem/support/kiro/hooks/
<project>/.kiro/agents/
<project>/.kiro/hooks/apothem.json
<project>/.kiro/steering/apothem-rules.md
~/.config/apothem/{rules,templates}/
~/.kiro/skills/
Open-Claw (open-claw)userjson~/.openclaw/.apothem/support/
~/.openclaw/openclaw.json
OpenCode (opencode)userjson~/.config/opencode/.apothem/support/
~/.config/opencode/opencode.json
~/.config/opencode/{commands,skills,agents}/
Qwen Code (qwen-code)userjson~/.qwen/.apothem/support/
~/.qwen/QWEN.md
~/.qwen/settings.json
~/.qwen/{commands,skills,agents}/
Trae (trae)projectmarkdown<project>/.trae/agents/
<project>/.trae/rules/apothem-rules.md
~/.config/apothem/{rules,templates}/
~/.trae/skills/
Windsurf (windsurf)projectmarkdown<project>/.apothem/support/windsurf/hooks/
<project>/.devin/agents/
<project>/.devin/config.local.json
<project>/.devin/rules/apothem-rules.md
~/.agents/skills/
~/.config/apothem/{rules,templates}/
Zed (zed)projectmarkdown<project>/.rules
~/.agents/skills/
~/.config/apothem/{rules,templates}/

On this page