计费如何运作
Vibes to Bucks 追踪你的 Cursor AI 代币成本,并将其转换为你的时间追踪软件(Moneybird 或 Harvest)中的可计费工时。转换基于你的小时费率——因此扩展程序会计算出 AI 成本代表了多少小时的工作时间,并为该时间创建一个时间条目。
每个客户映射你可以控制三件事:
- 是否计费 — 勾选计费为客户生成时间条目。取消勾选以便内部追踪成本而不向客户计费(适用于自有项目或吸收的间接费用)。
- 如何计算计费时间 — 选择乘以 AI 成本(增加你的利润)或按原值传递(仅成本回收)。
- 小时费率 — 用于将欧元成本转换为工时的客户费率。
乘以 AI 成本(推荐)
当你希望以利润率计费 AI 辅助工作时使用此选项。你设置一个成本到利润乘数,在转换为工时之前对原始 AI 成本进行缩放。这体现了你所提供的真实价值——提示编写、输出审查和迭代、结果整合,以及对最终产品负责。
计算方式:
cost_eur = cost_usd × multiplier × fx_rate
hours = cost_eur / hourly_rate
示例: €10 的 AI 成本,乘数 5,小时费率 €120/h:
cost_eur = €10 × 5 = €50
hours = €50 / €120 = 0.42h (≈ 25 minutes billed)
乘数为 5 意味着每 €1 的 AI 支出变成 €5 的可计费收入——反映了你围绕 AI 输出所投入的专业知识和时间。从 5 开始,根据客户协议进行调整。
按原值传递
用于成本回收计费——原始 AI 成本按原值传递给客户,以你的小时费率转换为工时。不添加利润。
计算方式:
cost_eur = cost_usd × fx_rate
hours = cost_eur / hourly_rate
示例: $12.00 AI 成本,EUR/USD 汇率 0.92,小时费率 €120/h:
cost_eur = $12.00 × 0.92 = €11.04
hours = €11.04 / €120 = 0.092h (≈ 6 minutes billed)
不计费
取消勾选映射中的计费,以便在不生成任何时间条目的情况下追踪该客户或项目的 AI 成本。成本会显示在你的仪表板中,以便查看支出,但不会同步到 Moneybird 或 Harvest。适用于内部项目、研发或任何你自行吸收 AI 成本的工作。
汇率
USD→EUR 转换使用 Frankfurter API,该 API 提供欧洲中央银行每天约 16:00 CET 发布的参考汇率。汇率会本地缓存以避免冗余的 API 调用。当 API 无法访问时,扩展程序会回退到配置中的 fallback_rate。
对于补充数据,扩展程序会获取每个特定日期的历史汇率,因此即使是过去日期也能获得准确的转换。
四舍五入和最小值
时间条目以开始/结束时间戳存储。扩展程序将小时转换为分钟,并四舍五入到最接近的整分钟,最小为 1 分钟:
- 0.001h → 1 分钟(最小值)
- 0.092h → 6 分钟
- 2.25h → 2 小时 15 分钟
所有条目从 09:00 UTC 开始。结束时间根据四舍五入的持续时间计算。这些时间戳是 API 要求,并不反映实际工作时间。
每个客户每个项目每天一个条目
同步引擎每天每个客户每个项目最多生成一个时间条目。如果同一天晚些时候有更多事件到达,下一次同步会更新现有条目而不是创建新条目。这保持了你的时间表整洁,避免了条目碎片化。
幂等同步
在创建条目之前,扩展程序会检查是否已经存在相同(日期、联系人、项目)组合的条目:
- 没有现有条目 → 创建
- 现有条目,总计发生变化 → 更新
- 现有条目,总计未变化 → 跳过(无 API 调用)
连续两次运行“立即同步”不会产生重复。
每周预算上限
为每个映射设置每周 AI 成本限制(Pro)。扩展程序按仓库追踪支出,并在达到里程碑时触发 Cursor 通知:25%、50%、75%、85%、95% 作为信息提醒,达到 100% 时警告,之后每增加 10% 也会提醒。每个里程碑每周每个仓库触发一次。
这是一个软上限——它从不阻止 AI 使用,只是在你超支前保持信息透明。预算状态也在使用仪表板上可见,仪表显示支出与限制的对比。