الإعدادات

يمكن تكوين كل شيء من خلال لوحة الإعدادات — افتحها باستخدام Vibes to Bucks: Cost Tracking & Billing Setup في قائمة أوامر Cursor. لا حاجة لتعديل YAML.


1. ربط برنامج الفوترة (Pro)

تحت برنامج الفوترة، اختر Moneybird أو Harvest.

أدخل رمز API الخاص بك وانقر على اختبار الاتصال. بمجرد الاتصال، سيتم تعبئة قوائم الإدارة والمستخدم تلقائيًا من حسابك. اختر الإدارة والمستخدم الصحيحين — سيتم إنشاء إدخالات الوقت تحت هذا المستخدم.

يتم تخزين الرمز الخاص بك بأمان في SecretStorage الخاص بـ VS Code. لا يتم كتابته أبدًا في ملف التكوين أو على القرص.

الحصول على رمز Moneybird API

  1. في Moneybird، اذهب إلى الإعدادات (أيقونة الترس، أسفل اليسار)
  2. انقر على الاتصالات الخارجية والذكاء الاصطناعي
  3. تحت التطبيقات الخارجية، انقر على إنشاء رمز API
  4. أعط الرمز اسمًا (مثل Vibes to Bucks)، أكد، وانسخ الرمز
  5. الصقه في حقل رمز API في لوحة إعدادات Vibes to Bucks

الحصول على رمز Harvest

  1. في Harvest، اذهب إلى المطورينرموز الوصول الشخصية
  2. انقر على إنشاء رمز وصول شخصي جديد، أعطه اسمًا، وانسخ الرمز
  3. تحتاج أيضًا إلى معرف الحساب — يظهر في نفس الصفحة بجانب اسم حسابك
  4. الصق كلاهما في لوحة إعدادات Vibes to Bucks

2. إضافة قواعد الفوترة

تحدد قواعد الفوترة للامتداد العميل والمشروع الذي سيتم تخصيص تكاليف الذكاء الاصطناعي له. افتح لوحة الإعدادات وانتقل إلى إضافة قاعدة فوترة.

ماذا تريد تتبعه؟

حقول القاعدة

الحقل ما يفعله
الاتصال العميل في Moneybird أو Harvest الذي يتم فوترة هذه القاعدة له. ابدأ بالكتابة للبحث.
المشروع المشروع تحت هذا العميل. ابدأ بالكتابة للبحث.
المعدل الساعي (EUR) معدلك لهذا العميل. يستخدم لتحويل تكلفة الذكاء الاصطناعي إلى ساعات قابلة للفوترة.
كيفية حساب الوقت القابل للفوترة ضرب تكلفة الذكاء الاصطناعي — يطبق مضاعف الربح الخاص بك قبل التحويل إلى ساعات. تمرير بالقيمة الاسمية — يمرر التكلفة الخام إلى العميل.
مضاعف التكلفة إلى الربح يظهر فقط عند اختيار وضع الضرب. الافتراضي هو 5 (كل 1€ من تكلفة الذكاء الاصطناعي = 5€ مفوترة).
الحد الأقصى للميزانية الأسبوعية تحقق لتعيين حد أقصى لتكلفة الذكاء الاصطناعي في الأسبوع لهذه القاعدة. ينبهك الامتداد عند 25%، 50%، 75%، 85%، 95% وعند تجاوز الحد.
قابل للفوترة محدد افتراضيًا. قم بإلغاء التحديد لتتبع التكاليف لهذه القاعدة دون إنشاء إدخال وقت — مفيد للمشاريع الداخلية أو النفقات العامة الممتصة.

انقر على حفظ القاعدة عند الانتهاء.

عملاء متعددون على مستودع واحد

إذا كانت فروع مختلفة من نفس المستودع تنتمي إلى عملاء مختلفين، تحقق من عملاء متعددون على هذا المستودع واحفظ. ستظهر القاعدة بعد ذلك أيقونة فرع في جدول قواعد الفوترة — انقر عليها لفتح قواعد الفروع.

تضيف كل قاعدة فرع نمطًا (اسم الفرع الدقيق مثل main، أو حرف بدل مفرد مثل client-a/*، أو متكرر مثل feature/**) واتصالها الخاص، المشروع، المعدل، وضع الفوترة، وإعدادات الميزانية.

تتم مطابقة القواعد من الأعلى إلى الأسفل — أول تطابق يفوز.


3. التكاليف غير المعينة

قسم التكاليف غير المعينة (يمكن الوصول إليه أيضًا عبر Vibes to Bucks: Show Unassigned Costs) يسرد المستودعات التي تحتوي على تكاليف ذكاء اصطناعي متتبعة لا تتطابق بعد مع أي قاعدة فوترة. انقر على تعيين بجانب مستودع لفتح نموذج إضافة قاعدة فوترة مع تعبئة المستودع مسبقًا.


4. الإعدادات

الإعداد ما يفعله
اللغة لغة واجهة المستخدم للامتداد. 15 لغة متاحة.
التحقق من التكاليف الجديدة كل (دقائق) عدد المرات التي يقوم فيها الامتداد بالتحقق من Cursor للاستخدام الجديد. الافتراضي: 5.
المزامنة مع برنامج الفوترة يوميًا — تتم المزامنة تلقائيًا في نهاية اليوم. يدويًا — قم بتشغيل Vibes to Bucks: Sync Now من قائمة الأوامر عندما تريد المزامنة.
سعر الصرف الاحتياطي (USD → EUR) يستخدم عندما يكون سعر ECB المباشر غير متاح. تعرض اللوحة السعر المباشر الحالي وتتيح لك جلب الأحدث بنقرة واحدة.
عملة العرض EUR أو USD. يؤثر على كيفية عرض التكاليف في لوحة التحكم وشريط الحالة.

انقر على حفظ الإعدادات بعد إجراء التغييرات.


5. تلخيص الذكاء الاصطناعي (Pro)

عند المزامنة، يمكن للامتداد إنشاء أوصاف إدخالات الوقت ذات معنى من التزامات git الأخيرة الخاصة بك باستخدام نموذج ذكاء اصطناعي.

الحقل ما يفعله
مزود الذكاء الاصطناعي Anthropic أو OpenAI.
النموذج اختر من الإعدادات المسبقة (مثل Claude Haiku 4.5) أو أدخل معرف نموذج مخصص.
مفتاح 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 remotes قبل المطابقة. جميع هذه تتحول إلى github.com/acme/website:

اكتب قيم repo كـ host/org/repo — بدون بروتوكول، بدون .git.

العثور على معرفات Moneybird