OpenClaw 如何优化 Token 消耗

在进行 OpenClaw 对话或训练技能时,每次运行都消耗大量 token,肉疼。如何才能降低 token 消耗呢,首推使用本地运行的模型(无token消耗),如果坚持使用外部大模型,则通过如下设置可以显著降低对 token 的消耗。

附:如下配置基于 OpenClaw 2026.3.13 版本,其他版本则命令可能会有变化,若报错请参考 官方文档

PS C:\Users\Administrator> openclaw --version
OpenClaw 2026.3.13 (61d171a)

针对当前会话 [即刻生效]

  • 针对不同的场景,直接在 OpenClaw 聊天框里发送如下命令(主要通过 /new 或 /reset 新开对话,避免历史累积)可以显著降低 Token 消耗。
命令 作用 适用场景
/compact 压缩当前会话上下文 当前话题还要继续,尽量保留关键信息,不用保留所有细节
/reset 重置当前会话的短期上下文 接下来要聊完全不同的事情,但又不想清空所有历史记忆,会话ID不变
/new 开启一段全新的对话 接下来要聊完全不同的事情,不希望任何历史上下文干扰当前的问题,会话ID会变

闭眼配 [即刻生效]

  • 第1步,精简 Workspace 文件(立刻见效),比如 AGENTS.md / SOUL.md / TOOLS.md 都是消耗token的大户,可以直接对 AI 说:帮我压缩 Workspace 文件,保留核心功能,删除冗余规则

长期有效 [重启生效]

  • 第1步,针对不同的模型,限制上下文长度
#.示例针对 qwen-portal 模型
openclaw config set models.providers.qwen-portal.models[0].contextWindow 128000
openclaw config set models.providers.qwen-portal.models[0].maxTokens 8192

#.确认配置
openclaw config get models.providers
  • 第2步,启用上下文自动压缩,将阈值调低则可以让压缩更早触发
#.设置压缩模式,默认safeguard(仅上限时压缩),default(按阈值主动压缩)
#.以下是基于 128K 上下文的推荐配置(Qwen Coder 系列模型的上下文窗口通常为 32K-128K)
openclaw config set agents.defaults.compaction.mode default
openclaw config set agents.defaults.compaction.reserveTokens 100000
openclaw config set agents.defaults.compaction.keepRecentTokens 30000
openclaw config set agents.defaults.compaction.reserveTokensFloor 20000
openclaw config set agents.defaults.compaction.memoryFlush.enabled true
openclaw config set agents.defaults.compaction.memoryFlush.softThresholdTokens 70000

#.确认配置
openclaw config get agents.defaults.compaction
  • 第3步,开启缓存并配置会话剪枝(相同查询不重复调用,大幅减少重复Token消耗)
#.先开启缓存再配置会话剪枝
openclaw config set agents.defaults.contextPruning.mode "cache-ttl"
openclaw config set agents.defaults.contextPruning.ttl "1h"
openclaw config set agents.defaults.contextPruning.keepLastAssistants 3
openclaw config set agents.defaults.contextPruning.softTrimRatio 0.3
openclaw config set agents.defaults.contextPruning.hardClearRatio 0.5
openclaw config set agents.defaults.contextPruning.minPrunableToolChars 50000

#.确认配置
openclaw config get agents.defaults.contextPruning
  • 第4步,只加载必要技能(默认会自动加载 53 个内置技能),示例只允许加载 skill-vetter、self-improving-agent等技能(请根据实际场景调整)
#.查看当前所有技能
openclaw skills list

#.设置允许加载的skills列表(数组形式)
openclaw config set skills.allowBundled '[]'
openclaw config set skills.allowBundled[0] skill-vetter
openclaw config set skills.allowBundled[1] self-improving-agent
openclaw config set skills.allowBundled[2] ontology
openclaw config set skills.allowBundled[3] summarize

#.确认配置
openclaw config get skills.allowBundled
  • 第5步,只加载必要的插件(亦可取消 plugins.allow is empty; 这个提示),示例只允许加载 钉钉、千问等插件(请根据实际场景调整)

注:白名单内的插件须已安装,否则会报错 plugin not found

#.查看已安装的插件
openclaw plugins list

#.设置允许加载的plugins列表(数组形式)
openclaw config set plugins.allow '[]'
openclaw config set plugins.allow[0] dingtalk
openclaw config set plugins.allow[1] qwen-portal-auth

#.确认配置
openclaw config get plugins.allow
  • 第6步,只加载必要的工具,避免 Token 用于无意义的重复校验,示例只允许加载 session_status、browser等工具(请根据实际场景调整)
#.调整工具权限
openclaw config set tools.profile minimal

#.设置允许加载的tools列表(数组形式)
openclaw config set tools.allow '[]'
openclaw config set tools.allow[0] session_status
openclaw config set tools.allow[1] browser

#.确认配置
openclaw config get tools.profile
openclaw config get tools.allow
  • 第7步,精简系统提示词,减少对输入 token 的消耗
  • 第8步,启用 QMD 记忆系统,不再把整个 MEMORY.md 塞进上下文,只提取最相关的几句话(过滤掉 90% 以上无关信息)
#.先安装 qmd
npm install -g https://github.com/tobi/qmd
qmd --version

#.再安装 sqlite3
$ProgressPreference = 'SilentlyContinue'
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri "https://www.sqlite.org/2026/sqlite-tools-win-x64-3510300.zip" -OutFile "sqlite-tools-win-x64-3510300.zip"
unzip .\sqlite-tools-win-x64-3510300.zip
mv .\sqlite3.exe c:\windows\system32\
sqlite3 --version

#.配置 OpenClaw
openclaw config set memory.backend "qmd"
openclaw config set memory.citations "auto"
openclaw config set memory.qmd.command "qmd"
openclaw config set memory.qmd.update.interval "5m"
openclaw config set memory.qmd.update.onBoot true
openclaw config set memory.qmd.limits.maxResults 6
openclaw config set memory.qmd.limits.timeoutMs 8000
openclaw config set memory.qmd.scope.default "allow"

#.重启服务使配置生效
openclaw gateway restart
openclaw doctor
  • 第9步,选择更便宜的模型,不同模型的 Token 单价差异巨大,比如 GPT-3.5 Turbo 比 GPT-5.4 便宜约 5-10 倍
#.查看当前模型配置
openclaw config get models
  • 最后一步,重启网关服务使配置生效
#.重启服务使配置生效
openclaw gateway restart
openclaw doctor
Copyright © www.sqlfans.cn 2021 - 2026 All Right Reserved更新时间: 2026-07-27 10:35:54

results matching ""

    No results matching ""