跳到主要内容

环境变量

IaC Code 从 CLI 参数、环境变量和配置文件读取配置。优先级为:

CLI 参数 > 环境变量 > 配置文件

环境变量适用于 CI/CD 流水线、容器场景,以及无需编辑配置文件的一次性覆盖。

LLM 配置

变量说明
IAC_CODE_PROVIDER模型提供商名称(大小写不敏感)。有效值:DashScopeDashScope Token PlanOpenAIAnthropicDeepSeekGeminiAzure OpenAIModelScopeKimi CNKimi IntlMiniMax CNMiniMax IntlZhiPu CNZhiPu IntlVolcengine CNSiliconFlow CNSiliconFlow IntlAliyun CodingPlanAliyun CodingPlan IntlZhiPu CN CodingPlanZhiPu Intl CodingPlanVolcengine CodingPlanOpenAPI CompatibleAnthropic CompatibleOpenRouterOllamaLM Studio
IAC_CODE_MODEL模型名称
IAC_CODE_BASE_URL当前激活 Provider 的 API 端点覆盖;优先于配置文件中的 apiBase 和内置默认 URL
IAC_CODE_API_KEY提供商 API Key;覆盖 .credentials.yml 中活跃提供商的密钥

详见 LLM 提供商

阿里云凭证

变量说明
ALIBABA_CLOUD_ACCESS_KEY_IDAccessKey ID
ALIBABA_CLOUD_ACCESS_KEY_SECRETAccessKey Secret
ALIBABA_CLOUD_SECURITY_TOKENSTS token;设置后凭证模式切换为 STS
ALIBABA_CLOUD_REGION_ID默认地域
ALIBABA_CLOUD_ECS_METADATA可选的 ECS RAM 角色名称;仅在模式已配置为 EcsRamRole 且未保存角色名称时使用,不会自行选择认证模式
ALIBABA_CLOUD_ECS_METADATA_DISABLED设为 true 可禁用 ECS 实例元数据凭证
ALIBABA_CLOUD_IMDSV1_DISABLED设为 true 可要求使用 IMDSv2,并禁止回退到 IMDSv1

ECS 元数据相关变量仅在凭证模式已配置为 EcsRamRole 后生效。IaC Code 中保存的角色名称优先于 ALIBABA_CLOUD_ECS_METADATA;两者均未设置时,会通过 IMDS 自动发现角色名称。

详见 阿里云凭证

遥测

变量说明
IAC_CODE_DISABLE_NONESSENTIAL_TRAFFIC设为 1 / true / yes / on 可禁用非必要遥测流量
DISABLE_TELEMETRY设为 1 / true / yes / on 可禁用全部遥测
IAC_CODE_TELEMETRY_ENDPOINTOTLP 基础端点;各信号端点默认使用此值
IAC_CODE_TELEMETRY_TRACES_ENDPOINT覆盖 traces 端点
IAC_CODE_TELEMETRY_METRICS_ENDPOINT覆盖 metrics 端点
IAC_CODE_TELEMETRY_LOGS_ENDPOINT覆盖 logs 端点
IAC_CODE_TELEMETRY_HEADERS自定义 OTLP 请求头(JSON 或 key=value 格式)
IAC_CODE_CHANNEL稳定、低基数的遥测来源渠道(默认:unknown),例如 ros_officialpartner_acme

其他

变量说明
IAC_CODE_CONFIG_DIR覆盖运行时配置目录(默认 ~/.iac-code/);支持 ~$VAR 展开。所有持久化产物(凭证、设置、历史、projects、image-cache、skills、telemetry 等)均会跟随该目录
IAC_CODE_LOG_DIR覆盖本地启动/调试日志目录(默认 <config-dir>/logs/);支持 ~$VAR 展开。权限审计记录遵循 session layout,不会被此变量移动
IAC_CODE_PERMISSION_AUDIT_INCLUDE_TOOL_INPUT覆盖 permissions.audit.include_tool_input;设为 1 / true / yes / on 时,在权限审计记录中包含仅保留形态的工具输入,使用类型/长度/指纹而不是业务原文,并对非白名单字段名使用指纹
IAC_CODE_ENV部署环境标签(默认:production
IAC_CODE_TENANT_ID遥测租户标识;如未以 iac_tenant_ 开头则自动添加前缀
IAC_CODE_GIT_BASH_PATHWindows 下 Git Bash bash.exe 的路径(不在 PATH 中时使用)
IAC_CODE_A2A_PUSH_KEYRING由环境管理的 A2A 加密推送密钥环(JSON 格式)
OTEL_EXPORTER_OTLP_ENDPOINT标准 OpenTelemetry 端点;设置后启用 OTLP 导出
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT在 span 上捕获 GenAI 消息/工具内容:SPAN_ONLYEVENT_ONLYSPAN_AND_EVENT

会话备份

变量说明
IAC_CODE_CONFIG_BACKUP_DIR可选的会话备份目录,支持 ~$VAR 展开,在 Windows 上也支持 %VAR% 展开。PowerShell 中请传入具体路径,或在启动 iac-code 前让 shell 展开 $env:VAR。在 sandbox 部署中通常指向 OSS 挂载路径,但必须独立于 IAC_CODE_CONFIG_DIR 和任何 session 源目录且不能互相重叠,并且关键检查点需要足够低延迟。UNC 路径、映射盘和 OSS 挂载路径必须保留 .backup-lock 文件锁、原子替换和文件元数据语义,才能支持增量镜像;活动 session 源目录、备份根目录和镜像 session 路径都应避免符号链接、junction 或 reparse point 祖先路径。启用后,检查点会把每个 v2 会话按原目录结构镜像到 <backup>/projects/<project>/<session_id>/.backup-state.json.backup-lock 只保留在本地,不会复制。普通对话轮次结束备份使用 normal_turn_end 且不阻塞响应;只有 critical=true 检查点失败才会阻塞发布。共享 A2A task/context 索引可以单独挂载。
IAC_CODE_CONFIG_BACKUP_TMP_DIRiac-code a2a 可选的本地临时备份目录,必须同时配置 IAC_CODE_CONFIG_BACKUP_DIR。A2A 备份只阻塞到本地不可变快照 <session_id>_vX 完成,随后由独立进程按版本顺序复制到最终备份目录,成功后删除本地快照。两个目录必须是互不重叠的绝对路径,且临时目录必须位于 IAC_CODE_CONFIG_DIR 之外。其他运行模式忽略此配置。