Cli 导读

用命令行改配置,不用进交互向导

`openclaw config` 让你在脚本或终端里直接 get/set/unset 配置项,路径用点号或方括号(如 `agents.list[0].id`)。最常用的场景是快速改一个值:`openclaw config set agents.defaults.heartbeat.every "2h"`。注意值默认按 JSON5 解析,字符串要加引号,否则可能被当成变量。

先讲这一页到底在解决什么

用命令行改配置,不用进交互向导

`openclaw config` 让你在脚本或终端里直接 get/set/unset 配置项,路径用点号或方括号(如 `agents.list[0].id`)。最常用的场景是快速改一个值:`openclaw config set agents.defaults.heartbeat.every "2h"`。注意值默认按 JSON5 解析,字符串要加引号,否则可能被当成变量。

原文共 15 节,先看 Start Here 路径:/cli/config 查看官方原文

第一步

🗂 先别被命令吓到,它其实就分两拨人

一拨人在“动总账本”,一拨人在“看总账本和规则书”。先分组,脑子就不乱了。

👀

get

只是看,不下手。像把账本翻到某一页,看现在写了什么。

✍️

set

真的改。像把某一格重新写上新的值。

🧹

unset

把那一格擦掉。不是改成“空字符串”,而是把这项配置拿掉。

📘

file / schema / validate

一个看账本放哪,一个看规则长什么样,一个做整本检查。

第二步

🚪 路径像门牌号,越长就表示你走得越里面

点号和方括号看起来很工程,其实只是“沿着门牌往里走”。

openclaw config get browser.executablePath

像问:“浏览器那间房里,真正开门的程序现在写的是谁?”

openclaw config set agents.defaults.heartbeat.every "2h"

像走进 agent 默认设置那间房,把“多久报一次平安”改成两小时。

agents.list[0].tools.exec.node

方括号里的 [0] 像“先打开第 1 个抽屉”,再继续往里面找小盒子。

openclaw config unset plugins.entries.brave.config.webSearch.apiKey

像沿着一串门牌走到底,把 Brave 搜索那把钥匙整把拿掉。

第三步

🪄 set 不止一种改法,它有四种手势

这是这页最值钱的地方。别只记“set 能改值”,要记住它有四种改东西的方式。

1

普通写值

最直接。像把门牌号改成 19001,把路径改成另一个文件位置。

2

SecretRef builder

不是把秘密写进账本,而是写一张“去哪里拿秘密”的取件单。

3

Provider builder

更进一步,直接把“取秘密的机器”装进系统里。

4

Batch mode

一次改很多格,不一条条敲,直接递一张施工总单。

命令翻译

🔐 SecretRef builder 这段,其实是在写“藏宝图”

官方命令看着长,是因为它不是在写秘密本身,而是在写“秘密藏在哪”。

openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN

这整句翻成人话就是:“Discord 机器人门卡不直接写在账本里。去默认秘密仓库里,从环境变量那一排,找编号叫 DISCORD_BOT_TOKEN 的那张卡。”

--ref-provider

像在说“去哪个仓库拿”。

--ref-source

像在说“仓库里是从哪一类架子拿”。这里是环境变量那一架。

--ref-id

像那张卡的具体编号。没有编号,仓库管理员也不知道该递哪张。

命令翻译

🏭 Provider builder 是“把取件机器先装好”

如果 SecretRef 像取件单,那 provider 就像取件柜本身。尤其 exec 模式,画面感最强。

openclaw config set secrets.providers.vault --provider-source exec --provider-command /usr/local/bin/openclaw-vault --provider-arg read --provider-arg openai/api-key --provider-timeout-ms 5000

这句像在说:“装一台叫 vault 的取件机。它的工作方法是运行 openclaw-vault,对它说 read openai/api-key,最多等 5 秒。”

--provider-command

像告诉工人:“机器本体就放这儿,按这个按钮启动。”

--provider-arg

像塞给机器一张小纸条,告诉它这次去取什么。

--provider-json-only / trusted-dir

这些像给机器加护栏:只能交规定格式的东西,只能在可信角落里开工。

命令翻译

📦 Batch mode 是“拿总施工单进场”

当你一次要改很多处,官方建议用 --batch-json--batch-file。这会比你一条条敲稳得多。

openclaw config set --batch-json '[...]'

像施工队进场前先拿到一张总单:第一项装默认秘密仓库,第二项把 Discord token 指过去。不是现场边想边改。

openclaw config set --batch-file ./config-set.batch.json --dry-run

像先把施工单写进文件,再叫师傅照单演练一遍,但先不真的动墙。

批处理以施工单为准

官方特地强调:在 batch 模式里,真正算数的是那张整单,不是别的零碎参数。

🎈 一句话

零改动用镊子,一大串改动用施工单。

最重要的保险

🧪 --dry-run 就像“先彩排,不真动工”

这部分真的要记住。因为它能帮你在写坏账本之前,先看一遍这次操作会不会撞墙。

🎭

--dry-run

先演一遍,不落笔,不写入 openclaw.json

📏

Schema 检查

像看零件形状对不对,别把圆钉往方孔里塞。

🔎

Resolvability 检查

像确认藏宝图指向的地方,真的能拿到那把钥匙。

⚠️

--allow-exec

默认不会真的跑取件命令,免得副作用乱飞。你愿意时,再显式让它试跑。

最后一圈

validate 是“全屋总验收”,schema 是“把规则本摊开”

这几个小命令看起来不起眼,但很实用。

openclaw config file

像问:“我现在改的,到底是桌上哪一本账本?”

openclaw config schema

像把空白标准表整本摊开,让你看每个格子该长什么样。

openclaw config validate --json

像请验收员巡完一圈后,顺手给你一份机器也能读懂的验收单。

📌 记一句

config 最稳的用法不是“闷头硬改”,而是“先看路径,再彩排,最后验收”。

最后总结

🎈 把这页压成一句最短的话

openclaw config 就是你拿着小镊子改总账本:门牌要找准,秘密别明写,大改动递施工单,真下手前先彩排,改完再整体验收。

如果你想看“有人带着你一步步改”,下一页就去 /cli/configure。它是同一栋楼里的带路老师版。