agentacct:给 AI 编码代理留一张不粉饰的本地工作回执
让编码代理连跑几个小时后,最难回答的往往不是“花了多少 token”,而是更朴素的几件事:它实际改了什么?哪些测试真跑过?“已完成”是它自己说的,还是有当前的检查结果能证明?不同客户端轮流使用时,费用、会话和代码改动也很容易散落在各自的日志里。截图和一句总结都不太适合回溯。
今天看的是 mikehasa/agentacct。它是一个本地优先的编码代理工作台:读取机器上已有的会话日志,把每个任务整理成 Work Receipt(工作回执),并在本地 dashboard 与 agentacct tui 中展示步骤、工具、改动文件、测试、token 和成本估算。README 明确区分“代理报告了什么”和“当前检查验证了什么”:没有检查的步骤仍是 claim,估算金额不是账单;它记录工具类别、脱敏命令、退出码、token 和步骤,不保存 prompt、模型回复或 transcript。
按 GitHub repository、README、LICENSE 与 Releases 在 2026-09-23 10:00 Asia/Shanghai 可核验的信息,mikehasa/agentacct 有 753 stars、80 forks,主要语言为 Python,license 是 MIT。仓库创建于 2026-07-24 16:28:06 UTC,latest push 为 2026-09-23 09:56:15 UTC。最新 GitHub Release 是 v0.11.2,发布于 2026-09-22 11:54:51 UTC。它仍自称 early alpha;这反而适合先拿一台自己的开发机、一两个可复核任务试用,而不是一开始就把它当团队级审计系统。
项目概览
| 属性 | 详情 |
|---|---|
| 仓库 | mikehasa/agentacct |
| 定位 | 本地优先的 AI 编码代理工作回执、用量与证据视图 |
| Stars / Forks | 753 / 80 |
| 主要语言 | Python |
| 许可证 | MIT |
| 创建时间 | 2026-07-24 16:28:06 UTC |
| Latest push | 2026-09-23 09:56:15 UTC |
| 最新 Release | v0.11.2,2026-09-22 11:54:51 UTC |
| 数据边界 | 本机读取、仅监听 127.0.0.1、不要求 provider API key |
把“做完了”拆成可以追问的证据
agentacct 最有意思的不是再画一个 token 图,而是给任务加上来源和证据强度。代理写下的完成状态是 Reported;只有所有当前检查都在最后一次改动之后通过,任务才会显示为 Verified。检查卡片还会显示它来自代理报告、hook 观察到的退出码,还是 CI。这样看一个失败的任务时,不必猜“是不是模型在胡说”,而是能看到哪一次运行失败、之后是否真的补跑了检查。
它也尝试把跨客户端的一天工作放到同一项目目录的时间线上。每个会话保留自己的回执和证据,总量只是回执相加,不会把多段会话硬凑成一个看似完整的结论。对于在 Codex、Claude Code、OpenCode 之间切换的人,这比导出几份各自口径不同的用量报告更接近日常排查需要。
先用 pipx 在一台机器上试跑
README 给出的最短路径如下:
pipx install agentacct
agentacct onboard # 每台机器一次:发现代理、建立本地存储、启动 recorder
agentacct tui # 在终端查看
项目要求 macOS 或 Linux 上的 Python 3.11+;Windows 目前只支持 WSL。安装后要新开一个代理会话,因为 hooks 和 MCP server 在会话启动时绑定。它还提供 --scope project,把设置放在当前仓库的 .agent-sentinel/,很适合先避免改动全局配置。
一个务实的试用方式是挑一项明确任务,例如修一条测试或做一次小型迁移:先让代理完成,再在 TUI 里核对改动文件、命令退出码、失败后是否有通过的重跑,以及成本是否被标成估算。只有这些信息和你的实际体验对得上,再考虑把它接到更多客户端。
本地优先不等于无须审查权限
agentacct 的 README 说明数据留在本机、不上传,也不会存 prompt 或 transcript;但它仍会读取代理客户端的本地 session 文件,并在 onboard 时为客户端安装 hooks/MCP 配置。对工作设备来说,先阅读它列出的改动、使用 --scope project,并确认要接入的客户端范围,仍然比一键全局启用稳妥。
另一个边界是准确性。token 来自客户端报告,金额来自价格表估算;不同代理能力覆盖不完全,session 与工作记录之间的归因会标记为 exact、high、medium 或 low。它刻意把缺口留出来,而不是把未知显示成零。这个取舍很适合做开发过程的可见性工具,却不应被误用为财务账单或安全审计的唯一依据。
总结
agentacct 把“代理说完成了”“机器看到了哪些检查”和“这次工作大致消耗多少”放进一份承认不确定性的本地回执。它还很年轻,但对同时使用多个编码代理、又想把工作状态拉回可检查事实的人,思路很对:先保留证据等级,再讨论结论。先在一台开发机上用一个真实任务跑出第一张回执,应该是判断它值不值得留下的最好方式。