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

Codex

Адаптер окружения Apothem для Codex (бета).

Поставщик: OpenAI Имя установки: codex Статус: Бета Нативная конфигурация: ~/.codex/AGENTS.md, ~/.codex/hooks.json, ~/.codex/hooks/, ~/.codex/agents/*.toml и ~/.agents/skills/

Установка

apothem install --harness codex

Адаптер устанавливает нативные для Codex инструкции и хуки, преобразует исполнителей Apothem в TOML-исполнителей Codex и оборачивает повторно используемые промпты команд в навыки Codex.

Записываемые файлы: ~/.codex/AGENTS.md, ~/.codex/hooks.json, ~/.codex/hooks/, ~/.codex/agents/*.toml, ~/.agents/skills/*/SKILL.md, ~/.agents/skills/*/agents/openai.yaml для навыков, вызываемых пользователем, и вспомогательные файлы в ~/.config/apothem/{rules,templates}/.

Интерпретатор хуков. Прежде чем что-либо записать, установка определяет интерпретатор CPython 3.10+. В Windows запись commandWindows каждого хука в hooks.json запускает абсолютный путь этого интерпретатора вместо лаунчера py -3; записи POSIX command по-прежнему используют python3. Повторно выполните apothem update --harness codex после того, как интерпретатор переместили или удалили. Если интерпретатор CPython 3.10+ не найден, установка останавливается до записи любого файла.

Блок Apothem в AGENTS.md завершается разделом о вспомогательных файлах Apothem, который называет абсолютный каталог, относительно которого разрешается каждая ссылка в стиле репозитория в установленных навыках и правилах: rules/<name>.md и templates/... — в ~/.config/apothem/, а hooks/... — в ~/.codex/hooks/. Установка для Codex не поставляет дерево schemas/ или conformity/, поэтому раздел не перечисляет ни то, ни другое.

Навыки, вызываемые пользователем. Codex игнорирует ключ disable-model-invocation. Для каждого навыка или команды, в исходнике которых задано disable-model-invocation: true, адаптер записывает рядом с их SKILL.md файл agents/openai.yaml с policy.allow_implicit_invocation: false, поэтому Codex не выбирает такой навык самостоятельно; вы по-прежнему можете запустить его явно с помощью $skill-name. См. документацию Codex по навыкам.

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

Адаптер читает общие группы Apothem и устанавливает каждую в соответствующую поверхность Codex: инструкции — в AGENTS.md, хуки — в hooks.json и hooks/, исполнителей — в TOML, навыки — в ~/.agents/skills/, а ненативные правила и шаблоны в формате Markdown — в ~/.config/apothem/ как вспомогательный материал.

Каждый преобразованный помощник задаёт name, description и developer_instructions, который содержит тело помощника. Ни модель, ни уровень усилий рассуждения не задаются, поэтому каждый помощник наследует выбор сессии. В Codex нет списка инструментов или лимита ходов для отдельного помощника, поэтому tools и maxTurns помощника не переносятся.

Помощники только для чтения (см. справочник по помощникам) указывают в своих инструкциях, что ничего не редактируют. Режим только для чтения обеспечивается песочницей родительской сессии, а не TOML-файлом помощника: каждый помощник работает с настройками песочницы и подтверждений той сессии, которая его запустила. Файл помощника не может переопределить режим песочницы сессии, политику подтверждений, поставщика модели или серверы MCP, поэтому адаптер не записывает ничего из этого, а инструкции помощника могут попросить его избегать правок, не создавая отдельной песочницы только для чтения. Чтобы ограничение только для чтения стало обязательным, задайте настройки песочницы и подтверждений для самой сессии Codex. Сборка Codex, более старая, чем выпуск, в котором появилось это ограничение, может по-прежнему учитывать sandbox_mode в файле помощника; Apothem не установил, какой это выпуск, и в любом случае не записывает sandbox_mode.

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

~/.agents/skills/ — это общий корневой каталог, которым владеет Codex: его загружают также девять других поддерживаемых инструментов (их перечисляет реестр окружений), поэтому навыки Apothem, которые туда записывает установка для Codex, появляются и в этих инструментах. Четыре из этих инструментов также сами записывают эту папку, когда вы их устанавливаете (реестр перечисляет их как соустановщиков), с теми же файлами, что записывает установка для Codex, поэтому навыки присутствуют и на машине без установки для Codex. То же относится к правилам и шаблонам в ~/.config/apothem/, которые также записывают семь адаптеров с областью проекта. Папка всегда находится в вашем домашнем каталоге пользователя, каким бы ни был CODEX_HOME: Codex читает $HOME/.agents/skills, поэтому CODEX_HOME, отличный от ~/.codex, перемещает файлы Codex, но не навыки. Каждая установка Apothem, использующая эту папку, записывает туда одни и те же файлы, а установка записывает, какие установки её используют, поэтому порядок установки не имеет значения. Удаление для Codex убирает навыки, только если никакая другая установка Apothem их больше не использует; в противном случае оно сохраняет их и сообщает, какие установки их используют (см. Удаление). Зарегистрированный владелец — это инструмент, для которого поставщик документирует этот путь. Установка, разместившая файлы, — та, которая всё ещё их использует, и примечание установки называет её. Папка навыка, которую Apothem не записывал и имя которой совпадает с именем навыка Apothem, остаётся нетронутой, с предупреждением, в котором она названа. Установка выводит примечание, в котором названы эти инструменты. ~/.codex/agents/ — второй общий корень: ещё один поддерживаемый инструмент указывает эту папку как совместимое расположение (его называет реестр), а его документация не сообщает, читает ли он TOML-файлы, которые туда записывает установка для Codex.

Codex резервирует ~/.codex/rules/ для политик выполнения .rules. Apothem не размещает там поведенческие правила в формате Markdown; он хранит их в ~/.config/apothem/ и ссылается на них из AGENTS.md и установленных навыков.

Плагин Codex

Apothem также поставляет плагин Codex, добавляемый из маркетплейса плагинов репозитория (руководство по установке перечисляет команды в разделе канала 7). Плагин является загрузчиком: он содержит один входной навык, который запускает движок, а apothem install --harness codex записывает всё перечисленное выше.

Плагин находится в plugins/apothem/. Его манифест — корневой plugin.json, расположение, которое Codex документирует для нового пакета. Манифест не указывает путь к навыкам, потому что Codex обнаруживает каталог skills/ плагина от корня плагина. Файл .codex-plugin/plugin.json остаётся рядом как резервный вариант совместимости для сборок Codex, которые читают только это более старое расположение; Codex по-прежнему его поддерживает и считает корневой манифест каноническим для идентичности плагина. Оба файла содержат версию выпуска, а тест сверяет их с версией движка.

Плагин не содержит исполнителей, хуков или серверов MCP. Codex не документирует компонент пользовательских исполнителей для плагинов, поэтому движок продолжает записывать исполнителей в ~/.codex/agents/*.toml. Хуки, входящие в плагин, ограничены плагинами, установленными вручную в Codex desktop, и не считаются доверенными автоматически, поэтому движок продолжает записывать их в ~/.codex/hooks.json.

Запись в маркетплейсе задаёт блок policy, который Codex предписывает авторам включать всегда: policy.installation равен AVAILABLE, а policy.authentication — ON_INSTALL, это значения по умолчанию, которые Codex документирует для новой записи.

Проверка

apothem verify --harness codex

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

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

Обновление

apothem update --harness codex

Обновляет загрузочную конфигурацию Codex, преобразованных исполнителей, навыки и вспомогательные группы.

Папки навыков в ~/.agents/skills/ записываются в одной форме, общей для всех установок Apothem в эту папку: ключи заголовка SKILL.md version, updated, archetype и portability находятся в карте metadata, а userInvocable записывается как user-invocable. Первое обновление после перехода на новую версию переписывает в эту форму папки, записанные ранее установкой для Codex, и создаёт резервную копию каждой изменяемой папки. apothem rollback --harness codex восстанавливает их.

Удаление

apothem uninstall --harness codex

Удаляет блок Apothem из ~/.codex/AGENTS.md и сохраняет любой текст за его пределами, а также удаляет записи Apothem из ~/.codex/hooks.json, сохраняя ваши. Также удаляет файлы Apothem в ~/.codex/hooks/, ~/.codex/agents/, ~/.agents/skills/ и ~/.config/apothem/{rules,templates}/, если только их не использует ещё другая установка Apothem (удаление сохраняет такие файлы и перечисляет их); остальные файлы в этих каталогах остаются. Навыки, удалённые из ~/.agents/skills/, исчезают и из других инструментов, которые его загружают (см. Заметки о совместимости). Если вы задали CODEX_HOME как папку, отличную от ~/.codex, и устанавливали более ранним выпуском, копии, которые тот выпуск записал рядом с этой папкой (<CODEX_HOME>/../.agents/skills/ и <CODEX_HOME>/../.config/apothem/), не удаляются; удалите их вручную. Резервная копия каждого файла создаётся в ~/.apothem/backups/ до того, как он будет изменён или удалён. YAML общего профиля и движок Apothem не затрагиваются.

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

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

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

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

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

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

См. также

On this page