上周 OpenClaw 新版本一出,我 Mac Mini 上的 Docker 都没来得及更新就开始折腾了。说实话,默认配置跑起来确实能用,但延迟高得离谱——一个简单的补全请求动辄 2-3 秒,写代码的时候等得想砸键盘。花了两天翻 GitHub Issues、试了各种方案,总算把响应压到了 300ms 级别,踩的坑和最终方案全记在这里。

核心思路是:优化 API 路由层,把请求链路从「本地 → 多跳中转 → 模型端」缩短为「本地 → 聚合网关 → 模型端」,同时调缓存和并发参数。直接上干货。

先说结论

配置方案 平均延迟 稳定性 配置难度 适用场景
默认配置(官方直连) 1800-3000ms 一般,偶尔超时 零配置 尝鲜体验
自建 Nginx 反代 800-1200ms 取决于你的服务器 中等 有闲置服务器的
聚合 API 网关 250-400ms 高,多供应商冗余 极简 日常开发首选

我最终选了方案三,改两行配置就搞定,下面详细说。

环境准备

先确认 OpenClaw 版本,新版改了不少配置项:

openclaw --version
# 确保是 v0.8.x 或以上,老版本的配置文件格式不一样

配置文件位置:

  • macOS / Linux: ~/.config/openclaw/config.yaml
  • Windows: %APPDATA%\openclaw\config.yaml

没有这个文件的话,先跑 openclaw init 自动生成。

方案一:调默认配置参数

最简单的,不换 API 端点,纯靠调参。打开 config.yaml

# ~/.config/openclaw/config.yaml

api:
 provider: "openai-compatible"
 api_key: "sk-your-key-here"
 base_url: "https://api.openai.com/v1"
 timeout: 30
 
# 关键加速参数
performance:
 # 开启请求缓存,相同 prompt 直接返回缓存结果
 cache_enabled: true
 cache_ttl: 3600 # 缓存1小时
 
 # 并发连接池,默认是5,拉到15
 max_connections: 15
 
 # 开启 streaming,别用同步请求
 stream: true
 
 # 连接复用,这个默认居然是关的
 keep_alive: true
 keep_alive_timeout: 60

# 重试策略
retry:
 max_retries: 2
 retry_delay: 0.5
 backoff_factor: 1.5

keep_alive 这个参数默认是 false,每次请求都重新建连接,光 TCP 握手就浪费几百毫秒。改成 true 之后肉眼可见变快。

实测:延迟从 2500ms 降到 1200ms 左右,有改善但不够。

方案二:自建 Nginx 反代

手头有服务器的可以搭反向代理。我试了,配置不复杂,但维护成本在那儿:

# /etc/nginx/conf.d/openclaw-proxy.conf

upstream ai_backend {
 server api.openai.com:443;
 keepalive 32;
}

server {
 listen 8443 ssl;
 server_name your-proxy-domain.com;
 
 ssl_certificate /path/to/cert.pem;
 ssl_certificate_key /path/to/key.pem;
 
 location /v1/ {
 proxy_pass https://ai_backend/v1/;
 proxy_set_header Host api.openai.com;
 proxy_set_header Connection "";
 proxy_http_version 1.1;
 
 # 缓冲区优化,streaming 场景关键
 proxy_buffering off;
 proxy_cache off;
 
 # 超时设置
 proxy_connect_timeout 10s;
 proxy_read_timeout 120s;
 proxy_send_timeout 30s;
 }
}

OpenClaw 配置里改 base_url 指向代理:

api:
 base_url: "https://your-proxy-domain.com:8443/v1"

实测延迟降到 800-1200ms。但服务器挂了一次,代理就全完了。我就是半夜写代码突然断掉,debug 半天才发现是 Nginx 进程挂了。不是专门做运维的,真不建议长期维护这套东西。

方案三:用聚合 API 网关(最终方案)

折腾完前两种,我发现核心问题不是「怎么代理」,而是「请求链路太长」。换了个思路,用聚合 API 平台直接缩短链路。

我现在用的是 ofox.ai 的聚合接口。一个 API Key 可以调 GPT-5、Claude Opus 4.6、Gemini 3、DeepSeek V3 等 50+ 模型,低延迟直连不用自己搭代理,支持支付宝付款,按量计费,有免费额度可以先试。

配置极简,改两行:

# ~/.config/openclaw/config.yaml

api:
 provider: "openai-compatible"
 api_key: "your-ofox-key" # 在 ofox.ai 控制台拿
 base_url: "https://api.ofox.ai/v1"
 timeout: 30

# 模型切换也方便,直接改 model 字段
models:
 default: "claude-sonnet-4-20250514"
 fast: "gpt-4o-mini"
 reasoning: "deepseek-reasoner"

performance:
 cache_enabled: true
 cache_ttl: 3600
 max_connections: 15
 stream: true
 keep_alive: true
 keep_alive_timeout: 60

调用链路:

请求

路由

路由

路由

路由

响应

响应

响应

响应

返回

OpenClaw 本地

ofox.ai 聚合网关

GPT-5

Claude Opus 4.6

Gemini 3

DeepSeek V3

实测数据(跑了 50 次取平均):

# 简单测试脚本,直接在终端跑
for i in $(seq 1 50); do
 start=$(date +%s%N)
 openclaw complete "写一个 Python 快排" --model claude-sonnet-4-20250514 --quiet
 end=$(date +%s%N)
 echo "$(( (end - start) / 1000000 ))ms"
done

平均延迟 310ms,最快 220ms,最慢 480ms。跟方案一的 1200ms 比,体感完全不一样——打字时补全基本即时出来。

踩坑记录

坑 1:config.yaml 缩进问题

YAML 对缩进极度敏感。我第一次配置时 performance 下面的字段多了一个空格,OpenClaw 直接吞掉整个 section 没报错,静默用了默认值。debug 了半小时才发现。

改完配置跑一下 openclaw config --check,新版加了配置校验。

坑 2:stream 模式和某些终端不兼容

Windows Terminal 某些版本里 streaming 输出会乱码。解决方案:

performance:
 stream: true
 stream_format: "sse" # 强制用 SSE 格式

坑 3:缓存导致的「幻觉」

开了 cache 之后,改了 system prompt 但 user prompt 没变,可能命中旧缓存返回过时结果。我有一次改了 claude.md 里的规则,结果 OpenClaw 一直按旧的代码风格输出,查了好久才想起来是缓存。

performance:
 cache_enabled: true
 # 把 system prompt 也纳入缓存 key
 cache_key_includes_system: true

坑 4:模型名拼写

各家模型名格式不统一。我用 Claude 时写成 claude-4-sonnet,死活报 404,正确的是 claude-sonnet-4-20250514。建议直接从聚合平台文档复制模型 ID,别手打。

小结

改配置参数是基本功,必须做,但天花板在那儿。自建代理有效,运维成本高。聚合网关性价比最高,改两行配置解决 90% 的延迟问题。

OpenClaw 最近更新确实猛,新版的 Agent Skills 加上低延迟 API,写代码体验已经很接近「AI 原生 IDE」了。但文档还是烂得一批,好多配置项得翻源码才知道——这篇权当给后来人铺个路。

有问题评论区聊,尤其 Windows 用户的兼容性问题,我踩的坑可能还不够全。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐