設定

一切都可以透過設定面板進行配置 — 在 Cursor 指令面板中使用 Vibes to Bucks: Cost Tracking & Billing Setup 開啟。無需編輯 YAML。


1. 連接您的帳單軟體 (Pro)

帳單軟體下,選擇 MoneybirdHarvest

輸入您的 API Token 並點擊 測試連接。連接成功後,AdministrationUser 下拉選單會自動從您的帳戶中填入。選擇正確的管理和用戶 — 時間條目將在此用戶下創建。

您的 token 安全地儲存在 VS Code 的 SecretStorage 中。它不會被寫入配置文件或磁碟。

獲取您的 Moneybird API token

  1. 在 Moneybird 中,前往 設定(齒輪圖示,左下角)
  2. 點擊 外部和 AI 連接
  3. 外部應用程式下,點擊 創建 API token
  4. 給 token 命名(例如 Vibes to Bucks),確認並複製 token
  5. 將其貼到 Vibes to Bucks 設定面板中的 API Token 欄位

獲取您的 Harvest token

  1. 在 Harvest 中,前往 開發者個人訪問 token
  2. 點擊 創建新的個人訪問 token,給它命名並複製 token
  3. 您還需要您的 帳戶 ID — 顯示在同一頁面上,位於您的帳戶名稱旁
  4. 將兩者貼到 Vibes to Bucks 設定面板中

2. 添加帳單規則

帳單規則告訴擴充功能將 AI 成本分配給哪個客戶和專案。打開設定面板並滾動到 添加帳單規則

您想追蹤什麼?

規則欄位

欄位 功能
聯絡人 此規則向 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 中 — 不會寫入配置文件。

先決條件


進階: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 遠端在匹配前會被標準化。以下所有都解析為 github.com/acme/website

repo 值寫為 host/org/repo — 無協議,無 .git

找到 Moneybird ID