Конфигурация
Все можно настроить через панель настроек — открой её с помощью Vibes to Bucks: Cost Tracking & Billing Setup в командной палитре Cursor. Редактирование YAML не требуется.
1. Подключи своё биллинговое ПО (Pro)
В разделе Биллинг ПО выбери Moneybird или Harvest.
Введи свой API Token и нажми Test Connection. После подключения выпадающие списки Administration и User автоматически заполнятся из твоего аккаунта. Выбери нужную администрацию и пользователя — временные записи будут созданы от имени этого пользователя.
Твой токен надежно хранится в SecretStorage VS Code. Он никогда не записывается в конфигурационные файлы или на диск.
Получение API токена Moneybird
- В Moneybird перейди в Настройки (значок шестерёнки внизу слева)
- Нажми Внешние и AI соединения
- В разделе Внешние приложения нажми Создать API токен
- Дай токену имя (например, Vibes to Bucks), подтверди и скопируй токен
- Вставь его в поле API Token в панели настроек Vibes to Bucks
Получение токена Harvest
- В Harvest перейди в Разработчики → Персональные токены доступа
- Нажми Создать новый персональный токен доступа, дай ему имя и скопируй токен
- Тебе также понадобится ID аккаунта — он отображается на той же странице рядом с именем аккаунта
- Вставь оба в панель настроек Vibes to Bucks
2. Добавь правила биллинга
Правила биллинга указывают расширению, какому клиенту и проекту назначать затраты на AI. Открой панель настроек и прокрути до Add Billing Rule.
Что ты хочешь отслеживать?
- Репозиторий — сопоставляется по git remote. Используй это для большинства проектов. Расширение автоматически определяет remote, когда у тебя открыт workspace.
- Папка — сопоставляется по пути к папке. Используй это для проектов без git remote или чтобы связать локальную папку с определённой веткой многоклиентского репозитория.
Поля правила
| Поле | Что оно делает |
|---|---|
| Контакт | Клиент в Moneybird или Harvest, которому выставляется счет по этому правилу. Начни вводить, чтобы искать. |
| Проект | Проект у этого клиента. Начни вводить, чтобы искать. |
| Почасовая ставка (EUR) | Твоя ставка для этого клиента. Используется для конвертации затрат на AI в оплачиваемые часы. |
| Как рассчитать оплачиваемое время | Умножить затраты на AI — применяет твой коэффициент прибыли перед конвертацией в часы. Передать как есть — передает клиенту необработанные затраты. |
| Коэффициент затрат к прибыли | Показывается только при выборе режима умножения. По умолчанию 5 (каждый €1 затрат на AI = €5, выставленных клиенту). |
| Еженедельный лимит бюджета | Установи, чтобы задать максимальные затраты на AI в неделю для этого правила. Расширение уведомляет тебя при достижении 25%, 50%, 75%, 85%, 95% и при превышении лимита. |
| Оплачиваемое | По умолчанию отмечено. Сними отметку, чтобы отслеживать затраты по этому правилу без создания временной записи — полезно для внутренних проектов или поглощенных накладных расходов. |
Нажми Save Rule после завершения.
Несколько клиентов в одном репозитории
Если разные ветки одного репозитория принадлежат разным клиентам, отметь Несколько клиентов в этом репозитории и сохрани. Правило тогда покажет значок ветки в таблице правил биллинга — нажми на него, чтобы открыть Branch Rules.
Каждое правило ветки добавляет шаблон (точное имя ветки, например, main, одиночный шаблон, например, client-a/*, или рекурсивный, например, feature/**) и свои контакт, проект, ставку, режим биллинга и настройки бюджета.
Правила сопоставляются сверху вниз — первое совпадение выигрывает.
3. Не назначенные затраты
Раздел Unassigned Costs (также доступен через Vibes to Bucks: Show Unassigned Costs) показывает репозитории с отслеживаемыми затратами на AI, которые ещё не соответствуют ни одному правилу биллинга. Нажми Assign рядом с репозиторием, чтобы открыть форму Add Billing Rule с предварительно заполненным репозиторием.
4. Настройки
| Настройка | Что она делает |
|---|---|
| Язык | Язык интерфейса расширения. Доступно 15 языков. |
| Проверять новые затраты каждые (минуты) | Как часто расширение опрашивает Cursor на предмет нового использования. По умолчанию: 5. |
| Синхронизация с биллинговым ПО | Ежедневно — синхронизируется автоматически в конце дня. Вручную — запусти Vibes to Bucks: Sync Now из командной палитры, когда хочешь синхронизировать. |
| Резервный обменный курс (USD → EUR) | Используется, когда текущий курс ЕЦБ недоступен. Панель показывает текущий курс и позволяет получить последний одним кликом. |
| Валюта отображения | EUR или USD. Влияет на то, как затраты отображаются на панели и в строке состояния. |
Нажми Save Settings после внесения изменений.
5. AI Суммаризация (Pro)
При синхронизации расширение может генерировать содержательные описания временных записей из твоих последних git коммитов с использованием AI модели.
| Поле | Что оно делает |
|---|---|
| AI провайдер | Anthropic или OpenAI. |
| Модель | Выбери из предустановок (например, Claude Haiku 4.5) или введи ID пользовательской модели. |
| API ключ | Введи свой ключ и нажми Save Key. Хранится безопасно в SecretStorage — никогда не записывается в конфигурационные файлы. |
Требования
- Git должен быть установлен локально. Расширение запускает
git log, чтобы получить сообщения коммитов для AI суммаризации. - SSH удалённые рабочие пространства: требуется аутентификация на основе SSH ключей (без пароля). Git должен быть установлен на удалённой машине. Расширение автоматически запускает
ssh <host> "git log ..."при обнаружении SSH рабочего пространства.
Продвинутое: 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:
[email protected]:acme/website.githttps://github.com/acme/website.gitssh://[email protected]/acme/website.git
Записывай значения repo как host/org/repo — без протокола, без .git.
Поиск ID в Moneybird
- ID администрации: виден в URL —
moneybird.com/{id}/... - ID контакта: открой контакт, ID в URL
- ID проекта: Настройки → Проекты → кликни на проект → ID в URL
- ID пользователя: Настройки → Пользователи → твой пользователь → ID в URL