如果你在 OpenClaw 社区待过超过一周,肯定见过这类帖子:
"每个月 API 调用花了 3600 美元。"
"一觉醒来,因为心跳循环跑了一整夜,账单多了 200 刀。"
"我完全不知道我的 Agent 到底花了多少钱。"
OpenClaw 算是 2026 年最兴奋的开源项目之一了——GitHub stars 超过 21 万,是个真正能“做事”的个人 AI agent。但问题在于,一旦你给 AI agent unrestricted 访问付费 API 的权限,简直就是玩火。
看多了这些openclaw不受控制的事情,我发现没人构建过一个合适的解决方案。市面上是有几个监控工具(ClawMetry 给你只读统计,Tokscale 是纯 CLI 的),「当然它们也支持监控,但是我看了下没法实时止损,就暂不介绍了。」
所以今天向大家推荐一款openclaw管理工具。
TokPinch 是做什么的
TokPinch 是一个透明代理, 介于 OpenClaw 和你的 LLM 提供商(Anthropic, OpenAI)之间。每个 API 请求都会经过它。
设置非常简单,OpenClaw 配置里改一行就行:
ounter(lineANTHROPIC_BASE_URL=http://localhost:4100/v1
就这样。你的 agent 根本不知道 TokPinch 的存在。但现在你有了:
-
「实时成本追踪」 —— 每个请求都记录模型、tokens、成本和 session -
「预算强制执行」 —— 设置日/月限额,超了直接 blocking 请求 -
「循环检测」 —— 捕获 runaway agents(疯狂请求、重复内容、成本螺旋、心跳风暴)并自动暂停 -
「智能模型路由」 —— 自动把便宜任务(心跳、短消息)从 Opus 降级到 Haiku,省 10-50% -
「Telegram/邮件警报」 —— 出事下一秒就通知你 -
「一个不拉胯的 Dashboard」 —— 暗色模式、实时 WebSocket 更新、成本图表、预算 gauge
架构设计
想要 TokPinch 快、能自托管,而且不依赖外部服务。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineOpenClaw → TokPinch (localhost:4100) → Anthropic/OpenAI ↓ SQLite (仅元数据) ↓ React Dashboard + WebSocket ↓ Telegram/邮件警报
技术栈如下:
-
「TypeScript」 —— 端到端 -
「Fastify」 —— 最快的 Node.js HTTP 框架,做代理完美 -
「SQLite」 (better-sqlite3) —— 零配置,WAL 模式支持并发读,基于文件所以随处部署 -
「React 18 + Vite + Tailwind」 —— 用于 Dashboard -
「Docker」 —— 多阶段构建,非 root 运行,只读文件系统
「我们都知道现在这种代理架构都是快速响应组件组成的,而数据持久化的核心是 SQLite。」
关键的设计决策:「TokPinch 绝不存储 API key 或消息内容。」 Key 只在 header 里透传然后立即丢弃。只有元数据进数据库(模型名、token 计数、成本、时间戳、session ID)。这点在 SECURITY.md 里有文档说明。
构建循环检测器
OpenClaw agents 可能会卡进循环里——agent 重复发送相同消息,预算以每分钟 20+ 请求的速度燃烧。
项目实现了四条检测规则:
-
「快速连发」 —— 同一 session 每分钟超过 20 个请求 -
「重复内容」 —— 相同消息 hash 在 5 分钟内出现 5+ 次(对前 200 字符用 djb2 hash) -
「成本螺旋」 —— 5 分钟窗口内花费超过 2 美元 -
「心跳风暴」 —— 10 分钟内 10+ 次心跳模式消息
任何规则触发,TokPinch 就会用指数退避暂停该 session(从 5 分钟开始,翻倍直到 30 分钟)。Agent 会收到明确的错误消息,你会收到 Telegram 警报。
ounter(lineounter(line🔄 检测到循环!Session loop-test 在 5 分钟内发送了 6 次相同内容花费 $0.0000。已暂停 5 分钟。
循环缓冲方法保持内存使用恒定——每个 session 100 个槽,O(1) 查找。
「如果你经常遇到 agent 死循环的话,这里自动暂停就派上用场了。」
智能模型路由
这是真正省钱的 feature。不是每个 API 调用都需要最贵的模型。
当 OpenClaw 发送心跳 ping 或像 "hi" 这样的短消息给 Claude Opus (0.80/MTok 输入)。 trivial 任务的响应质量 identical,但成本降了 ~95%。
路由规则可配置:
-
「路由到便宜模型当:」 消息低于 200 tokens,无 tools/图片/文档,system prompt 低于 500 tokens -
「绝不降级当:」 用户显式设置了模型,有图片或文档,使用超过 5 个 tools
测试期间,一个发给 claude-opus-4 只有 "hi" 的请求被正确路由到 claude-haiku-4-5,服务器日志确认:
ounter(line🔀 路由:claude-opus-4 → claude-haiku-4-5-20251001 (low_token_chat, 节省 ~$0.0037)
安全:为 OpenClaw 危机而生
安全不是事后诸葛亮——它是 feature。OpenClaw 的安全记录有点 rough:一键 RCE,ClawHub 上 824+ 恶意 skills,42,000+ 暴露实例。TokPinch 坐在 API 请求路径上,意味着它 必须 坚不可摧。
项目提供了这些安全保证:
-
API key 「绝不存储或记录」 —— pino logger 对所有 auth headers 有 redact 路径 -
「磁盘上零消息内容」 —— requests表 schema 字面上就没有这一列 -
Docker 以 「非 root 运行,只读文件系统」 和 no-new-privileges -
JWT auth 带 「自动生成 512-bit secrets」 -
每个端点都有 「速率限制」 (代理、API 和登录) -
所有响应都有 「Content-Security-Policy」 , X-Frame-Options, HSTS headers -
生产环境 「自动禁用测试端点」
完整审计在 SECURITY.md。
Dashboard
想要 Dashboard 感觉像个正经产品,不是 developer 的事后补救。因此做了暗色主题 (zinc-950 base),数字用 JetBrains Mono,标题用 Outfit,实时 WebSocket 更新,Framer Motion 动画。

「概览」 —— 4 个统计卡片,成本随时间图表,模型分解,预算 gauges,实时请求 feed
「Sessions」 —— 每个 session 带成本、请求数、tokens 和最常用模型。可展开行显示单独请求。
「预算」 —— 弧形 gauges 显示花费 vs 限额,状态 badges (ACTIVE/WARNING/PAUSED/OVERRIDE),人工审查后一键恢复。
「警报」 —— 所有预算警告、循环检测和每日摘要,带过滤标签和交付状态。
试试它
TokPinch 100% 免费且开源 (MIT 许可)。
「快速开始:」
ounter(lineounter(lineounter(linedocker run -p 4100:4100 -v tokpinch-data:/app/data -e DASHBOARD_PASSWORD=yourpassword tokpinch/tokpinch
然后在 OpenClaw 配置里加一行:
ounter(lineANTHROPIC_BASE_URL=http://localhost:4100/v1
打开 http://localhost:4100/dashboard 实时看你的成本。


