上一篇居然是4月初,已经有二十多天没写部落格了(大嘘)

这几天用AI用的很爽了,感觉AI进化太快了。那么我们也不能原地不长进,要多用AI,跟紧时代的步伐防止很快被时代淘汰。只用claude-code或者是codex还是不够的,这次我们尝试加入skill,尽量实现一个完全自动化的流程。

不过要小心数据可别泄露了

openclaw with API

之前用的本地模型笨笨的,而且还吃本地内存显存,导致跑不了什么大程序,在本地内存吃力的情况下显然不是一个好选择,我们这次切换成API接入外部模型。

首先重新配置一下openclaw,运行openclaw onboard,这次在config handling选择use existing values来稍微节省一点时间。

这次主要的改变是在模型选择的时候选择(已经买过API的)非本地模型,比如我这里选择Anthropic,在Anthropic auth method下选择Anthropic API key.

如果你是自己买的API,直接填入自己的API即可。

如果是买了中转API,这个时候一般会提供两个环境变量,一般是xxx_BASE_URL,连接到中转站,一个是xxx_API_KEY(或者是其他名字),是中转站提供我们的密钥,这个密钥作为openclaw onboard中要填入的API。之后我们还需要把BASE_URL填到~/.openclaw/openclaw.json下。不过也可以使用openclaw config set命令,可以更加安全一些:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
openclaw config set 'models.providers.anthropic' '{
"api": "anthropic-messages",
"baseUrl": "<baseurl>",
"models": [
{
"id": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 8192
}
]
}'

如果用的是OpenAI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
openclaw config set 'models.providers.openai' '{
"api": "openai-responses",
"baseUrl": "https://ai4xy.com/codex",
"models": [
{
"id": "gpt-5.2",
"name": "GPT-5.2",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 8192
}
]
}'

之后切换model可以通过openclaw models set openai/gpt-5.2.

配置完成之后可以打开openclaw tui简单对话几句,确认没有问题。

environment variable

如果要openclaw启动claude-code或者codex,还要保证openclaw看得见相关的环境变量。比如我这里是system user service,所以openclaw-gateway.service不自起shell,不读.zshrc,所以如果用openclaw打开子进程应该是看不见相关的API KEY或者是中转KEY,具体可以通过一些命令查一查确认(大家可以问AI,或者cat /proc/$(systemctl --user show -p MainPID --value openclaw-gateway)/environ | tr '\0' '\n' | grep -E 'ANTHROPIC|OPENAI|CODEX' | sort),总之我这里是openclaw看不到这些环境变量,所以无法让openclaw启动claude-code/codex.

那么就只能手动写一个variable文件然后让openclaw gateway显式的去读这个文件。

创建配置文件:

1
2
3
4
5
6
7
8
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/openclaw.conf <<'EOF'
ANTHROPIC_BASE_URL=<baseurl>
ANTHROPIC_AUTH_TOKEN=sk-ant-oat01-xxxxx
OPENAI_API_KEY=sk-AGxxxx
CODEX_API_KEY=sk-AGxxxx
EOF
chmod 600 ~/.config/environment.d/openclaw.conf

显式读:

1
2
3
4
5
mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d
cat > ~/.config/systemd/user/openclaw-gateway.service.d/env.conf <<'EOF'
[Service]
EnvironmentFile=%h/.config/environment.d/openclaw.conf
EOF

重载systemd, 重启gateway.

1
2
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway

验证是否读到:

1
cat /proc/$(systemctl --user show -p MainPID --value openclaw-gateway)/environ | tr '\0' '\n' | grep -E 'ANTHROPIC|OPENAI|CODEX' | sort

所以现在如果要修改API的话,需要改三个地方:~/.zshrc, ~/.openclaw/openclaw.json, ~/.config/environment.d/openclaw.conf

get skills!