别再手动翻账单了——一个脚本让AI用量统计每天自动到手
为什么你需要这篇文章
如果你是独立开发者,或者在一个三五人的小团队里负责AI功能,你大概率遇到过这个场景:月底想搞清楚“这个月到底花了多少token”,于是打开各家供应商的后台,一个平台一个平台地翻,导出CSV,再用Excel拼起来。整个过程顺利的话四十分钟,不顺利——比如某家后台只保留最近30天的明细——那就得翻聊天记录、翻工单、翻邮件,一两个小时就这么没了。
我之前就是这么干的。直到某个季度末要对账,我花了一个下午整理四个平台的用量,还因为口径不一致(有的按请求计、有的按token计)返工了两遍,才下定决心把这件事写成脚本。写脚本本身花了不到两个小时,但从那以后,每月对账从平均90分钟降到了看一封邮件的3分钟,一年下来省出大约17个小时——足够写完一个小功能了。
更重要的是,它改变了团队的决策方式。以前“要不要给免费用户开放更多次数”这种问题,大家只能拍脑袋;现在脚本每天输出各功能的实际消耗,讨论有了数据基础。
为什么选 ThisToken.AI 作为统一接入点
对于小团队,接入统计脚本最大的障碍不是写代码,而是维护多套SDK、多个计费口径。ThisToken.AI 提供兼容 OpenAI 格式的统一接口,一个 API Key 就能调用多种模型,这意味着:
- 只需对接一套接口:base_url 统一,请求格式统一,统计逻辑只需要写一遍;
- 账单天然聚合:不用再跨平台拼数据,用量在一个体系内就能拉平;
- 换模型不动代码:调整模型参数即可切换,统计脚本不用跟着改。
价格方面,以官网价格页为准,这里不引用具体数字,建议注册后自行核对。
接入步骤
第一步:注册账号
打开 ThisToken.AI 的注册页面,用邮箱完成注册。流程很简单,不需要企业认证,个人邮箱即可。
第二步:获取 API Key
登录后进入控制台,在「API Keys」或类似入口处点击「创建密钥」。密钥只在创建时完整展示一次,请立即保存到安全的地方——建议放进环境变量,而不是写死在代码里(关于密钥管理的教训,可以看看我之前翻车的三次经历)。
在终端设置环境变量:
export THISTOKEN_API_KEY="sk-你的密钥"Windows 用户可在系统设置里添加,或用 set 命令。
第三步:跑通第一段代码
下面这段 Python 脚本做了三件事:调用模型、统计本次请求的 token 消耗、把结果追加写入本地 CSV。依赖只需 openai 这一个包:
pip install openaiimport os
import csv
from datetime import datetime
from openai import OpenAI
# 关键:base_url 指向 ThisToken.AI,兼容 OpenAI SDK
client = OpenAI(
api_key=os.environ["THISTOKEN_API_KEY"],
base_url="https://api.thistoken.ai/v1",
)
def chat_and_log(prompt: str, model: str = "gpt-4o-mini"):
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
usage = resp.usage
row = {
"time": datetime.now().isoformat(timespec="seconds"),
"model": model,
"prompt_tokens": usage.prompt_tokens,
"completion_tokens": usage.completion_tokens,
"total_tokens": usage.total_tokens,
}
# 追加写入 CSV,便于后续用任何表格工具分析
with open("usage_log.csv", "a", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=row.keys())
if f.tell() == 0:
writer.writeheader()
writer.writerow(row)
print(f"[已记录] {row['model']} 消耗 {row['total_tokens']} tokens")
return resp.choices[0].message.content
if __name__ == "__main__":
answer = chat_and_log("用一句话解释什么是token计费。")
print(answer)运行:
python usage_logger.py如果终端打印出回复内容和 token 数,并且当前目录出现了 usage_log.csv,第一段代码就跑通了。从我自己的时间线看,从注册到跑通这段脚本,全程不超过15分钟——这比打通任何一家单独供应商的后台导出流程都快。
从15分钟脚本到每日自动报告
跑通之后,建议按这个路径迭代(每步都是增量,不必一次做完):
1. 抽出统计函数。 上面的代码已经把 usage 对象拆出来了。真实项目里,把 chat_and_log 的记录逻辑挪到你的调用层,所有请求的消耗就会自动落进同一个 CSV。
2. 加一层汇总。 用 pandas 每天读一次 CSV,按模型、按日期聚合,十分钟就能出一张日消耗表。我的经验是,从“月度手工对账90分钟”变成“每天看汇总10秒”,中间只隔了大约两小时的开发时间,投入产出比极高。
3. 定时推送。 Linux 上配一条 crontab,Windows 上用任务计划,每天早上把汇总发到团队群或你的邮箱。从此用量数据是“推”给你的,而不是你去“拉”。
4. 设置阈值告警。 当单日消耗超过你设定的上限时发提醒。这一步做完,你在成本异常发生当天就能知道,而不是月底账单出来才惊觉——发现问题的延迟从最长30天压缩到1天以内。
几个实践建议
- 不要硬编码密钥。环境变量或 .env 文件加 .gitignore,这是最低成本的安全底线。
- 记录调用场景。在 CSV 里加一列
feature,标注这次调用来自哪个功能,月底就能看出哪个功能是成本大头,砍掉低性价比的调用。 - 先小流量验证。脚本上线前,用一个低成本的模型跑几天,确认统计口径没问题再全量接入。
写在最后
用量统计这件事,拖着的成本是隐性的:每月一两个小时的对账时间、拍脑袋的预算决策、月底才发现的异常消耗。而把它做成脚本的一次性投入,大约是两小时,之后每个月只需要看一眼汇总。
数学很简单:第一个月回本,之后每个月净赚一个多小时,外加一份实时的成本可见性。对独立开发者和小团队来说,这可能是性价比最高的一段代码。
如果你还没有 ThisToken.AI 的账号,可以从这里注册开始,15分钟后你的第一行用量数据就会落在自己的 CSV 里:https://api.thistoken.ai/register
---
想直接跑通示例?访问 https://api.thistoken.ai/register 注册 ThisToken.AI,获取 API Key 后即可开始。