配置
对于受管理的实例,优先级是 环境变量 → instance config → global user config → default。 aircode start 选项在服务启动之前仍然存在于实例配置中。 预览 aircode serve 选项仅覆盖该过程的环境。
全球文件为 ~/.config/aircode/config.json。 管理的实例文件在 ~/.config/aircode/instances/<id>.json中生存;它们不被放置在项目目录中。 秘密文件使用模式 0600。 原始 Windows 前台选项列在 Windows CLI 参考中。
每例启动配置
aircode start --projects-root /srv/workspaces --host 127.0.0.1 --port 7860 \
--password-file ~/.config/aircode/workspaces-password
专用旗帜覆盖了根,名称,主机,端口,公共 URL,每个密码输入模式,以及 Relay。 任何附加的方案支持的值可以继续使用可重复的 --set key=value;值使用 JSON 当有效时:
aircode start --set maxSessions=64
aircode start --set workflows.maxConcurrent=2
aircode start --set 'browserAllowedHosts=["docs.example.com","*.internal.test"]'
使用 --json 进行无人监督的配置。 它的输出永远不会揭示现有的密码;它只有在这个召唤产生密码时才包含密码。
常见设置
| 机械 | config.json | 默认 | 用途 |
|---|---|---|---|
AIRCODE_HOST |
host |
Tailscale IP其他 127.0.0.1 |
连接地址(默认情况下从未 0.0.0.0 ) |
AIRCODE_PORT |
port |
7860 (自动扫描新实例) |
端口。 持久或明确设置的繁忙端口失败,而不是移动 |
AIRCODE_AUTH_PASSWORD |
authPassword |
生成 | 访问密码。 空字符串禁用 auth (dev only) |
AIRCODE_PROJECTS_ROOT |
projectsRoot |
发射 cwd | 目录,其子文件夹是可选择的项目 |
AIRCODE_MAX_SESSIONS |
maxSessions |
64 |
同步会话舱 |
AIRCODE_SESSION_IDLE_TTL_MS |
sessionIdleTtlMs |
21600000 |
Hibernate 完成了 6 个空闲小时后的会话; 0 也禁用了容量排放 |
AIRCODE_DEFAULT_PERMISSION_MODE |
defaultPermissionMode |
bypass |
默认代理权限模式 |
AIRCODE_DEFAULT_EXECUTION_MODE |
defaultExecutionMode |
local |
默认会话环境(local 或 docker) |
AIRCODE_DOCKER_ENABLED |
dockerEnabled |
true |
曝光可选的 Docker 执行后端 |
AIRCODE_DOCKER_IMAGE |
dockerImage |
aircode-session-runtime:local |
可选 Docker 工人图像 |
AIRCODE_DOCKER_NETWORK |
dockerNetwork |
aircode-runtime |
专用工人桥 |
AIRCODE_DOCKER_CONTROL_PORT |
dockerControlPort |
AirCode Ø 端口 + 1000 | 稳定的能力范围的工人回调 |
| — | updateChannel |
stable |
发布频道(stable / beta) |
会话冬眠只停止分离的运行时间,其最后一轮具有持久的完成标记和可重复的转录。 正在工作、等待输入、远程控制或由工作流所有的会话仍在运行。 在会话上, AirCode Ø 即刻冬眠最古老的符合条件的运行时间。 对话仍然留在历史中,并恢复正常。
引擎二进制(claudeBin, codexBin, …)和每个特征设置(浏览器,知识,管弦,代币优化)在产品设置中被记录,并接受相同的 env / 文件优先级。
请参见 Docker 沙盒 有关工人限制、网络和完整的 Docker 配置。
文件和目录
| 路径 | 内容 |
|---|---|
~/.aircode/versions/<v> |
产品(不变,支票) |
~/.aircode/current |
symlink 到活跃版本 |
~/.config/aircode/config.json |
全球用户默认 |
~/.config/aircode/instances/<id>.json |
每次实例配置,包括其密码(0600) |
~/.config/aircode/providers.env |
提供商凭证由 Unix 用户共享(0600) |
~/.config/systemd/user/aircode@.service |
每个受管理实例的一个生成的 systemd 模板 |
~/.local/state/aircode/instances/<id>/ |
孤立的运行时间、隧道和会话状态 |
~/.local/state/aircode/relay-account.json |
管理的 Relay 帐户凭证由 Unix 用户共享 (0600) |
更新永远不会触摸 instance config 或状态。
多个实例
加拿大根决定了默认身份。 不同的根自然产生不同的实例。 对于一个根,不同的明确端口创建或重复使用独立的自动命名的实例,而不是更改和重新启动默认的实例。 --name 提供一个稳定的角色导向身份,当你想要一个。 每个实例都会收到自己的端口、密码/无密码策略、 tmux 名称空间、状态和隧道身份。
aircode start --projects-root /srv/acme --port 7860 --generate-password
aircode start --projects-root /srv/acme --port 7861 --no-password --relay private
aircode start --projects-root /srv/acme --name demo --port 7862 --generate-password
aircode ps -a
若要更改现有实例的端口,请以名称或 ID明确选择该实例。 一个新的端口的根式命令故意被视为一个新的实例,因此它不能默默地将当前服务器脱机。
生命周期命令接受名称,完整或简短的 ID, Canonical 根,或当前目录。 根选择器在使用多个命名实例时故意被拒绝为模糊;选择名称或 ID。
多用戶機器
每个操作系统用户拥有单独的注册表、全球默认、提供商凭证、管理的 Relay 授权和一组 systemd 用户服务。 在该用户内部,每个路径范围的实例仍然有自己的端口,密码,状态和会话。 aircode start 创建并启用正确的模板实例;旧的 aircode service install 命令仅用于兼容性。
免费产品访问
自动管理产品不需要产品密钥、激活、卡片或试用。 它仍然可以完全在线使用,并且在旧许可证或试用记录到期时不会限制会话启动。
aircode license 命令只保留,以便历史安装可以检查或删除旧记录。 这些记录不会改变当前的产品访问。 有关托管 Relay 和 Marketplace 操作的单独账户要求,请参阅 下载。