配置
所有配置都可以通过设置面板完成——在 Cursor 命令面板中使用 Vibes to Bucks: Cost Tracking & Billing Setup 打开。无需编辑 YAML。
1. 连接你的计费软件 (Pro)
在计费软件下,选择 Moneybird 或 Harvest。
输入你的 API Token 并点击 测试连接。连接成功后,Administration 和 User 下拉菜单将自动从你的账户中填充。选择正确的管理和用户——时间条目将创建在该用户下。
你的 token 安全存储在 VS Code 的 SecretStorage 中。它不会被写入配置文件或磁盘。
获取你的 Moneybird API token
- 在 Moneybird 中,进入 设置(齿轮图标,左下角)
- 点击 外部和 AI 连接
- 在 外部应用程序下,点击 创建 API token
- 给 token 命名(例如 Vibes to Bucks),确认并复制 token
- 将其粘贴到 Vibes to Bucks 设置面板的 API Token 字段中
获取你的 Harvest token
- 在 Harvest 中,进入 开发者 → 个人访问令牌
- 点击 创建新的个人访问令牌,命名并复制 token
- 你还需要你的 账户 ID——显示在同一页面的账户名称旁
- 将两者粘贴到 Vibes to Bucks 设置面板中
2. 添加计费规则
计费规则告诉扩展程序将 AI 成本分配给哪个客户和项目。打开设置面板并滚动到添加计费规则。
你想跟踪什么?
- 仓库——通过 git remote 匹配。适用于大多数项目。当你打开工作区时,扩展程序会自动检测 remote。
- 文件夹——通过文件夹路径匹配。适用于没有 git remote 的项目,或将本地文件夹链接到多客户端仓库的特定分支。
规则字段
| 字段 | 功能 |
|---|---|
| 联系人 | Moneybird 或 Harvest 中该规则计费的客户。开始输入以搜索。 |
| 项目 | 该客户下的项目。开始输入以搜索。 |
| 小时费率 (EUR) | 你对该客户的费率。用于将 AI 成本转换为可计费小时。 |
| 如何计算可计费时间 | 乘以 AI 成本——在转换为小时之前应用你的利润倍数。按原价传递——将原始成本传递给客户。 |
| 成本到利润倍数 | 仅在选择乘法模式时显示。默认是 5(每 €1 的 AI 成本 = €5 的计费)。 |
| 每周预算上限 | 勾选以设置该规则每周的最大 AI 成本。扩展程序在达到 25%、50%、75%、85%、95% 和超出限制时提醒你。 |
| 可计费 | 默认勾选。取消勾选以跟踪该规则的成本而不生成时间条目——适用于内部项目或吸收的开销。 |
完成后点击 保存规则。
一个仓库多个客户
如果同一仓库的不同分支属于不同客户,请勾选此仓库有多个客户并保存。规则在计费规则表中显示一个分支图标——点击它以打开分支规则。
每个分支规则添加一个模式(精确分支名称如 main,单个通配符如 client-a/*,或递归如 feature/**)及其自己的联系人、项目、费率、计费模式和预算设置。
规则按从上到下匹配——第一个匹配的规则生效。
3. 未分配的成本
未分配的成本部分(也可以通过 Vibes to Bucks: Show Unassigned Costs 访问)列出尚未匹配任何计费规则的 AI 成本的仓库。点击仓库旁的 分配 打开添加计费规则表单,仓库信息已预填。
4. 设置
| 设置 | 功能 |
|---|---|
| 语言 | 扩展的 UI 语言。提供 15 种语言。 |
| 每隔(分钟)检查新成本 | 扩展程序轮询 Cursor 获取新使用情况的频率。默认:5。 |
| 同步到计费软件 | 每日——每天结束时自动同步。手动——当你想同步时,从命令面板运行 Vibes to Bucks: Sync Now。 |
| 备用汇率 (USD → EUR) | 当实时 ECB 汇率不可用时使用。面板显示当前实时汇率,并允许你一键获取最新汇率。 |
| 显示货币 | EUR 或 USD。影响成本在仪表板和状态栏中的显示方式。 |
更改后点击 保存设置。
5. AI 摘要 (Pro)
同步时,扩展程序可以使用 AI 模型从你最近的 git 提交中生成有意义的时间条目描述。
| 字段 | 功能 |
|---|---|
| AI 提供商 | Anthropic 或 OpenAI。 |
| 模型 | 从预设中选择(例如 Claude Haiku 4.5)或输入自定义模型 ID。 |
| API 密钥 | 输入你的密钥并点击 保存密钥。安全存储在 SecretStorage 中——从不写入配置文件。 |
前提条件
- 本地必须安装 Git。扩展程序运行
git log以获取提交消息用于 AI 摘要。 - SSH 远程工作区:需要基于 SSH 密钥的认证(无密码)。Git 必须安装在远程机器上。扩展程序在检测到 SSH 工作区时自动运行
ssh <host> "git log ..."。
高级:YAML 参考
设置面板写入 ~/.vibes-to-bucks/config.yaml。你可以直接编辑此文件作为替代——面板和 YAML 完全可互换。
完整示例
destination: moneybird
moneybird:
administration_id: "123456789"
user_id: "987654321"
polling:
interval_minutes: 5
sync_schedule: daily
fx:
source: ecb
fallback_rate: 0.92
mappings:
# Single-client repo
- repo: github.com/acme/website
contact_id: "100"
billing:
mode: multiplier
project_id: "200"
hourly_rate: 120
multiplier: 5
budget:
max_ai_cost_per_week: 50
# Multi-client repo — different branches → different clients
- repo: github.com/org/platform
multiclient: true
branches:
- pattern: "client-a/*"
contact_id: "300"
billing:
mode: multiplier
project_id: "400"
hourly_rate: 100
multiplier: 5
- pattern: dev
contact_id: "600"
billing:
mode: passthrough
project_id: "700"
hourly_rate: 0
# Folder fallback
- folder: /home/user/experiments
contact_id: "800"
billing:
mode: passthrough
project_id: "900"
hourly_rate: 100
远程规范化
Git remotes 在匹配之前会被规范化。以下所有都解析为 github.com/acme/website:
[email protected]:acme/website.githttps://github.com/acme/website.gitssh://[email protected]/acme/website.git
将 repo 值写为 host/org/repo——无协议,无 .git。
查找 Moneybird ID
- 管理 ID:在 URL 中可见——
moneybird.com/{id}/... - 联系人 ID:打开联系人,ID 在 URL 中
- 项目 ID:设置 → 项目 → 点击项目 → ID 在 URL 中
- 用户 ID:设置 → 用户 → 你的用户 → ID 在 URL 中