必须显式开启缓存并配置语义鲁棒的缓存键:确认OpenClaw≥v0.12.0,修改config.yaml中baiyin provider下启用cache_enabled: true、cache_ttl_seconds: 3600,并设置cache_key_generator: normalize_prompt_hash。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在OpenClaw中配置阿里云百炼Qwen3.5-Plus模型时,若未启用缓存,每次相同输入都会触发全新API调用,既增加百炼配额消耗,又拖慢本地响应速度。必须显式开启缓存机制,并确保缓存键能准确识别语义等价但文本格式略有差异的请求。
确认OpenClaw版本支持百炼缓存
打开终端执行 openclaw --version,输出必须为 ≥v0.12.0;低于该版本不支持百炼后端的LRU缓存开关,强行配置将被忽略。
若版本过低,请先升级:pip install --upgrade openclaw。
修改config.yaml启用百炼缓存
定位到OpenClaw配置目录(通常为~/.openclaw/config.yaml),用文本编辑器打开。
找到llm:节点下的provider: baiyin(注意:百炼在OpenClaw中代号为baiyin,非bailian或aliyun)。
在该provider块内添加以下两行(缩进必须为2个空格):
cache_enabled: true
cache_ttl_seconds: 3600
【cache_ttl_seconds必须设为正整数】,设为0或负数会导致缓存永久生效且无法自动清理,可能堆积大量过期响应。
配置缓存键生成策略
默认缓存键仅基于原始prompt字符串哈希,对换行、空格、标点全角/半角敏感。需手动指定更鲁棒的键生成逻辑。
在llm.provider.baiyin层级下新增cache_key_generator字段:
cache_key_generator: normalize_prompt_hash
该策略会自动去除首尾空白、合并连续空格、统一标点为半角、忽略大小写后再哈希——避免“你好!”和“你好! ”被当作两个不同请求缓存。
如需自定义键逻辑,可填入Python函数路径(例如my_module.custom_key_fn),但函数必须接受prompt: str, model: str, temperature: float三参数并返回str。
验证缓存是否生效
方法一:启动OpenClaw服务并开启调试日志
执行openclaw serve --log-level debug,发送两次相同请求(如{"prompt": "北京天气怎么样?"})。
观察第二条响应的日志中是否出现[CACHE HIT]字样,且耗时明显低于首次(通常800ms)。
方法二:直接检查缓存文件
缓存默认存储在~/.openclaw/cache/baiyin/目录下,文件名形如sha256_xxx.json。首次调用后该目录应有新增文件;第二次调用不应新增文件,且对应JSON内容中的"hit"字段为true。


















