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