Firewall AI Gateway Debug 是 vercel-openclaw 项目中的一个调试技能,面向模型调用失败、出网阻断、网络策略漂移或 AI Gateway 令牌刷新问题。
用途 当出现模型调用失败、egress 被阻断、网络策略发生漂移,或 AI Gateway 令牌刷新异常时,可使用该技能进行排查。
证据优先 技能要求先收集以下证据:
- GET /api/admin/preflight 或启动验证预检证据。
- GET /api/admin/logs,并按 firewall.、token.、gateway.、watchdog. 过滤。
- GET /api/admin/sandbox-diag。
- 来自管理界面的当前防火墙模式以及已学习/允许的域名。
- 脱敏后的模型调用或网关错误体。不要打印 Authorization 令牌。
关键区分 技能列出需要明确区分的情形:
- AI Gateway 凭据不可用、已过期与熔断器打开。
- 静态 API 密钥绕过与 OIDC 令牌路径。
- 防火墙学习/允许列表问题与模型提供商/API 问题。
- 沙箱内存在 OPENAI_BASE_URL,而 Authorization 由网络策略转换注入。
- 当存在 AI Gateway 令牌时,策略对象形态会发生变化。
不变量
- AI Gateway 令牌绝不进入沙箱文件或环境变量。
- ai-gateway.vercel.sh 即使在强制模式下也保持允许。
- 令牌刷新通过 sandbox.update({ networkPolicy }) 应用;不应重写配置文件或重启网关。
- 公开/管理展示 URL 不得暴露部署保护绕过密钥。
修复边界
- 主要:src/server/firewall/{domains,policy,state}.ts。
- 令牌路径:src/server/sandbox/lifecycle.ts、src/server/deploy-preflight.ts。
- 公开 URL:src/server/public-url.ts。
- 测试:防火墙策略测试、令牌刷新测试、launch-verify/preflight 测试。
- 文档:docs/environment-variables.md、docs/deployment-protection.md、lat.md/sandbox-lifecycle.md。
验证
- node scripts/verify.mjs --steps=test,typecheck
- lat check
对于线上事故,需证明在策略/令牌变更后模型调用成功,并且日志、UI 或沙箱配置中不出现任何令牌值。