Profile
רייזאפ AI פרטי בחינם
Published on

רייזאפ AI פרטי בחינם

Authors

הקדמה והיסטוריה

כבר שנים שאני מוביל פרויקטים שמטרתם לעזור לכולנו לנהל הכנסות והוצאות בגישה עצמאית ואוטומטית. זה התחיל בהצטרפות שלי לפרויקט israeli-bank-scrapers, ואחר כך ביצירה של ממשק משתמש ידידותי בשם כספיון, יחד עם חבר. רוב הכלים שמבוססים על פרויקט scrapers רק מושכים את המידע ומעבירים אותו הלאה או מבצעים עליו ניתוח מסוים, כי ניהול כספים דורש מומחיות בפני עצמו, וכדאי להתמקד בתחום אחד. אפשר לקרוא עוד על כספיון בפוסט שכתבתי לפני שנים, אבל החיסרון של כספיון הוא שאי אפשר להפעיל אותו אוטומטית בתדירות יומיומית.

פתרון אוטומטי

כדי למשוך את המידע בצורה אוטומטית, קם פרויקט נפלא נוסף בשם Moneyman, שמבוסס על אותם scrapers, ואותו אפשר להריץ אוטומטית ולחבר לכלי ניהול כספים שונים. הצטרפתי גם לפרויקט הזה כדי להוסיף לו חיבור לכלי שנקרא Actual Budget — כלי לניהול תקציב שמריצים על שרת מקומי. כך נראה השילוב של שני הכלים אצלי בשרת:

services:
  actual-budget:
    image: actualbudget/actual-server:latest
    ports:
      - '5006:5006'
    volumes:
      - actual-data:/data
    healthcheck:
      test: ['CMD-SHELL', 'node src/scripts/health-check.js']
      interval: 60s
      timeout: 10s
      retries: 3
      start_period: 20s
    restart: unless-stopped
    networks:
      - budget_net

  moneyman:
    image: ghcr.io/baruchiro/moneyman:pr-2
    container_name: moneyman
    command: tail -f /dev/null
    env_file:
      - moneyman.env
    labels:
      ofelia.enabled: 'true'
      ofelia.job-exec.moneyman.schedule: '0 0 8,20 * * *'
      ofelia.job-exec.moneyman.command: 'npm run start'
      ofelia.job-exec.moneyman.container: 'moneyman'
      ofelia.job-exec.moneyman.user: 'pptruser'
    networks:
      - budget_net
    depends_on:
      - actual-budget

  ofelia:
    image: mcuadros/ofelia:latest
    command: daemon --docker
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

networks:
  budget_net:
    name: budget_network
    driver: bridge

volumes:
  actual-data:

הכלי ofelia ישן ולא מתוחזק, אבל עדיין עובד. הוא מאפשר להריץ פקודות בתוך קונטיינרים אחרים בתדירות מסוימת (cron).

את Actual Budget עדיין לא חקרתי לעומק. יש בו מנגנון חלוקה לקטגוריות — חשוב, אבל קצת מעצבן וידני — וגם מנגנון למעקב אחרי הוצאות קבועות וחוזרות שעוד לא הבנתי עד הסוף. (אבל שימו לב לפיצ׳ר הנוח שמאפשר להעביר אותו למצב חסוי ולהסתיר את כל הנתונים)

תמונה של Actual Budget

בונוס: AI

אז איך אפשר בלי AI? אם אני רוצה לתת ל-AI גישה למידע שלי, אני יכול להשתמש ב-MCP — שרת קטן שמספק ל-AI גישה מתועדת ומוסברת להפעלת פעולות. קצת כמו Swagger, אבל מותאם ל-AI.

למזלי, מצאתי מישהו שכבר התחיל לכתוב MCP ל-Actual Budget, וכל מה שנשאר לי זה להפעיל קצת AI כדי לעדכן את הפיתוח שלו שיתאים להרצה על שרת (וגם להוציא את סימן הדולר מהקוד, להתאים אותו ל-n8n שלא תומך כרגע בפיצ׳רים החדשים של MCP, ולשפר את הפלט שהוא מאוד ספציפי ולא נותן ל-AI את הנתונים הגולמיים לעבוד איתם. אתם יכולים לנחש שאלו רק תוכניות ולא באמת סיימתי)

ברגע שיש לי את ה-MCP, אני יכול לחבר אותו ל-AI הפרטי שלי שאני מריץ ב-n8n. אפשר לקרוא עוד על n8n בפוסט על RAG.

תמונה של צ׳אט

להרצה, פשוט מוסיפים אותו לשאר הקונטיינרים:

actual-mcp:
  image: ghcr.io/baruchiro/baruchiro/actual-mcp:main
  restart: unless-stopped
  ports:
    - '5007:3000'
  env_file:
    - shared.env
    - moneyman.env
  networks:
    - budget_net
תמונה של n8n

קהילות רלוונטיות

  • Israeli Bank Scrapers
    Israeli Bank Scrapers
    קהילה למשתמשי פרויקט הסקרייפרים ושאר הכלים שבנויים על גביו, לשאול, להתייעץ, לשתף ולדווח על באגיםdiscord
  • מעקף
    מעקף
    מטרת הקהילה היא להנגיש את הרעיון של קוד פתוח ולעודד תרומות לפרויקטים של קוד פתוחdiscord