跳到主要内容

配置

IaC Code 会从 CLI 参数、环境变量以及运行时配置目录中的文件读取配置。

配置优先级:

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

运行时目录默认为:

~/.iac-code/

可通过设置 IAC_CODE_CONFIG_DIR 环境变量更改该目录(支持 ~$VAR 展开)。设置后,所有持久化产物——凭证、设置、历史、projects/image-cache/tool-results/logs/memory/a2a/telemetry/skills/——都会跟随到新位置。

常见文件:

文件说明
.credentials.ymlLLM 凭证
.cloud-credentials.yml云厂商凭证
settings.yml已选择的提供商、模型和相关设置
history files交互式工作流的输入历史

避免提交或分享该目录中的文件,因为它们可能包含密钥或本地偏好。

项目级设置

除了用户级的 ~/.iac-code/settings.yml,IaC Code 还会从当前工作目录加载项目级设置:

文件作用范围
.iac-code/settings.yml项目共享设置(可以提交到版本库)。
.iac-code/settings.local.yml本地覆盖(应加入 .gitignore)。

合并顺序:用户设置 → 项目设置 → 项目本地设置 → CLI 参数(后者覆盖前者)。

工具权限配置

settings.yml 中的 permissions 部分用于配置工具操作的允许、拒绝或需要确认的规则:

permissions:
mode: default
allow:
- "bash(git *)"
- "bash(ls:*)"
deny:
- "bash(rm -rf *)"
ask:
- "bash(curl:*)"
additional_directories:
- "/tmp/workspace"
字段说明
mode权限模式:defaultaccept_editsbypass_permissionsdont_ask
allow自动批准的工具权限模式列表。
deny自动拒绝的工具权限模式列表。
ask始终需要确认的工具权限模式列表。
additional_directories允许代理写入的额外目录(cwd 之外)。

模式语法

工具权限模式遵循 tool_name(rule) 格式:

模式含义
bash匹配所有 bash 命令(裸工具名)。
bash(git *)匹配以 git 开头的 bash 命令。
bash(curl:*)匹配以 curl 开头的 bash 命令。
write_file匹配所有 write_file 工具调用。

规则按以下顺序评估:deny → ask → allow → 默认行为。CLI 参数(--allowed-tools--disallowed-tools)具有最高优先级。