在中国大陆直接访问 Anthropic API 通常会超时或被拒绝。 本文教你如何在 OpenClaw 中配置代理,稳定接入 Claude。
为什么需要代理?
中国大陆 → Anthropic API(api.anthropic.com)
→ 通常会 Connection timeout 或 Connection reset
→ 解决方案:通过代理服务器中转
中国大陆 → 代理服务器(香港/日本/美国)
→ Anthropic API(正常访问)
不需要代理的替代方案:
- 使用 CRS(Claude Relay Service)中转服务
- 使用 OpenRouter 统一代理接口
- 使用 Kimi/DeepSeek 等国内模型
SOCKS5 代理配置
最常见的配置方式(Clash/V2Ray 默认提供 SOCKS5):
json
{
"proxy": {
"url": "socks5://127.0.0.1:7890"
}
}Clash 的默认端口:
- SOCKS5:
127.0.0.1:7890 - HTTP:
127.0.0.1:7890(混合端口) - Mixed:
127.0.0.1:7890
V2Ray/Xray 默认:
- SOCKS5:
127.0.0.1:10808 - HTTP:
127.0.0.1:10809
HTTP/HTTPS 代理配置
json
{
"proxy": {
"url": "http://127.0.0.1:7890"
}
}带认证的代理:
json
{
"proxy": {
"url": "http://username:password@proxy.example.com:8080"
}
}按 Provider 分流代理
国内服务不走代理,境外服务走代理:
json
{
"providers": {
"anthropic": {
"apiKey": "${ANTHROPIC_API_KEY}",
"proxy": "socks5://127.0.0.1:7890"
},
"openai": {
"apiKey": "${OPENAI_API_KEY}",
"proxy": "socks5://127.0.0.1:7890"
},
"deepseek": {
"apiKey": "${DEEPSEEK_API_KEY}"
},
"moonshot": {
"apiKey": "${MOONSHOT_API_KEY}"
}
}
}DeepSeek 和 Moonshot 不需要代理,直接访问国内 API。
Clash 配置对接
Clash 开启系统代理后,OpenClaw 会自动使用系统代理。 如果没有自动生效,手动指定:
json
{
"proxy": {
"url": "socks5://127.0.0.1:7890",
"noProxy": ["localhost", "127.0.0.1", "*.local"]
}
}noProxy:这些地址绕过代理(本地服务不走代理)。
环境变量方式(推荐服务器)
Linux/macOS 上可以用环境变量设置代理:
bash
# 在启动脚本中
export HTTPS_PROXY=socks5://127.0.0.1:7890
export HTTP_PROXY=socks5://127.0.0.1:7890
export NO_PROXY=localhost,127.0.0.1
openclaw gateway startOpenClaw 会自动读取这些标准环境变量。
代理连通性测试
bash
# 测试代理是否可用
curl -x socks5://127.0.0.1:7890 https://api.anthropic.com/v1/models -H "x-api-key: your-key" -s | head -c 200
# 测试 OpenClaw 配置的代理
openclaw provider test anthropic
# 检查代理配置
openclaw config show | grep proxy常见问题排障
SSL 证书验证失败
错误:SSL certificate verification failed
原因:代理工具(如某些版本的 Clash)
使用了自签名证书做 MITM 解密(不推荐)
修复选项:
1. 在代理工具中关闭 MITM(TLS 解密)
2. 或(不安全)在 OpenClaw 中禁用 SSL 验证:
{ "proxy": { "rejectUnauthorized": false } }
代理超时
错误:connect ETIMEDOUT / ECONNREFUSED
检查步骤:
1. 代理工具是否在运行?(Clash/V2Ray 客户端)
2. 端口是否正确?
3. 代理模式是否开启?(全局/规则模式)
测试:
curl -x socks5://127.0.0.1:7890 https://www.google.com
如果这个超时,是代理配置问题,不是 OpenClaw 的问题
代理认证失败
错误:407 Proxy Authentication Required
修复:确认用户名/密码格式正确
{ "proxy": { "url": "http://user:pass@proxy:port" } }
注意:密码中的特殊字符需要 URL 编码
@ → %40,# → %23,$ → %24
推荐方案
方案一(个人,最简单):
Clash/V2Ray 开全局代理
→ OpenClaw 自动跟随系统代理
方案二(服务器部署):
在 .env 中设置 HTTPS_PROXY=socks5://127.0.0.1:7890
→ 通过 SSH 隧道或 Xray 在服务器上建立代理
方案三(零代理):
使用 CRS 中继服务(claude-relay-service)
或 OpenRouter(统一代理,国内可访问)
→ 不需要配置任何代理
来源:OpenClaw 官方文档 - docs.openclaw.ai/gateway/configuration