内容
<div align="center">
<img src="assets/wordmark.svg" alt="agentburn — 你的 AI 代理在哪里烧钱,而你却在睡觉?" width="420">
<br>
<a href="https://pypi.org/project/agentburn/"><img alt="PyPI" src="https://img.shields.io/pypi/v/agentburn?color=f7775a"></a>
<img alt="Python" src="https://img.shields.io/badge/python-3.9%2B-5ab0f7">
<img alt="zero deps" src="https://img.shields.io/badge/dependencies-0-7df0a8">
<img alt="offline checks" src="https://img.shields.io/badge/offline_checks-104-c89bf7">
<a href="LICENSE"><img alt="MIT" src="https://img.shields.io/badge/license-MIT-8a949e"></a>
<br><br>
<img src="assets/demo.svg" alt="uvx agentburn — 动画演示:TL;DR 判决,来源燃烧条,夜间账单和更改建议" width="760">
<br>
**[Hermes Agent](#supported-agents) · [OpenClaw](#supported-agents) · [Claude Code](#supported-agents)** — 一个标准化的核心,本地,只读,无依赖
```
uvx agentburn
```
**[▶ 在浏览器中试用 — 无需安装](https://socialpranker.github.io/agentburn/)**
</div>
---
## 这是什么,用简单的语言来说?
你运行了一个 AI 助手 — OpenClaw、Hermes Agent 或 Claude Code。它全天候工作:回答你 Telegram 中的问题,运行夜间定时任务,生成辅助代理。它的每个读取和写入操作都会产生费用 — 而账单以 **一个数字显示,没有解释**。
agentburn 是一个免费工具,它读取助手自己的日志(计算机上已有的日志文件),并将该数字转化为答案:
| 你问 | 它回答 | 命令 |
|---|---|---|
| 钱究竟花在哪里? | 定时任务 79% · 聊天 7% · 辅助代理 5% · 你 9% | `agentburn` |
| 我睡觉时发生了什么? | 夜间账单,独立且命名 | `agentburn` |
| 为什么这么贵? | 同一文件读取 14 次,一个损坏的工具重试 6 次,无效唤醒 | `agentburn why` |
| 它在 Telegram 中做了什么? | 它在那里调用的每个函数,计数和错误 | `agentburn why --source telegram` |
| 我究竟需要更改什么? | 准备好的配置行 + 预计节省的美元 | `agentburn fix` |
| 我是否正在为一个即将停止的模型付费? | 你的支出 vs 世界的 4 周趋势,带有更便宜的替代方案 | `agentburn drift` |
| 我的设置是否正常? | “你的开销比 ~75% 的 N 设置更差” | `agentburn rank` |
| 我可以直接问助手吗? | 是的 — 安装技能/MCP 并问 “我在哪里烧钱?” | `agentburn mcp` |
无需账户。无需云服务。无需离开你的计算机。尝试一个命令:`uvx agentburn`.
## 为什么存在这个问题
全天候工作的代理全天候计费 — 而它们内置的计数器只显示总数。实际线程制作了这个工具:
> *"73% 的每个 API 调用都是固定开销 — 约 13.9K 个工具定义和系统提示,每次都发送。* — [hermes-agent #4379](https://github.com/NousResearch/hermes-agent/issues/4379)
> *"一个参赛者写道,他在夜间运行后遭到了 **47 美元的意外账单** — 这不是异常故障,这是无人监督的循环的默认行为。* — [dev.to](https://dev.to/chintanonweb/hermes-agent-gets-smarter-every-day-so-does-the-bill-4i8o)
> *"我见过一些运行中,步骤 3 的成本是步骤 1 的 4 倍 — **没有警报,只有账单**.* — [评论,ibid.](https://dev.to/chintanonweb/hermes-agent-gets-smarter-every-day-so-does-the-bill-4i8o)
agentburn 读取代理自己的 **会计数据**(只读),并回答总数无法回答的问题:**在哪里**。
## 它回答的问题
- **它在哪里烧钱** — 按来源:`cron` / `subagent` / `gateway:telegram|discord|whatsapp` / `cli`. 全天候 ≠ 免费:定时任务和网关在没有你的情况下也会花费。
- **🌙 在你睡觉时** — 夜间账单,独立且命名(可配置窗口:`--night 23-7`)。
- **固定开销** — 每个 API 调用每个来源的平均输入令牌。 “73% 开销”模式一目了然;启用请求转储后,您将获得采样组成(系统提示 vs 工具定义 vs 历史记录)。
- **子代理汇总** — 委托成本链接回生成它的会话。递归会累积;这里有收据。
- **顶部工具** — 哪些工具结果在您的上下文中最重要。
- **该怎么做** — 多达 4 个保守的命名建议,附有每月估计。
## 它是如何比较的
| | **agentburn** | ccusage | codeburn | 内置 `/usage` |
|---|---|---|---|---|
| 按 *来源*(cron · 心跳 · 网关 · 子代理)燃烧 | ✅ | — | — | 仅百分比,7 天,本机 |
| 🌙 夜间账单,独立 | ✅ | — | — | — |
| 行为法医(`why`:循环,重试风暴,失败运行成本) | ✅ | — | — | — |
| 准备好的配置补丁(`fix`,来源验证的密钥) | ✅ | — | — | — |
| 会计差距检测(`doctor`,下限诚实度) | ✅ | — | — | — |
| MCP 服务器(代理回答自己的账单) | ✅ | — | — | — |
| 总数 / 直播块 / 许多 CLI | 基本 | ✅ 最佳同类 | ✅ TUI,25 个提供商 | 总数 |
*截至 2026 年 6 月;ccusage 和 codeburn 在它们的工作上表现出色 — agentburn 故意从它们停止的地方开始([ccusage 限定每工具分析](https://github.com/ryoppippi/ccusage/issues/688))。
## 为什么相信这些数字
大多数令牌跟踪器都悄悄地不同意彼此(公共问题线程中的 2–91 倍)。agentburn 采取相反的立场:
- 数字来自代理自己的会计(`~/.hermes/state.db`:每个会话的令牌计数器和成本字段)。没有抓取,没有代理,没有猜测。
- 提供商计费成本按原样显示;Hermes 估计值标记为 `~`. 混合数据标记为混合。
- 会话中有消息但 **记录的令牌为零**(已知的 Hermes 会计差距,例如 [#12023](https://github.com/NousResearch/hermes-agent/issues/12023))被检测并报告:因此,总数明确为 **下限** — 修复会计成为推荐 #1。
- 请求转储的输入组成按字符比例计算,标记为 *采样估计*,不是真相。
## 隐私
所有操作都在本地运行,读取您的数据库 **只读**。无需网络调用。无需遥测。报告属于您。
## 用法
```bash
agentburn # 本机上的所有代理,过去 30 天
agentburn --agent openclaw # 仅限一个
agentburn --days 7
agentburn --agent hermes --db /path/to/state.db
agentburn why # 行为法医:循环,重试风暴,空闲心跳
agentburn why --source telegram # 分解一个来源:调用的函数,错误,循环
agentburn --source cron # 仅限一个来源的成本报告
agentburn explain --model llama3.1 # LLM 读取数字回给你(默认为本地)
agentburn --night 23-7 # 自定义夜间窗口(本地时间)
agentburn --budget-month 50 --fail-over # cron/CI 的哨兵
agentburn --json # 可机器读取,管道到任何地方
agentburn --no-color
```
## 机制
**📤 分享你的燃烧(`--share`)。** 匿名卡 — 类别,模型和总数仅限;会话标题,路径和内容被排除 *按构造*。可以粘贴到帖子中;`--svg card.svg` 渲染相同的卡片为图像:
```text
🔥 我的 hermes 代理 · 过去 30 天
~$45.50 → ~$430/月 节奏 · 1.75M 令牌
哪里烧钱:cron 79% · cli 9% · telegram 7% · subagent 5%
🌙 睡觉时(00–08):~$36.00 — 79% 的所有费用
⚙️ telegram 重发 20,000 令牌每次调用 — 2.5 倍社区规范(≈8k)
— agentburn · 本地和私有
```
`--svg card.svg` 渲染它为图像:

**📏 与公共基准测试的校准。** “15k 输入令牌每次调用是否正常?” 报告将您的固定开销与社区测量的参考值进行比较,这些参考值作为有日期的常量嵌入(例如 [Phala 全天候代理基准测试](https://phala.com/posts/understanding-openclaws-token-usage),2026-03:≈8k/调用基线)。无需网络 — 源被内联引用。
**📐 优化 → 证明(`--save-baseline` / `--compare`)。** 捕捉您的节奏,改变配置(更便宜的 cron 模型,修剪的工具集),然后 `agentburn --compare` 显示 $/month 的增量 — 标准化节奏,因此 7 天的基线与 30 天的窗口进行诚实比较。每个建议成为可测试的承诺。
**🔬 `agentburn why` — 行为法医。** `report` 表示 *哪里* 燃烧;`why` 表示 *为什么*,从代理记录的动作和思想:
```text
🔬 agentburn why — openclaw · gateway:telegram
它实际做了 浏览器 34 次 ≈210K 结果 · web_search 18 次 · shell 7 次(2 次错误)
重新读取循环 5 次浏览器(https://news.site/page)— 每次重复都重新支付
重试风暴 Bash:3 次错误 / 6 次调用 — 为每个错误支付全额
空闲心跳 9 次心跳运行中 4 次无操作 — $2.40 纯空闲燃烧
失败后燃烧 2 次失败运行 → ~$3.90(超时,终止)
思考比工作多 62% 思考 · 84K 令牌 · “重命名文件任务”
```
观察结果有数字,没有判决;仅限工具名称,截断参数键和计数器 — 消息内容从不离开机器(并且从不进入报告)。
**🧠 `agentburn explain` — LLM 解释,本地优先。** 数字以平语言读回给你,按排名的动作:
```bash
agentburn explain --model llama3.1 # 本地 ollama — 无内容离开机器
agentburn explain --llm https://openrouter.ai/api/v1 \
--model deepseek/deepseek-chat --yes-remote --lang ru # 远程:显式选择加入
```
隐私规则是硬编码的:默认端点是 localhost(ollama / LM Studio);远程端点需要 `--yes-remote` 并且只接收 **红名** 摘要 — 会话标题变为 `session-N`,文件路径缩小为基本名称,消息内容从不进入负载开始。适用于任何 OpenAI 兼容的 API,无需新依赖。(是的,成本分析器花费 ~3K 令牌来解释成本。负载紧凑,答案上限; irony 得到承认。)
**🧭 `agentburn drift` — 您的支出 × 世界的方向。** 您是否正在为一个世界正在抛弃的模型付费?
```text
🧭 agentburn drift
您的模型 vs 世界(4 周世界趋势)
anthropic/claude-opus-4.6 ~$341/mo 世界 -41% ⬊
deepseek/deepseek-v3.2 ~$12/mo 世界 +12% →
💡 漂移警报
1. claude-opus-4.6:您花费 ~$341/mo;世界使用量在 4 周内下降 41% — 世界正在
离开这个模型。上升替代步骤-3.5-flash(+180%)便宜 ~98%。
```
您的方面从代理自己的日志中本地计算;世界方面是 `token-history` 的只读 GET 公共趋势 JSON(从 OpenRouter 的排名中存档 — 随着存档的增长解锁深层历史)。关于您没有任何信息被发送到任何地方;`--trends FILE` 完全离线运行。没有人加入这两个部分。
**🩺 `agentburn why` 新增功能:** **CRON 运行** — 每个定时作业的收款凭证([openclaw #24636](https://github.com/openclaw/openclaw/issues/24636) 正在询问),以及 **上下文破坏** — 按会话计算的压缩,因为每次压缩都会无声地重新发送一个近满的上下文窗口。
**📊 `agentburn rank` + `--submit` — 燃烧指数。** 匿名社区效率百分比 — 基准测试量 leaderboard 不能胜任:这里没有什么奖励燃烧更多。
```text
📊 agentburn rank — 您 vs 燃烧指数
输入令牌每次调用 · cli 您: 15,000 中位数: 6,200 低于 ~75% 的 41
夜间支出份额 您: 79.0% 中位数: 12.0% 低于 ~90% 的 41
缓存读取份额的输入量 您: 61.0% 中位数: 44.0% 优于 ~75% 的 41
```
加入即表示同意点击:`agentburn --submit` 打印确切的匿名有效载荷(比率和粗糙的支出带 — 绝不原始体积,标题或路径),然后一个预填充的 GitHub 问题链接,您 **自己** 打开并提交。 Action 每周汇总提交结果,并具有合理性界限(垃圾和 flexing 被丢弃,不排名)到公共分位数。
**🔧 `agentburn fix` — 从发现到准备好的配置补丁(设计上是只读的)。** 不是“考虑更便宜的模型”,而是确切的文件和确切的行:
```text
🔧 agentburn fix — hermes · DRY-RUN(无更改)
1. 将 Hermes 定时作业指向便宜的模型
文件 :~/.hermes/cron/jobs.json
为什么 :cron 占 79% 的支出;维护很少需要前沿模型。
效果 :≈$341/mo 的大部分转移到便宜模型定价
建议 :
“夜间摘要”:“模型”:“deepseek/deepseek-chat”
ⓘ 字段在 hermes-agent cron/jobs.py 中验证:每个作业的 `模型` 覆盖
```
补丁生成器仅适用于 **验证 against 代理源码**(Hermes `cron/jobs.json`,OpenClaw `agents.defaults.heartbeat` 包括 `activeHours` — 夜间燃烧杀手 — 和 `lightContext`)。没有 `--apply` 是故意的:自己粘贴,然后用 `--save-baseline` → `--compare` 证明节省。
**🔌 `agentburn mcp` — 您的代理回答自己的账单。** 一个零依赖的 MCP stdio 服务器公开 `burn_report` / `burn_why` / `burn_card`. 注册它并问代理 *"我在哪里烧钱?"* — 它调用分析器在其自己的数据库并解释:
```bash
# Claude Code
claude mcp add agentburn -- agentburn mcp
# Hermes / OpenClaw:添加一个 stdio MCP 服务器,命令 `agentburn mcp`
```
首选技能?有一个准备好的 [`SKILL.md`](skill/README.md) — 将其放入 `~/.hermes/skills/agentburn/`,`~/.openclaw/skills/agentburn/` 或 `~/.claude/skills/agentburn/` 然后问代理 *"我在哪里烧钱?"*.
**🩺 `agentburn doctor`.** 跟踪器因代理自己的会计有空白而存在差异。 doctor 命名损坏的组合(提供商 × 模型 × 来源)并生成一个准备好的粘贴上游错误报告 — 仅限计数器,无消息内容。
**🚨 哨兵模式 — 服务器代理的预算守卫。** 您的代理在 VPS 上 24/7 运行;这会监视它:
```bash
# 当夜间燃烧超过 $5/month 节奏(退出代码 1 → 任何警报钩子)
agentburn --agent openclaw --budget-night 5 --fail-over --no-color \
|| notify-send "🚨 代理在夜间正在烧钱"
```
将其放在 cron 代理旁边 — 一次性检查成为一个持续的守卫。
## 支持的代理
一个标准化模型,一个适配器每个代理。运行 `agentburn` 1.75M 令牌
输入令牌每次调用 · cli 您: 15,000 中位数: 6200 低于 ~75% 的 41
夜间支出份额 您: 79.0% 中位数: 12.0% 低于 ~90% 的 41
缓存读取份额 您: 61.0% 中位数: 44.0% 优于 ~75% 的 41
```
加入即表示同意点击:`agentburn --submit` 打印确切的匿名有效载荷(比率和粗糙的支出带 — 绝不原始体积,标题或路径),然后一个预填充的 GitHub 问题链接,您 **自己** 打开并提交。 每周 Action 聚合提交与合理性界限(垃圾邮件和 flexing 被丢弃,不排名)到公共分位数。
**🔧 `agentburn fix` — 从发现到准备好的配置补丁(设计上是只读的)。** 不是“考虑更便宜的模型”,而是确切的文件和确切的行:
```text
🔧 agentburn fix — hermes · DRY-RUN(无更改)
1. 将 Hermes 定时作业指向便宜的模型
文件 :~/.hermes/cron/jobs.json
为什么 :cron 占 79% 的支出;维护很少需要前沿模型。
影响 :大量 ≈$341/mo 转移到便宜模型定价
提议 :
“夜间摘要”:“模型”:“deepseek/deepseek-chat”
ⓘ 字段在 hermes-agent cron/jobs.py 中验证:每个作业的 `模型` 覆盖
```
补丁生成器仅适用于 **验证 against 代理源码**(Hermes `cron/jobs.json`,OpenClaw `agents.defaults.heartbeat` 包括 `activeHours` — 夜间燃烧杀手 — 和 `lightContext`)。没有 `--apply` 是故意的:粘贴它,然后用 `--save-baseline` → `--compare` 证明节省。
**🔌 `agentburn mcp` — 您的代理回答自己的账单。** 一个零依赖的 MCP stdio 服务器公开 `burn_report` / `burn_why` / `burn_card`. 注册它并问代理 *"我在哪里烧钱?"* — 它调用分析器在其自己的数据库并解释:
```bash
# Claude Code
claude mcp add agentburn -- agentburn mcp
# Hermes / OpenClaw: 添加一个 stdio MCP 服务器,命令 `agentburn mcp`
```
如果您更喜欢技能?有一个准备好的 [`SKILL.md`](skill/README.md) — 将其放入 `~/.hermes/skills/agentburn/`,`~/.openclaw/skills/agentburn/` 或 `~/.claude/skills/agentburn/` 然后直接问代理 *"我在哪里烧钱?"*.
## 支持的代理
一个标准化模型,一个适配器每个代理。运行 `agentburn` 并且每个找到的代理都有自己的报告。
| 代理 | 状态 | 数据源 | 注释 |
|---|---|---|---|
| **Hermes Agent** | ✅ | `~/.hermes/state.db` (+ 可选的请求转储) | 来自代理自己的会计成本 |
| **OpenClaw** | ✅ | `~/.openclaw/agents/*/sessions/sessions.json` | **heartbeat 是其自己的类别** — 著名的那个;cron / gateways / subagents 分开 |
| **Claude Code** | ✅ | `~/.claude/projects/**.jsonl` | 仅限令牌,按设计:CC 不在本地记录成本,订阅使用没有诚实的令牌价格 — 我们不发明一个 |
适配器大约 150 行代码,在共享模型之上。 Codex CLI / opencode 是自然的下一个目标 — PRs 欢迎。
<div align="center"><img src="assets/architecture.svg" alt="architecture: agent data → adapters → normalized model → report/why/fix/explain/doctor/mcp" width="780"></div>
## 相关
[token-history](https://github.com/Socialpranker/token-history) — 宏观视图: *世界正在运行哪些代理* (OpenRouter 排名)。agentburn 是微观视图: *您的代理在哪里燃烧*.
## 许可
MIT
<sub>mcp-name: io.github.Socialpranker/agentburn</sub>
---
<div align="center">
**token-* 家族** · [token-history](https://github.com/Socialpranker/token-history) — 世界运行的代理 · **agentburn** — 您的代理在哪里燃烧
*如果此工具为您节省了一顿饭的令牌,⭐ 有助于下一个用户找到它*
</div>
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器