אירוח עצמי ל-Iva: עוזר AI ב-Telegram ללא פורטים פתוחים
למדו כיצד להריץ את Iva על VPS קטן ללא צורך בדומיין או בפורטים פתוחים. המדריך מפרט הגדרת systemd user services ושימוש ב-Obsidian לניהול הזיכרון של הבוט בגרסה v0.3.13.
מה אתם בונים
Iva הוא עוזר בינה מלאכותית ל-Telegram באירוח עצמי, והוא אחד הבודדים שניתן לפרוס ללא צורך בפתיחת פורט נכנס או בהפניית שם מתחם. אין צורך בתעודה, כיוון ששום רכיב בשרת אינו מאזין לתעבורה ציבורית. השירות יוצר קשר יוצא מול Telegram, מחזיק את החיבור פתוח, וקורא את ההודעות שלכם מתוך התגובה. כל השאר נגזר מחיבור יוצא יחיד זה.
Iva מופץ תחת רישיון MIT וכתוב ב-Node. הזיכרון שלו הוא תיקייה של קובצי markdown פשוטים ש-Obsidian פותח ישירות, כך שההערות שהוא שומר עליכם נשארות קריאות גם ללא האפליקציה. מדריך זה מתבסס על גרסה v0.3.13, שפורסמה ב-6 באוגוסט 2026.
רוב התוכנות לאירוח עצמי מתחילות עם רשומת DNS (מערכת שמות מתחם) ו-תעודת Let's Encrypt המונפקת באמצעות Certbot. Iva מדלג על שכבה זו לחלוטין, וזו הסיבה ש-VPS קטן מאחורי firewall שמאפשר רק SSH מהווה פריסה מלאה.
מדוע Iva אינה זקוקה לפורטים פתוחים
iva-telegram-poll.service הוא גשר מסוג long polling. הוא פונה ל-API של Telegram ב-getUpdates וממתין לתשובה, כך שכל חיבור יוצא מהשרת שלך. Telegram לעולם אינה יוצרת חיבור חוזר, מה שאומר שאין צורך להגדיר reverse proxy ואין תעודות שצריך לזכור לחדש.
הסוכן עצמו מאזין בפורט 8723 ב-127.0.0.1 בלבד. תיעוד הפרויקט מבהיר זאת במפורש: אין לחשוף את פורט 8723, וכל reverse proxy שיוצב לפניו חייב לשמור על דרישת ה-bearer token. בדוק את כתובת ה-bind לאחר ההתקנה.
sudo ss -tlnp | grep 8723הכתובת חייבת להופיע כ-127.0.0.1:8723. כתובת wildcard כגון 0.0.0.0:8723 משמעותה שה-HTTP routes של הסוכן נגישים מהאינטרנט, ועליך לתקן זאת לפני שתשלח לבוט מידע פרטי כלשהו.
לכן, ה-firewall נשאר סגור. אפשר גישת SSH לפני שתפעיל אותו, כיוון ש-ufw enable ללא חוק SSH יסגור את ה-session שבו אתה מקליד כעת.
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusמה מבצע בפועל מתקין השורה האחת
דף הבית של הפרויקט מציג פקודה אחת המעבירה סקריפט מ-GitHub ישירות ל-bash. קראו את הסקריפט תחילה, שכן הוא מבצע הרבה מעבר להתקנת תוכנה בודדת.
curl -fsSL https://raw.githubusercontent.com/smixs/iva/main/install.sh -o iva-install.sh
less iva-install.sh- הוא מתקין חבילות מערכת באמצעות מנהל החבילות שזוהה:
git,gh,python3,ffmpeg,pandocו-poppler-utils. - הוא יוצר קובץ swap בנפח 2 GB בנתיב
/swapfileכאשר לשרת יש פחות מ-1.5 GB זיכרון RAM וללא swap מוגדר, כיוון שתהליך ה-build יקרוס בלעדיו. - הוא מתקין את nvm, ולאחריו את Node 24, שהיא גרסת המינימום שעליה Iva פועל.
- הוא מתקין את
uv, מנהל החבילות של Python, בנתיב~/.local/bin. - הוא משכפל (clone) את המאגר ל-
~/ivaומריץ אתnpm ci. - הוא מתקין שתי חבילות npm גלובליות:
agent-browser(שמורידה לאחר מכן את Chromium) ו-@googleworkspace/cli. - הוא מריץ את אשף ההתקנה, בונה את הפרויקט ויוצר את ה-vault.
- הוא כותב פקודת
ivaלתוך~/.local/binומתקין את יחידות ה-systemd של המשתמש.
זו כמות גדולה של תוכנה עבור שורה אחת. זה גם מסביר את ההנחיה ב-README להתקין כמשתמש רגיל ולא כ-root: כלי ה-shell של ה-agent ירוץ לאחר מכן עם ההרשאות שהיו למתקין. הסקריפט קורא ל-sudo רק עבור התקנות החבילות וקובץ ה-swap, באמצעות כלי עזר שמריץ פקודות ישירות כאשר אתם כבר מחוברים כ-root.
יצירת משתמש ייעודי לפני ההתקנה
הקצו ל-Iva חשבון משתמש נפרד. הסוכן מריץ פקודות shell על המארח דרך ה-child_process של Node, ללא מכולה (container) וללא ארגז חול (sandbox), לכן החשבון שתחתיו הוא רץ מהווה את גבול האבטחה.
sudo adduser --disabled-password --gecos "" iva
sudo usermod -aG sudo iva
sudo install -d -m 700 -o iva -g iva /home/iva/.ssh
sudo cp ~/.ssh/authorized_keys /home/iva/.ssh/authorized_keys
sudo chown iva:iva /home/iva/.ssh/authorized_keys
sudo chmod 600 /home/iva/.ssh/authorized_keys
sudo loginctl enable-linger ivaה-enable-linger חשוב מכיוון ש-Iva רץ כיחידות user של systemd. ללא הפעלת linger, ה-systemd עוצר את שירותי המשתמש ברגע שהסשן האחרון שלו מסתיים, ולכן העוזר יקרוס ברגע שתסגרו את ה-SSH. אותו כלל חל על כל שירות או טיימר שאתם כותבים בעצמכם תחת systemd.
החשבון זקוק ל-sudo רק בזמן שהמתקין מוסיף חבילות. הסירו הרשאה זו לאחר סיום ההתקנה.
sudo deluser iva sudoהתחברו כמשתמש זה ישירות דרך SSH. ל-shell שאתם נכנסים אליו באמצעות sudo -iu iva אין את DBUS_SESSION_BUS_ADDRESS וגם לא את XDG_RUNTIME_DIR מוגדרים, ולכן כל פקודת systemctl --user תיכשל עם Failed to connect to bus. הגדרת גבול זה היא תרגיל זהה ל-הרצת שירותים תחת משתמשים בעלי הרשאות מינימליות.
התקנת גרסה מקובעת (pinned) במקום הרצה ישירה מצינור (pipe) ל-bash
למתקין יש תכונה שימושית. לפני שהוא משכפל (clone) דבר מה, הוא בודק אם הספרייה שבה נמצא הסקריפט כבר מכילה package.json הכולל את "eve". אם כן, הוא בונה את הגרסה הקיימת ומדלג על שלב השכפול. כך באפשרותכם לבחור את הגרסה בעצמכם.
git clone --branch v0.3.13 https://github.com/smixs/iva.git ~/iva
cd ~/iva
git log -1 --oneline
bash install.shכעת אתם יודעים איזה קוד רץ. אינכם יודעים זאת כאשר הסקריפט משכפל את main בכל מצב שבו הוא נמצא באותה שעה. Iva שחררה חמש גרסאות בין ה-4 ל-6 באוגוסט 2026, לכן main של הבוקר ו-main של אחר הצהריים אינם אותה תוכנה.
ביצוע checkout לתגית (tag) משאיר את git במצב detached HEAD. זה עובד היטב, אך הבינו את המגבלה: iva update מעביר את ה-checkout קדימה אל ענף העדכונים, כך שהקיבוע הוא נקודת התחלה ידועה ולא הקפאה קבועה. iva version מדפיס את גרסת החבילה ואת ה-git commit, כך שתמיד תוכלו לראות היכן אתם נמצאים.
כדי לעבור לגרסה מאוחרת יותר באופן מכוון, הציגו את רשימת התגיות, הגדירו את IVA_TAG לזו שבחרתם, ולאחר מכן הריצו שוב את המתקין מתוך ה-checkout.
cd ~/iva
git fetch --tags
git tag --list 'v*' | sort -V | tail -5
IVA_TAG=v0.3.13
git checkout "$IVA_TAG"
bash install.sh --skip-setup
iva restart--skip-setup מונע מהאשף לרוץ שוב על גבי .env שכבר עובד.
חמשת שלבי האשף והמפתחות הנדרשים
- ספק המודל והמודל.
MODEL_PROVIDERמקבל אתopencode,ollama,openrouterאוcodex. האשף מאמת את המפתח בזמן אמת ומציג את המודלים הזמינים בתוכנית שלך. - קול וחיפוש. מפתח Deepgram משמש לתמלול הודעות קוליות. מפתח לחיפוש ברשת (Tavily, Exa, Parallel או Brave) הוא אופציונלי.
- אסימון (token) לבוט Telegram מ-@BotFather, הנבדק מול נקודת הקצה
getMe. - בקרת גישה. עליך לשלוח הודעה לבוט שלך, והאשף יקרא את מזהה המשתמש המספרי שלך מתוך
getUpdates. - הגדרות מערכת. אזור זמן לפי תקן IANA, ספריית ה-vault, והפורט המקומי (ברירת המחדל היא 8723).
שניים מהשלבים הללו הם תלויות ששיטת ה-"פקודה האחת" מסתירה. Iva אינה מגיעה עם מודל מובנה, לכן היא דורשת תוכנית מודל בתשלום או מפתח API כדי להשיב. היא גם אינה מתמללת אודיו בעצמה, ולכן הודעות קוליות דורשות שירות נפרד. המודל nova-3 של Deepgram עם DEEPGRAM_LANGUAGE=multi מזהה את השפה, וחשבונות Deepgram חדשים מקבלים קרדיט התחלתי שמספיק לחודשים של שימוש אישי. טקסט עובד עם מפתח המודל בלבד. רק קול תלוי ב-Deepgram.
בדקו מה האשף כתב.
grep -E '^(MODEL_PROVIDER|TELEGRAM_ALLOWED_USER_IDS|ASSISTANT_VAULT_DIR|IVA_PORT)=' ~/iva/.env
ls -l ~/iva/.envls אמור להציג -rw-------, במצב 0600, כיוון שקובץ זה מכיל את כל המפתחות שהדבקת. TELEGRAM_ALLOWED_USER_IDS חייב להכיל את המזהה המספרי שלך. רשימת המורשים חסומה כברירת מחדל (fail closed), כך שערך ריק משמעו ש-Iva לא תשיב לאיש.
המודל נקרא פעם אחת, בעת הפעלת התהליך. עריכת MODEL_PROVIDER או שם מודל ב-.env לא תשנה דבר עד שתריצו את iva restart. ב-openrouter שם המודל הוא מזהה ספק (vendor slug) כגון anthropic/claude-sonnet-4.5, ולא שם גנרי. ב-codex אין מפתח API כלל: iva login מתחבר למנוי ChatGPT קיים.
מהי העלות החודשית להרצת Iva
The data behind this chart
[
{
"plan": "Small VPS, always on",
"usd_per_month": 5
},
{
"plan": "OpenCode Go model plan",
"usd_per_month": 5
},
{
"plan": "Ollama Cloud model plan",
"usd_per_month": 20
},
{
"plan": "Deepgram voice, starter credits",
"usd_per_month": 0
},
{
"plan": "Tavily web search, free tier",
"usd_per_month": 0
},
{
"plan": "Cheapest complete setup",
"usd_per_month": 10
}
]אלו הם מחירי המחירון הרשמיים נכון לאוגוסט 2026, ולא מדידות בפועל. שרת VPS קטן בעלות של 5 דולר ארה"ב בתוספת תוכנית OpenCode Go בעלות של 5 דולר מהווים את ההגדרה המלאה הזולה ביותר, כ-10 דולר בחודש. Ollama Cloud היא אפשרות נוספת בתעריף קבוע של 20 דולר, כאשר המודלים המתקדמים שלה מחויבים כשימוש נוסף מעבר לתוכנית. שירות הקול עולה 0 כל עוד יתרת הזיכויים של Deepgram starter בתוקף.
ל-OpenRouter אין שורה כאן מכיוון שמדובר במודל של תשלום לפי שימוש, כך שהחשבון שלכם עוקב אחר צריכתכם בפועל. זו האפשרות שיש לנטר: עוזר אישי שנושא חלון הקשר (context window) של 131072 טוקנים לכל תור יכול לעבור במהירות את העלות של תוכנית בתעריף קבוע. הגדירו את משתנה חלון ההקשר לגודל האמיתי של המודל, שכן ערך מנופח רק מבזבז טוקנים.
שני השירותים ושני הטיימרים
iva.serviceמריץ את הסוכן עצמו.iva-telegram-poll.serviceמריץ את ה-bridge מסוג long polling שמתקשר עם Telegram.iva-memory-doctor.timerמופעל ב-05:00 ומבצע את פעולת התחזוקה הלילית על ה-vault.iva-update-check.timerמופעל ב-10:00 ובודק האם קיימת גרסה חדשה יותר.iva-telegram-userbot.serviceקיים רק אם הגדרת את ה-proxy האופציונלי מסוג Telethon.
iva status
systemctl --user status iva.service iva-telegram-poll.service
systemctl --user list-timers
iva logs polliva status מציג את שני השירותים ואת שני טיימרים ה-watchdog. systemctl --user list-timers מדפיס את זמן ההרצה הבא עבור כל טיימר; כך תוכל לוודא ש-memory doctor אכן ירוץ הלילה. שני השירותים צריכים להיות במצב active (running). אם אחד מהם מבצע אתחול בלולאה, journalctl --user -u iva.service -n 100 יציג את הסיבה לכך.
הפיצול חשוב בעת ביצוע ניפוי שגיאות (debugging). ה-bridge יכול להיות פעיל ולבצע polling בזמן שהסוכן מושבת; במצב כזה, Telegram יקבל את ההודעה שלך אך לא תתקבל כל תגובה. iva logs poll עוקב אחר ה-bridge, ו-iva logs עוקב אחר הסוכן; כך, שני הלוגים יצביעו על החלק התקול.
היכן נמצא ה-Obsidian vault וכיצד לגבות אותו
ASSISTANT_VAULT_DIR מוגדר כברירת מחדל ל-vault בתוך תיקיית ההתקנה, לכן הזיכרון נמצא ב-~/iva/vault. זהו מאגר git עצמאי, נפרד מהקוד, מה שמאפשר לעדכן את Iva מבלי לגעת בהערות שלך.
vault/CORE.mdמכיל עובדות קבועות והעדפות מתמשכות, מוגבל ל-1200 תווים, ועובר בכל system prompt.vault/daily/YYYY-MM-DD.mdהוא התמלול היומי, המטופל כקובץ להוספה בלבד (append only).vault/cards/מכיל כרטיסים מוקלדים עבור אנשי קשר, פרויקטים, החלטות, רעיונות והערות.vault/summaries/daily/,weekly/,monthly/ו-yearly/מכילים את ה-rollups.vault/attachments/מכיל קבצים לפי תאריך, ו-vault/.graph/מכיל את גרף הקישורים.vault/schema.jsonמגדיר את סוגי הכרטיסים ואת חוקי ה-decay.
תהליכי ה-rollups רצים לפי לוח זמנים בתוך התהליך. המעבר היומי בשעה 04:00 הופך את התמלול של אתמול לכרטיסים ולסיכום, וכותב מחדש את CORE.md. לאחר מכן, המעברים השבועיים, החודשיים והשנתיים דוחסים אותם בתורם. בשעה 05:00 מריץ ה-memory doctor מעבר דטרמיניסטי ללא מעורבות מודל: הוא אוכף את ה-schema, בונה מחדש את גרף הקישורים, מייצר מחדש את האינדקס, ולאחר מכן מבצע commit ו-push.
ה-push הזה הוא הגיבוי שלך, וזהו השלב שאנשים מפספסים. אם ל-vault אין git remote, ה-doctor מנסה ליצור מאגר GitHub פרטי דרך gh, מה שדורש GitHub CLI מאומת.
gh auth login
systemctl --user start iva-memory-doctor.service
cd ~/iva/vault && git log --oneline -3commit עם תאריך של היום אומר שהמעבר רץ וה-vault עבר commit. אזהרות gh not available בלוג אומרות את ההפך: ה-vault מתוחזק אך לעולם לא עוזב את השרת, כך ש-VPS שמושבת לוקח איתו את הזיכרון שלך.
שמור עותק שאתה שולט בו גם כן.
tar czf ~/iva-vault-backup.tgz -C ~/iva vaultהעתק את הקובץ מהשרת בעזרת scp, ולאחר מכן מחק אותו מהשרת. כדי לקרוא את הזיכרון ב-Obsidian, כוון את Obsidian ל-clone של מאגר ה-vault. קישורי Wikilinks ו-backlinks עובדים כפי שהם, וכך גם תצוגת הגרף. עריכת כרטיסים ו-CORE.md באופן ידני היא בטוחה. השאר את MOC.md ו-.graph/ ללא שינוי, כיוון שהמעבר הלילי מייצר את שניהם מחדש.
התייחסו ל-vault כאל יומן חיים
הספרייה הזו היא תיעוד מתוארך של מה שאמרתם, את מי פגשתם ומה החלטתם, על גבי מכונה שאתם שוכרים. נובעים מכך שני דברים.
אירוח עצמי מעביר את האחסון, לא את העיבוד. כל תור (turn) עובר לספק המודל שלכם, וכל הודעה קולית עוברת ל-Deepgram. ה-vault הוא שלכם. הבקשות אינן פרטיות מול החברות שמשרתות אותן. הרצת שכבת הזיכרון בעצמכם, כפי שנעשה ב-שרת זיכרון Mem0 על גבי ה-VPS שלכם, היא בעלת מבנה דומה: המאגר מקומי, אך קריאת המודל עדיין יוצאת מהשרת. אם נושא מסוים רגיש מדי עבור צד שלישי, אל תכניסו אותו לצ'אט.
הטווח של החשבון הזה הוא כל ה-vault. הכלים של Iva רצים באופן מקומי על המארח דרך fs ו-child_process של Node, ללא Docker וללא ארגז חול (sandbox), לכן תור שנחטף מקבל את כל ההרשאות שיש למשתמש השירות. זו הסיבה שהחשבון לא מחזיק sudo לאחר ההתקנה, וזו הסיבה שרשימת המורשים (allowlist) דורשת תשומת לב רבה יותר ממה שנראה במבט ראשון: זהו השער שמחליט אילו הודעות יהפכו לפקודות בשרת שלכם. אם אתם רוצים את העוזר בכיס שלכם מבלי לפתוח דבר, זהו אותו דפוס המשמש ל-גישה לסוכן Hermes מאוחסן עצמית מהטלפון שלכם, כאשר לקוח הצ'אט מבצע את העבודה שנקודת קצה ציבורית הייתה מבצעת אחרת.
מה משתבש, ואיזו הודעה תראו
Build killed, exit 137. מנגנון ה-OOM killer של ה-kernel עצר את תהליך ה-build. תוכנית ההתקנה מוסיפה swap רק אם ה-RAM קטן מ-1.5 GB ולא קיים swap, לכן עליכם להוסיף אותו בעצמכם ולהריץ את ההתקנה שוב.
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -hFailed to connect to bus. כל פקודת systemctl --user מדפיסה זאת כאשר ל-shell אין user session bus, שהוא בדיוק מה ש-sudo -iu iva מספק. פתחו session רגיל ב-SSH כמשתמש זה, או בצעו export ל-XDG_RUNTIME_DIR=/run/user/$(id -u iva) לפני הרצת הפקודה.
הבוט מתעלם מכם. TELEGRAM_ALLOWED_USER_IDS ריק, ורשימת המורשים (allowlist) מוגדרת כ-fail closed. שלחו לבוט הודעה: הוא ישיב עם ה-ID המספרי שלכם ותו לא. הזינו את ה-ID הזה ב-.env והריצו את iva restart.
הבוט משתתק מיד לאחר iva config. אשף ההתקנה עלול להעביר את IVA_PORT מבלי לעדכן את ASSISTANT_HOST, כך שה-bridge מתחבר לפורט שאין בו מענה. השוו בין שתי השורות, ולאחר מכן בצעו restart.
grep -E '^(IVA_PORT|ASSISTANT_HOST)=' ~/iva/.env
iva restartאין מענה להודעה קולית. ה-Bot API של Telegram מסרב להוריד קבצים הגדולים מ-20 MB, לכן ה-bridge לעולם לא מקבל את האודיו הארוך ואין לו מה לשלוח ל-Deepgram. פצלו את הקובץ לפני השליחה.
ffmpeg -i long.ogg -f segment -segment_time 600 -c copy part-%02d.oggתור (turn) נתקע ולא משיב. מצב workflow תקוע שורד אתחול ומכניס את עצמו מחדש לתור, לכן restart לבדו לא יפתור זאת. iva reset מכניס את המצב הזה להסגר ומפעיל מחדש את שני השירותים. /new בצ'אט מתחיל שיחה חדשה.
Chromium נכשל ב-Ubuntu 24.04. גרסת Ubuntu 24.04 חוסמת unprivileged user namespaces באמצעות AppArmor, לכן ה-sandbox של Chromium לא יכול לעלות ו-agent-browser נכשל. תוכנית ההתקנה עוקפת זאת על ידי כתיבת "--no-sandbox" לתוך ~/.agent-browser/config.json. דעו שקובץ זה קיים. הוא מוריד את רמת הבידוד של הדפדפן, וזו סיבה נוספת לכך שהחשבון לא צריך להחזיק דבר מלבד Iva.
FAQ
האם אני זקוק לשם מתחם או לפורט פתוח כדי לארח את Iva בעצמי?
לא. Iva מתקשרת עם Telegram באמצעות long polling: הפקודה iva-telegram-poll.service קוראת ל-getUpdates וממתינה, לכן כל חיבור הוא יוצא מהשרת שלך. שום דבר לא צריך להגיע לשרת מבחוץ, ולכן אין צורך ברשומת DNS או בתעודה. פורט ה-HTTP של הסוכן, 8723, מאזין ל-127.0.0.1, ותיעוד הפרויקט מנחה לא לחשוף אותו. חומת אש המאפשרת SSH בלבד היא התצורה הנכונה.
מהי העלות החודשית של הרצת Iva?
לפי מחירון אוגוסט 2026 שפורסם, VPS קטן בעלות של 5 דולרים בתוספת תוכנית התעריף השטוח הזולה ביותר בעלות של 5 דולרים מסתכמים בכ-10 דולרים לחודש. Ollama Cloud עולה 20 דולרים, ומחייבת בנפרד על מודלים מתקדמים. נקודות הזיכוי למתחילים ב-Deepgram מכסות את השימוש הקולי בתחילה, ולשכבות החיפוש באינטרנט יש מכסות חינמיות. OpenRouter פועל במודל של תשלום לפי שימוש, ולכן אין לו עלות חודשית קבועה.
היכן Iva שומרת את הנתונים שלי, וכיצד מגבים אותם?
כברירת מחדל הנתונים נשמרים ב-~/iva/vault, כפי שמוגדר ב-ASSISTANT_VAULT_DIR. מדובר במאגר git פרטי ונפרד של קובצי markdown פשוטים: CORE.md, daily/YYYY-MM-DD.md, cards/ ו-summaries/. תהליך ה-memory doctor מבצע commit ו-push בשעה 05:00, דבר שעובד רק אם למאגר יש remote מוגדר, לכן יש להריץ את gh auth login או להוסיף remote משלך במהלך ההתקנה. שמור עותק לא מקוון באמצעות tar czf ~/iva-vault-backup.tgz -C ~/iva vault והעבר את הקובץ מחוץ לשרת.
האם הנתונים שלי פרטיים אם אני מארח את Iva בעצמי?
האחסון הוא שלך, אך העיבוד אינו כזה. הכספת נשארת על הדיסק שלך עד לביצוע push, והקובץ .env מוגדר במצב 0600 בבעלות משתמש השירות. קריאות למודלים ותמלול קולי מתבצעים מול ממשקי API בענן, לכן ההודעות עוברות דרך ספק המודל שלך ודרך Deepgram. Iva מופצת תחת רישיון MIT, כך שניתן לקרוא בדיוק מה היא שולחת ולשנות זאת. רשימת המורשים של Telegram פועלת במצב fail closed, כלומר קובץ TELEGRAM_ALLOWED_USER_IDS ריק חוסם את כולם, כולל אותך.
באילו ספקי מודלים Iva תומכת?
MODEL_PROVIDER מקבל את opencode (OpenCode Go), ollama (Ollama Cloud), openrouter ו-codex. OpenRouter מקבל מזהה ספק (slug) כגון anthropic/claude-sonnet-4.5 ומציע את המבחר הרחב ביותר של מודלים. codex מתחבר למנוי ChatGPT קיים באמצעות iva login ואינו דורש מפתח API. הגדר את הספק, הגדר את חלון ההקשר (context window) בהתאם לגודלו האמיתי של המודל, ולאחר מכן הרץ את iva restart, כיוון שהמודל נטען פעם אחת בלבד בעת עליית התהליך.