Skip to content
Apothem
操作指南

安装器环境变量

通过环境变量控制脚本安装器(目标位置、来源、工具、配置档案、验证)。

目标:在运行 install.sh / install.ps1 之前设置环境变量,从而在不编辑脚本的情况下驱动它们。

前置条件

  • 一个 POSIX shell(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 ref;未设置时解析最新的已签名 vMAJOR.MINOR.PATCH 标签,设置为某个标签值则将其固定,设置为 main 则选择会持续变动的分支。main 这类非标签 ref 会中止,除非设置 APOTHEM_ALLOW_UNVERIFIED=1。未设置(最新的已签名标签)
APOTHEM_ALLOW_UNVERIFIED设置为 1 时,将标签签名验证失败从致命中止降级为警告0(验证,失败即关闭)
APOTHEM_VERIFYsignature 验证发布标签的 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(Windows 上为 -Yes)以授权替换。陈旧的空目录无需该标志即会被替换。

信任模型

在未设置 APOTHEM_REF 时,安装器会解析最新的已签名发布标签,并在物化任何配置之前用 git verify-tag 验证其签名;未签名或被篡改的标签会中止安装。对于维护者公钥不在本地密钥环中的已签名标签,安装器则会中止并给出密钥导入指引——导入该密钥,并将其指纹与 SECURITY.md 中公布的值进行核对。使用 APOTHEM_REF=<tag> 固定一个已知的发布,标签取自发布页面;被固定的标签以同样的方式验证。要选择会持续变动的分支,请使用 APOTHEM_REF=main 并同时设置 APOTHEM_ALLOW_UNVERIFIED=1;该安装未经验证,而单独设置 main 会中止,因为分支不是已签名的标签。单独设置 APOTHEM_ALLOW_UNVERIFIED=1,则会在验证失败时带着警告继续(适用于物理隔离网络、本地环境,或早于签名发布的版本)。

Pinned, verified install
APOTHEM_REF=vMAJOR.MINOR.PATCH bash install.sh
Check the archive digest when the signing key is not imported
APOTHEM_VERIFY=checksum bash install.sh
Proceed without verification (interim / air-gapped)
APOTHEM_ALLOW_UNVERIFIED=1 bash install.sh

步骤(POSIX bash)

  1. 安装一个非默认的用户作用域工具:

    APOTHEM_HARNESS=codex bash install.sh
  2. 固定安装目标位置,并选择会持续变动的 main 分支。分支不是已签名的标签,因此安装器还需要 APOTHEM_ALLOW_UNVERIFIED=1:

    APOTHEM_REF=main APOTHEM_ALLOW_UNVERIFIED=1 APOTHEM_HOME=/opt/apothem bash install.sh
  3. 使用本地检出和自定义配置档案,并跳过验证:

    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 添加工具。

On this page