上一篇讲清了原理:三个旋钮——地址、key、模型名。 这一篇不再解释为什么,只回答一个问题:在这四处,手往哪儿放。
本文写什么四处配置位、排错顺序、静默失败的识别。 本文不写连哪家更好——本站不做中转横评,理由在上一篇第七节。 本文也不写我们自己的配置内容。
两种写法,效果一样,但稳定性不一样:
| 写法 | 怎么写 | 什么时候用 |
|---|---|---|
| 环境变量 | 在 shell 里导出 ANTHROPIC_BASE_URL 与 ANTHROPIC_AUTH_TOKEN(或 ANTHROPIC_API_KEY) | 临时试、或只想在某个终端里生效 |
| 设置文件 ✅ | 写进 settings.json 的 env 块 | 长期用选这个——不受启动方式影响,见第二节 |
设置文件那个 env 块的形状是这样:
放哪一层要想一下——第 2 篇那张优先级表在这里派上用场:
| 放在 | 后果 |
|---|---|
~/.claude/settings.json | 所有项目都走这条端点。多数人要的是这个 |
.claude/settings.local.json | 只在这个项目生效,且不进 git。含 key 的配置应该放这里或用户层,不要放共享层 |
.claude/settings.json | ⚠ 这一层会进 git。端点地址可以放,key 不行 |
这一处的操作是——没有操作。
扩展与 CLI 共享同一份 ~/.claude/settings.json。
你在第一节配好的东西,编辑器里直接生效。这也是第 4 篇推荐走扩展路的主要原因。
如果你第一节选的是环境变量那条写法,编辑器多半读不到—— GUI 启动的程序不继承登录 shell 的环境。症状是:终端里好好的,编辑器里照样弹登录。
官方给的办法是从终端 code . 启动。
但更省事的是根本别用环境变量,直接写文件。这就是上面把设置文件标 ✅ 的原因。
改 ~/.codex/config.toml,两段:顶层选,下面定义。
三条容易翻车的:
| ⚠ | 说明 |
|---|---|
| ID 别撞保留字 | openai / ollama / lmstudio 是内置 ID,撞了不会报错,会被忽略 |
env_key 是变量名不是 key | 它填的是「去哪个环境变量里取」,不是把 key 写在这儿 |
wire_api 要对 | responses 还是 chat-completions,选错了症状很像「模型不支持」 |
这一处第三阶才会用到,但配法在这里一并给了,省得回头翻。
配置在 ~/.hermes/config.yaml,密钥落 ~/.hermes/.env——
用 hermes config set 写入时会自动分流,key 进 .env,其余进 config.yaml。
它的模型槽位统一三个键:
而且每个槽位都一样——主模型、辅助任务、上下文压缩、兜底模型。 所以你可以让主模型走一家、压缩这种低价值高频的活走另一家, 这一点下一篇会用到。
它让备份清单那件事变得可行:
config.yaml 可以放心进你的备份甚至私有仓库,.env 单独排除。
配置和密钥混在一个文件里的工具,备份时就得整份小心处理。
接不通的时候别乱调参数,按依赖顺序一层层排——上一层没过,下一层查了也白查:
| 序 | 查什么 | 过不了的典型症状 |
|---|---|---|
| 1 | 配置读到了吗 | 行为完全没变化 → 多半是层级搞错或环境没继承(第二节那个坑) |
| 2 | 地址通不通 | 连接错误、超时 → 地址写错,或末尾路径多了/少了一段 |
| 3 | 认证过不过 | 401/403 → key 没取到(检查 env_key 指的变量真的有值) |
| 4 | 协议对不对 | 最难认:不报错但字段乱、空回复、工具调用失灵 → 查 wire_api |
| 5 | 模型名对不对 | 模型不存在类错误 → 各家模型名不通用,照抄别家的名字通常不行 |
| 6 | 工具调用行不行 | 聊天正常、一动工具就崩 → 对 agent 来说这等于不能用 |
它们的共同点是不报错,所以最费时间:
① 配置根本没被读——你在改一个不生效的文件,改什么都没反应;
② Codex 的 provider ID 撞了保留字——整段定义被忽略,行为像没配;
③ 协议选错——能聊天,工具调用悄悄失灵。
识别办法都一样:先做一个「肯定该变」的改动(比如把地址故意写错), 看行为变不变。不变就说明问题在第 1 层,不在你正调的那一层。
把地址填成什么,是你自己的选择——本站不做这类服务的对比或推荐。 只交代一个事实:我自己这一层用的是 acetoken.ai。
怎么挑,回上一篇第五节那条判据: 不是看便宜,是看你愿不愿意让这条链路上的每一方看到你发过去的那些内容。
ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN /
ANTHROPIC_API_KEY / ANTHROPIC_MODEL;可写进 settings.json 的
env 块;四层配置优先级:托管 > 命令行 > .claude/settings.local.json >
.claude/settings.json > ~/.claude/settings.json;扩展与 CLI 共享
~/.claude/settings.json。官方文档,2026-08-21 核。~/.codex/config.toml(目录由 CODEX_HOME 决定);
顶层 model / model_provider;[model_providers.ID] 含
name / base_url / env_key / wire_api /
query_params / http_headers / env_http_headers;
保留 ID openai、ollama、lmstudio 不可重用。官方文档,2026-08-21 核。~/.hermes/config.yaml + ~/.hermes/.env;
hermes config set 自动把 key 分流进 .env;模型槽位统一
provider / model / base_url。官方文档,2026-08-21 核。