成本报告¶
查询本地成本跟踪数据库,显示按日、按项目、按工具和按会话的支出报告。此命令假定成本跟踪钩子或插件已经向 ~/.claude-cost-tracker/usage.db 写入了使用记录。
此命令的工作方式¶
- 检查
sqlite3是否可用。 - 检查
~/.claude-cost-tracker/usage.db是否存在。 - 对
usage表执行聚合查询。 - 显示简洁报告;如果参数为
csv,则将最近的行导出为 CSV。
前提条件¶
数据库需要由本地成本跟踪器写入。如果文件不存在,请告诉用户跟踪器尚未设置,并建议先安装或启用可靠的 Claude Code 成本跟踪钩子/插件。
摘要查询¶
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
SELECT
ROUND(COALESCE(SUM(CASE WHEN date(timestamp) = date('now') THEN cost_usd END), 0), 4) AS today_cost,
ROUND(COALESCE(SUM(CASE WHEN date(timestamp) = date('now', '-1 day') THEN cost_usd END), 0), 4) AS yesterday_cost,
ROUND(COALESCE(SUM(cost_usd), 0), 4) AS total_cost,
COUNT(*) AS total_calls,
COUNT(DISTINCT session_id) AS sessions
FROM usage;
"
按项目细分¶
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
SELECT project, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
FROM usage
GROUP BY project
ORDER BY cost DESC;
"
按工具细分¶
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
SELECT tool_name, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
FROM usage
GROUP BY tool_name
ORDER BY cost DESC;
"
最近 7 天¶
sqlite3 -header -column ~/.claude-cost-tracker/usage.db "
SELECT date(timestamp) AS date, ROUND(SUM(cost_usd), 4) AS cost, COUNT(*) AS calls
FROM usage
GROUP BY date(timestamp)
ORDER BY date DESC
LIMIT 7;
"
CSV 导出¶
如果用户请求 /cost-report csv,请使用显式列列表导出最新的使用记录:
sqlite3 -csv -header ~/.claude-cost-tracker/usage.db "
SELECT timestamp, project, tool_name, input_tokens, output_tokens, cost_usd, session_id, model
FROM usage
ORDER BY timestamp DESC
LIMIT 100;
"
报告格式¶
按以下格式整理响应:
- 摘要:今日、昨日、总计、调用次数、会话数。
- 按项目:按总成本排序的项目。
- 按工具:按总成本排序的工具。
- 最近 7 天:日期、成本、调用次数。
低于 1 美元的金额使用 4 位小数。此命令不会根据原始令牌估算费用,而是依赖跟踪器写入的预先计算好的 cost_usd 值。
来源¶
从 MayurBhavsar 的旧社区 PR #1304 中恢复。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC