כוונו את Aider אל API base תואם OpenAI.

Updated 2026-07-29

Aider מתחבר ל-endpoints תואמי OpenAI עם שני משתני סביבה וקידומת מודל. הגדירו את OPENAI_API_BASE ל-https://api.apisrouter.com/v1, הריצו aider --model openai/<model-id>, וסשני תכנות בזוגות מנותבים דרך מפתח אחד עם כל מודל בקטלוג בר-כתובת.

תשובה מהירה: שני משתני סביבה וקידומת מודל.

המסלול התואם OpenAI המתועד של Aider הוא בדיוק זה: ייצוא OPENAI_API_BASE עם ה-endpoint שלכם, ייצוא OPENAI_API_KEY עם המפתח עבורו, וקידום שם המודל ב-openai/ כך ש-Aider ידבר את פרוטוקול chat-completions אל ה-base ההוא. המחרוזת שאחרי הקידומת מועברת ל-endpoint כמו שהיא, כך שכל id שה-gateway משרת הוא הוגן, כולל ids של Claude ו-DeepSeek. זה כל החיבור. ב-Mac ו-Linux השתמשו ב-export; ב-Windows השתמשו ב-setx ופתחו shell חדש, מכיוון ש-setx לא משפיע על הסשן הנוכחי. אותם ערכים יכולים לחיות בקובץ ההגדרות של Aider או בקובץ .env אם אתם מעדיפים הגדרה לכל פרויקט על פני מצב shell.

export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...

aider --model openai/claude-sonnet-4-6

איך Aider פותר מודלים וספקים.

Aider (Aider-AI ב-GitHub, בערך 47K כוכבים) הוא מתכנת-הזוג בטרמינל המקורי: הוא ממפה את מאגר ה-git שלכם, לוקח בקשות שינוי בצ'אט, עורך קבצים ישירות, ומבצע commit לתוצאה. מתחת למכסה הוא מנתב קריאות מודל דרך litellm, וזו הסיבה שהקידומת openai/ חשובה: litellm קוראת את הקידומת כדי לבחור פרוטוקול ספק, ו-openai/ אומרת "chat-completions מול מה ש-OPENAI_API_BASE אומר". שם מודל בלי קידומת מקבל הסקת-ספק מהאיות שלו במקום זאת, מה שמנתב id של Claude לעבר ה-API הנטיבי של Anthropic ו-ANTHROPIC_API_KEY שלכם במקום ה-gateway שלכם. יש התנהגות אחת ספציפית ל-Aider ששווה לדעת לפני הסשן הראשון שלכם: הוא שומר רישום משלו של יכולות מודלים, ומודל שהוא לא מזהה מפעיל את האזהרה "Unknown context window size and costs, using sane defaults", ולאחריה Aider מניח חלון הקשר בלתי מוגבל ועלות אפס. הסשן עדיין עובד, אבל שתי תת-מערכות שימושיות מתדרדרות: תקצוב טוקנים לא יכול להזהיר אתכם לפני שתחרגו מעל מגבלת ההקשר האמיתית, ותצוגת העלות בתוך הסשן מציגה אפס. התיקון הוא קובץ metadata קטן, שמכוסה למטה, וזה שווה את שתי הדקות. Aider גם מריץ יותר ממודל אחד לסשן. מודל ה-main עושה את התכנות; מודל weak מטפל בהודעות commit וסיכום צ'אט; ובמצב architect, מודל editor נפרד מיישם את התוכנית. כל אחד מקבל את אותה קידומת openai/, כך ששלושתם יכולים לנתב דרך ה-gateway על מפתח אחד.

הגדרה מלאה: חיבור בתוספת metadata של מודל.

החיבור הוא שני המשתנים למעלה. הליטוש הוא רישום metadata כך ש-Aider יתייחס למודלי ה-gateway ככמויות ידועות. צרו .aider.model.metadata.json בתיקיית הבית שלכם, שורש מאגר ה-git, או תיקיית העבודה (או העבירו --model-metadata-file), עם מפתח על השם המלא כולל קידומת openai/; שדה litellm_provider צריך להתאים לקידומת ההיא. עם max_input_tokens רשום, תקצוב ההקשר של Aider עובד מול החלון האמיתי של המודל במקום להניח שהוא אינסופי. קובץ אופציונלי שני, .aider.model.settings.yml, מכוונן התנהגות לכל מודל: edit_format שולט באיך Aider מבקש שינויי קוד (וריאנטים של diff למודלים שמטפלים בהם, קובץ-שלם למודלים שלא), ו-use_repo_map שולט בהכללת הקשר-מאגר. Aider לא יכול להסיק את פורמט העריכה הטוב ביותר למודל שהוא לא מזהה, אז הצהרה עליו היא ההבדל בין מודל שנראה בינוני לבין ביצוע ברמה שלו.

{
  "openai/claude-sonnet-4-6": {
    "max_input_tokens": 200000,
    "max_output_tokens": 64000,
    "litellm_provider": "openai",
    "mode": "chat"
  },
  "openai/deepseek-v4-pro": {
    "max_input_tokens": 128000,
    "max_output_tokens": 16000,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}

בחירת מודלי main, weak, ו-editor.

סשני Aider ארוכים ואיטרטיביים, מה שהופך השוואת מודלים לכנה באופן חריג כאן: הריצו את אותו branch פיצ'ר עם שני מודלי main בימים שונים וההבדל מופיע בכמה פעמים הקלדתם /undo. endpoint אחד הופך כל מועמד לשינוי דגל, ומחיר-לפי-מפתח מתמחר כל ניסוי.

  • מודל ה-main נושא כל עריכה. הוא קורא את מפת המאגר, מנמק על הקבצים שלכם, ומייצר diffs, אז זה המקום ש-claude-sonnet-4-6 או gpt-5.5 שייכים אליו; מודל שמגמגם בתחביר diff עולה לכם זמן סקירה בכל שינוי.
  • מודל ה-weak (--weak-model) כותב הודעות commit ומסכם היסטוריית צ'אט. הוא יורה כל הזמן ולעולם לא נוגע בקוד, אז נתבו אותו ל-id מהיר וזול דרך אותו gateway במקום לתת לו ברירת מחדל למקום אחר.
  • מצב architect מפצל תכנון מעריכה: מודל ה-main מתכנן, מודל ה-editor (--editor-model) מיישם. מנמק חזק שמתכנן עם id מכוון-קוד כמו kimi-k2.7-code שמיישם הוא צימוד שמפתחות ספק-יחיד לא יכולים לבטא.
  • deepseek-v4-pro ו-gpt-5.4 שווים בנצ'מרק כמודלי main יומיומיים על עבודה עשירת-רפקטור, שם נפח הטוקנים לסשן הופך את הפרש המחיר למצטבר.

תשלום לפי שימוש · מתחת למחיר הרשמי

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

מודלמחיר רשמיהמחיר שלנו
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
GPT-5.4$2.50 / $15.00 per M$2.00 / $12.00 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M
Kimi K2.7 Code$0.95 / $4.00 per M$1.00 / $4.00 per M

מצבי הכשל הספציפיים ל-Aider.

לסמוך על "ברירות המחדל השפויות". ה-fallback של מודל-לא-ידוע מניח הקשר בלתי מוגבל ועלות אפס. בפועל, זה אומר ש-Aider ישמח לתת לסשן ארוך לגדול מעבר לחלון האמיתי של המודל עד ש-gateway דוחה את הבקשה או המודל מאבד בשקט את ההקשר המוקדם, ומעקב העלות מציג כלום לאורך כל הזמן. רשמו metadata; שתי הבעיות נעלמות. השמטת הקידומת openai/. בלעדיה, litellm מסיק את הספק משם המודל. ids של Claude מנותבים לעבר ה-API של Anthropic ונכשלים על ANTHROPIC_API_KEY חסר, מה שנקרא כמו בעיית מפתח כשזו בעיית קידומת. Metadata שלא תואם. ערכים ב-.aider.model.metadata.json ממופתחים על השם המלא, כולל קידומת, ו-litellm_provider צריך להסכים עם הקידומת ההיא. מפתח בלי id בסיסי או שדה ספק לא תואם נכשל בשקט להחיל, ואתם חוזרים לברירות מחדל בלי שגיאה שאומרת זאת. מצב shell ב-Windows. setx כותב את המשתנה עבור shells עתידיים בלבד. הרצת aider באותו טרמינל שבו הרצתם setx זה עתה משתמשת בסביבה הישנה, וה-401 שנוצר הוא בעיית מחזור-חיים של shell, לא בעיית אישורים. פורמט העריכה השגוי. מודל לא רשום מקבל פורמט עריכה ברירת מחדל שאולי לא מה שהוא הכי טוב בו. אם מודל חזק ממשיך לייצר עריכות ש-Aider דוחה, הגדירו edit_format במפורש ב-.aider.model.settings.yml לפני שתסיקו שהמודל לא יכול לתכנת.

מי מנתב את Aider דרך gateway.

  • משתמשי Aider יומיומיים שרוצים Claude, GPT, ו-DeepSeek ניתנים להחלפה לכל סשן עם --model, בלי לתחזק חשבון ספק לכל משפחת מודל.
  • מפתחים שמצמידים מודל main מוביל למודל weak מהיר להודעות commit, שניהם מחויבים למפתח אחד עם נראות לכל סשן.
  • משתמשי מצב architect שמערבבים מודל תכנון ומודל עריכה מספקים שונים באותו סשן.
  • צוותים שקולטים מהנדסים עם סוד אחד במקום רשימת מפתחות ספק, עם שימוש-לפי-מפתח כדוח ההוצאה.
  • מפתחים ללא גישה לחיוב של ספק נתון. גישה מבוססת-הטענה בלי דרישת כרטיס מסירה את התלות בהרשמה לכל ספק.

אמתו את ה-endpoint ובצעו דיבוג לסשן הראשון.

הציגו את רשימת מודלי ה-gateway לפני שאתם מתחילים; ה-id שאחרי openai/ חייב להתאים בדיוק ל-id מוגש, כולל סיומות גרסה. כשלים בסשן הראשון ממויינים במהירות. 401 אומר ש-OPENAI_API_KEY לא נראה ל-shell שהשיק את aider (shells חדשים בלבד ב-Windows אחרי setx; בדקו echo באותו טרמינל). שגיאת model-not-found מה-gateway היא טעות הקלדה ב-id. שגיאה שמזכירה מפתח ספק אחר אומרת ששם מודל בלי-קידומת נותב באופן נטיבי. והאזהרה על מודל-לא-ידוע בהפעלה היא לא שגיאה, אבל היא הרמז שלכם להוסיף את קובץ ה-metadata לפני סשן ארוך, לא אחרי שהוא פוגע במגבלת ההקשר האמיתית. בתוך הסשן, קריאת הטוקנים והעלות של Aider עצמו הופכת מדויקת ברגע ש-metadata רשום, וקונסולת APIsRouter מציגה את אותם סשנים מצד ה-endpoint: מודל לכל בקשה, ספירות טוקן, והוצאה. עבור מתכנת-זוג כל היום, התצוגה הזו לפי-מפתח היא התשובה הכנה למה שבוע Aider באמת עולה.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $OPENAI_API_KEY" | head -50

שאלות נפוצות

איך אני מחבר את Aider ל-endpoint תואם OpenAI?

ייצאו את OPENAI_API_BASE עם ה-URL של ה-endpoint ו-OPENAI_API_KEY עם המפתח שלו, ואז הריצו aider --model openai/<model-id>. זהו מסלול openai-compat המתועד של Aider; הקידומת openai/ אומרת לשכבת ה-litellm שלו לדבר chat-completions אל ה-base URL שלכם.

האם Aider יכול להריץ מודלי Claude או DeepSeek דרך ההגדרה הזו?

כן. ה-id שאחרי openai/ מועבר ל-endpoint כמחרוזת פשוטה, כך שכל מודל ש-gateway משרת עובד: aider --model openai/claude-sonnet-4-6 או openai/deepseek-v4-pro. שמרו את הקידומת, אחרת ה-id מקבל הסקת-ספק ומנותב הרחק מה-base שלכם.

מה משמעות האזהרה "Unknown context window size and costs"?

Aider לא מזהה את המודל, אז הוא מניח חלון הקשר בלתי מוגבל ועלות אפס. סשנים עובדים, אבל תקצוב ההקשר ותצוגת העלות שגויים. רשמו את המודל ב-.aider.model.metadata.json, עם מפתח על השם המלא openai/, והאזהרה ושתי הבעיות נעלמות.

האם מודל ה-weak ומודל ה-editor מנתבים דרך ה-gateway גם כן?

כן, אם תכוונו אותם לשם: --weak-model openai/<fast-id> להודעות commit וסיכום, ו-editor-model openai/<id> במצב architect. שלושת הסלוטים מקבלים את הקידומת, כך שמפתח אחד יכול לכסות תמהיל main/weak/editor רב-ספקים.

למה Aider עדיין מבקש מפתח Anthropic?

שם מודל נכנס בלי קידומת openai/. litellm הסיק את הספק מהשם וניסה את המסלול הנטיבי של Anthropic, שרוצה ANTHROPIC_API_KEY. הוסיפו את הקידומת והבקשה תלך אל OPENAI_API_BASE עם מפתח ה-gateway שלכם במקום.

האם כדאי להגדיר edit_format למודלי gateway?

עבור מודלים ש-Aider לא מזהה, כן. edit_format ב-.aider.model.settings.yml שולט באיך Aider מבקש שינויי קוד, ומודלים מובילים בדרך כלל עובדים הכי טוב עם פורמט diff. השארת מודל לא-ידוע על ברירות מחדל יכולה לגרום למודל חזק להיראות גרוע יותר משהוא.