参考
配置参考
facade.json 接受哪些字段、默认值是什么,以及 Facade 怎么应用它们。
顶层字段
通过Agent 配置打开文件。它接受 JSON 注释和末尾逗号,写一个空对象就全部使用默认值。
| 字段 | 值 | 默认 |
|---|---|---|
yolo | 布尔值,控制 CLI 审批和 Agent 访问范围。 | true |
names | 非空白名字组成的列表,作为 Agent 的建议名字。 | 内置名字列表 |
clis | 对象,包含内置条目的覆盖和新增的命名条目。 | {},内置 CLI 仍然可用 |
$schema | 字符串,供编辑器读取 schema。 | 省略 |
CLI 条目字段
| 字段 | 值 | 默认 |
|---|---|---|
type | claude、codex、agy、muse、opencode、pi 或 custom。 | 条目名与内置 ID 完全相同时可省略;新增条目必填。 |
command | 一个可执行程序名或路径。 | 该 type 在 PATH 中的命令;custom 必填。 |
args | 原样传入的参数字符串数组。 | [] |
env | 变量名对应字符串或 null。 | {} |
model | 非空白的模型 ID。 | 由 CLI 决定。OpenCode 和 custom 不接受。 |
effort | CLI 和模型支持的非空白 effort。 | 由 CLI 决定。OpenCode 和 custom 不接受。 |
enabled | 布尔值,控制以后的启动和恢复。 | true |
icon | 内置 CLI ID 或受支持的机器人图标。 | 对应 type 的图标;custom 用 facade-pearl。 |
配置内置条目要用它精确的小写 ID,比如 codex。新条目的名字不能和任何内置 ID 或显示名称相同,仅大小写不同也算重复;例如用 Codex · work,不要用 Codex。新增条目不会继承同类型内置条目的设置。
enabled: false 会让一个本来有效的条目不显示,也不允许再启动或恢复它。已经在运行的 Agent 不受影响。
环境变量
{
"clis": {
"codex": {
"env": {
"WORK_API_KEY": "${env:WORK_API_KEY}",
"OLD_TOKEN": null
}
}
}
}- 字符串会设置变量,
null会删除变量,没写的变量沿用原值。 ${env:NAME}读取编辑器宿主的环境,不读同一个对象里的其他键。- 引用的变量不存在时,这个条目不可用。引用只在
env的值里展开一次,不在args里展开。 - 直接写的值会留在 facade.json 里。用环境引用可以让值不进这个文件,但 CLI 拿到的仍是展开后的值。
在已经打开的集成终端里设置变量,不会更新编辑器宿主的环境。要在打开编辑器之前就让它可用。
优先级与启动选项
Facade 先看这次启动指定的模型和 effort,再看条目的默认值。两处都没有,就由 CLI 决定。OpenCode 的这两项都在它自己的配置里。
内置 type 的模型和 effort 要用专用字段。Facade 还会设置审批、对话 ID、工作目录和自己的工具;与这些冲突、或者会妨碍交互式启动的参数,它都会拒绝。
Facade 在 Facade home 里找 facade.json:先看 VS Code 的 Facade: Home 设置,再看 FACADE_HOME,最后是 ~/.facade。从某个项目打开 Open Settings,看到的就是它实际用的文件。
文件错误和条目错误
整个文件出错,比如 JSON 无效、键重复或顶层字段不认识,会阻止新的启动和恢复。单个 CLI 条目出错,只有这个条目不可用。运行中的 Agent 继续运行。
按报错给出的设置路径改那个值。Facade 不会悄悄改用旧配置。常见的启动和模型服务错误见排查问题。