Переменные окружения установщика
Управляйте скриптовым установщиком (место установки, источник, окружение, профиль, проверка) с помощью переменных окружения.
Цель: управлять install.sh / install.ps1 без редактирования скрипта, задавая
переменные окружения перед его запуском.
Предварительные условия
- POSIX-оболочка (
bash) или PowerShell 5.1+. Приведённые ниже примеры для PowerShell запускаютpwsh(PowerShell 7+). В Windows PowerShell 5.1 вместо этого выполнитеpowershell -NoProfile -ExecutionPolicy Bypass -File install.ps1. - Переменные читаются один раз в начале установщика, поэтому задайте их в той же команде (или сначала экспортируйте их), затем запустите установщик.
Переменные установщика
| Переменная | Чем управляет | По умолчанию |
|---|---|---|
APOTHEM_HOME | Место установки клонированного дерева исходного кода | $HOME/.apothem |
APOTHEM_REPO | Удалённый Git-репозиторий для клонирования | https://github.com/ahmed-g-gad/apothem |
APOTHEM_REF | Git-ссылка для переключения; если не задана, выбирается последний подписанный тег vMAJOR.MINOR.PATCH, значение-тег закрепляет его, main выбирает подвижную ветку. Ссылка, которая не является тегом, например main, прерывает выполнение, если не задано APOTHEM_ALLOW_UNVERIFIED=1. | не задана (последний подписанный тег) |
APOTHEM_ALLOW_UNVERIFIED | При значении 1 понижает сбой проверки подписи тега с фатального прерывания до предупреждения | 0 (проверка; при сбое — прерывание) |
APOTHEM_VERIFY | signature проверяет GPG-подпись тега релиза; checksum устанавливает архив релиза для платформы после сверки его SHA-256 с SHA256SUMS релиза (это проверка целостности, а не доказательство того, кто его опубликовал) | signature |
APOTHEM_RELEASE_BASE | Базовый адрес загрузки для режима контрольных сумм | <APOTHEM_REPO>/releases/download |
APOTHEM_SOURCE | Явно заданное локальное дерево исходного кода вместо клонирования | не задана (клонирование) |
APOTHEM_HARNESS | Окружение уровня пользователя для установки (antigravity, claude-code, codex, hermes, open-claw, opencode, qwen-code). Установщик не передаёт --project, поэтому окружение уровня проекта завершается ошибкой project.required; устанавливайте такие окружения после этого командой apothem install --harness NAME --project PATH. | claude-code |
APOTHEM_PROFILE | Путь к YAML-файлу общего профиля | $HOME/.config/apothem/profile.yaml |
APOTHEM_SKIP_VERIFY | При значении 1 пропускает шаг проверки после установки | 0 (проверка выполняется) |
APOTHEM_AUTO_INSTALL_DEPS | При значении 1 автоматически, без запроса, устанавливает недостающие предварительные требования click / rich | 0 (запрос; в неинтерактивном конвейере — отказ) |
APOTHEM_BIN_DIR | Каталог для размещаемого шима команды apothem | $HOME/.local/bin (POSIX); %LOCALAPPDATA%\Microsoft\WindowsApps (Windows) |
NO_COLOR | Отключает цветной вывод, если задана с любым значением (no-color.org); цвет также всегда отключён, когда вывод направлен не в терминал (в конвейер, файл или журнал CI) | не задана (цвет только в интерактивном терминале) |
APOTHEM_SOURCE имеет приоритет над клонированием: если переменная указывает
на чекаут, содержащий src/apothem, установщик использует его напрямую,
никогда не обращается к APOTHEM_REPO / APOTHEM_REF и пропускает определение
тега и проверку подписи (ничего не загружается, поэтому проверять нечего).
Если APOTHEM_HOME указывает на существующий каталог, который не является
git-клоном, установщик отказывается его удалять: переместите его в сторону,
направьте APOTHEM_HOME в другое место или передайте --yes (-Yes в
Windows), чтобы разрешить замену. Устаревший пустой каталог заменяется и без
этого флага.
Модель доверия
Если APOTHEM_REF не задана, установщик определяет последний подписанный тег
релиза и проверяет его подпись с помощью git verify-tag до материализации
какой-либо конфигурации; неподписанный или подделанный тег прерывает установку.
Если открытый ключ сопровождающего, которым подписан тег, отсутствует в
локальной связке ключей, установка вместо этого прерывается с инструкциями по
импорту ключа — импортируйте ключ и сверьте его отпечаток со значением,
опубликованным в
SECURITY.md.
Закрепите известный релиз с помощью APOTHEM_REF=<tag>, взяв тег со
страницы релизов;
закреплённый тег проверяется так же. Выберите подвижную ветку с помощью
APOTHEM_REF=main вместе с APOTHEM_ALLOW_UNVERIFIED=1; такая установка не
проверяется, а main без этой переменной прерывает установку, потому что ветка
не является подписанным тегом. Задайте APOTHEM_ALLOW_UNVERIFIED=1 отдельно,
чтобы продолжить после сбоя проверки с предупреждением (для изолированной от
сети среды, локального использования или использования до появления
подписанного релиза).
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.shAPOTHEM_VERIFY=checksum bash install.shAPOTHEM_ALLOW_UNVERIFIED=1 bash install.shШаги (POSIX bash)
-
Установите окружение уровня пользователя, отличное от окружения по умолчанию:
APOTHEM_HARNESS=codex bash install.sh -
Закрепите место установки и выберите подвижную ветку
main. Ветка не является подписанным тегом, поэтому установщику также нуженAPOTHEM_ALLOW_UNVERIFIED=1:APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh -
Используйте локальный чекаут и собственный профиль, пропустив проверку:
APOTHEM_SOURCE=/work/apothem \ APOTHEM_PROFILE=/work/profile.yaml \ APOTHEM_SKIP_VERIFY=1 \ bash install.sh
Шаги (PowerShell)
Задайте каждую переменную через $env: перед запуском установщика:
$env:APOTHEM_HARNESS = 'codex'
pwsh -NoProfile -File install.ps1$env:APOTHEM_ALLOW_UNVERIFIED = '1'
$env:APOTHEM_REF = 'main'
$env:APOTHEM_HOME = 'C:\opt\apothem'
pwsh -NoProfile -File install.ps1$env:APOTHEM_SOURCE = 'C:\work\apothem'
$env:APOTHEM_PROFILE = 'C:\work\profile.yaml'
$env:APOTHEM_SKIP_VERIFY = '1'
pwsh -NoProfile -File install.ps1Проверка
Установщик выводит ✓ Harness <name> installed, затем (если не задано
APOTHEM_SKIP_VERIFY=1) ✓ verify passed. Подтвердите это независимо:
apothem verify --harness codexДля окружения уровня проекта, например Cursor, выполните установку и проверку
самостоятельно после установщика, с --project:
apothem install --harness cursor --project /path/to/project
apothem verify --harness cursor --project /path/to/projectЕсли профиля ещё не было, установщик создаёт его из примера и продолжает
установку и проверку в том же запуске. Поля идентичности в примере —
заполнители, поэтому установка выводит примечание; отредактируйте
$APOTHEM_PROFILE, затем выполните apothem update --harness <name>, чтобы
применить свою идентичность. --dry-run без профиля выполняет предварительный
просмотр с подставленным примером и ничего не записывает.
Связанные материалы
- Установка описывает одношаговую сетевую установку.
- Добавление окружения описывает добавление окружений через CLI после первой установки.
Добавить окружение
Включите адаптер окружения, чтобы его нативная конфигурация материализовалась из общего профиля.
Run the behavioural evals
Measure whether Apothem's commands and subagents fire on the right requests, whether each pipeline stage produces its artifact, and whether a rule changes behaviour, with a cost-capped eval run.