bt, שורת הפקודה
שורת פקודה ללא ממשק גרפי שמתרגמת טקסט, קובץ אחד או תיקייה של קבצים דרך אותו מנוע שהחלון משתמש בו. היא אינה זקוקה לחלון ואף לא לנקודת הקצה של הסוכן, והיא מפעילה שער משלה.
מה זה bt
קובץ הפעלה בשם bt, הבנוי על .NET 10, המתואר בתיעוד של המוצר עצמו כשורת הפקודה נטולת הממשק הגרפי עבור סקריפטים. הוא נטול ממשק במובן המחמיר: הוא אינו זקוק לחלון היישום פועל, ואינו זקוק לנקודת הקצה של הסוכן מופעלת.
הוא נוצר בשלב הפרסום ונישא בתוך היישום הנשלח, והבנייה נכשלת אם העותק הזה חסר לצד היישום שפורסם: cli\bt.exe
אופן ההפעלה
bt <command> [options]
כארגומנט ראשון, לעזרה ולגרסה יש מתגים משלהן. בתוך פקודה, מתגי העזרה מדפיסים את העזרה של אותה פקודה. שימו לב שהמילה help לבדה מתקבלת, אך אינה אחת מארבע הפקודות.
bt --help bt -h bt -? bt help
bt --version bt -v
bt translate --help
הרצה ללא ארגומנטים כלל מדפיסה את עזרת השורש ומסתיימת בהצלחה.
ארבע הפקודות
יש בדיוק ארבע. פקודה לא מוכרת נדחית בהודעה שמונה את כל הארבע.
| פקודה | מה היא עושה |
|---|---|
| translate | מתרגמת טקסט, קובץ אחד או תיקייה של קבצים. |
| languages | מציגה את השפות שהמודל הנבחר יודע לתרגם. |
| models | מציגה מודלים מותקנים, או בוחרת אחד. |
| mcp | מגישה את כלי הסוכן דרך הקלט והפלט התקניים. |
אפשרויות
שש אפשרויות מקבלות ערך: --from --to --file --batch --out --select
ארבע מהן מתגים: --json --quiet (-q) --overwrite --memory
אפשרות בעלת ערך מקבלת כל אחד משני הכתיבים, כך שרווח וסימן שוויון מפוענחים אותו הדבר. שפת יעד נדרשת לתרגום, ושפת המקור היא אנגלית כברירת מחדל. אפשרות שניתנת ללא ערך שמיש נדחית בשמה, וכך גם אפשרות שאינה קיימת.
אפשרות אחת נדחית במכוון במקום פשוט להיעדר. שני הכתיבים נדחים לפני שנקרא ערך כלשהו, בנימוק שהיקף האינדקס נבחר ביישום ושורת פקודה זו אינה יכולה לצמצם אותו: --context-dir
תרגום טקסט
הטקסט מועבר כארגומנט רגיל, או נשפך פנימה בקלט התקני כשלא ניתן ארגומנט טקסט. הקלט התקני נקרא רק כשהוא מנותב מחדש, ולכן הרצה בלי אף אחד משניהם נכשלת ואומרת זאת, במקום להמתין למשהו שלעולם לא יגיע.
טקסט, קובץ ותיקייה מוציאים זה את זה, ולכל שילוב הודעה משלו. פקודת languages אינה מקבלת קובץ, תיקייה או ארגומנטים חופשיים.
קבצים ותיקיות
השתמשו באפשרות file עבור קובץ אחד ובאפשרות batch עבור תיקייה. האפשרות output בוחרת את היעד, שהוא קובץ פלט עבור קובץ בודד ותיקיית פלט עבור אצווה.
הפלט המוגדר כברירת מחדל נכתב לצד הקלט, כששפת היעד מופיעה בשם. כך readme.md מתורגם לצ'כית הופך ל־ readme.cs.md, ואילו PDF או DOCX חוזרים כטקסט במקום זאת, לדוגמה terms.pdf.cs.txt
אצווה מכסה את הקבצים שנמצאים ישירות בתיקייה הנקובה, ממוינים לפי הנתיב המלא, ללא הבחנה בין אותיות גדולות לקטנות. היא אינה יורדת לתיקיות משנה. תיקייה שאין בה דבר הניתן לתרגום היא שגיאה ולא הצלחה שקטה.
קובץ פלט קיים לעולם אינו מוחלף בשקט. הדריסה היא בחירה מפורשת: --overwrite
היקף הזיכרון משתנה לפי המסלול. מתג הזיכרון הוא בחירה מפורשת עבור טקסט. קובץ או תיקייה מתורגמים תמיד כשהזיכרון פועל, משום שקובץ מתורגם תמיד מול הפרויקט שאליו הוא שייך.
משמעת פלט
הפלט התקני נושא את התוצאה או את מעטפת ה־JSON. כל השאר הולך לפלט השגיאות התקני. שום דבר אינו מבקש קלט מהמשתמש. קידוד המסוף הוא UTF-8 ללא סימן סדר בתים.
במצב הקריא לאדם, שפות מודפסות עם קוד, שם וזמינות בעמודות קבועות; מודלים מדפיסים סימן לנבחר ולמותקן, ואז את השם ואת הקובץ; אצווה מדפיסה שורה לכל קובץ עם תוצאתו; והרצה על קובץ בודד מדפיסה רק את נתיב הפלט.
מעטפת ה־JSON
עם מתג ה־JSON נכתבת לפלט התקני מעטפת אחת בדיוק ודבר מלבדה. הערות התקדמות מדוכאות. יש חמש צורות:
text { ok, from, to, model, result, note }
files { ok, results[] { file, status, out, error } }
languages { ok, languages[] { code, name, endonym, availability } }
models { ok, models[] { name, file, path, installed, selected } }
failure { ok: false, error { code, message } }
המתג מזוהה בכל מקום ברשימת הארגומנטים לפני שהפקודה נפתרת, וזה בדיוק מה שמאפשר לפקודה לא מוכרת להשיב במעטפת כישלון ולא בטקסט רגיל.
קודי יציאה
| קוד | משמעות |
|---|---|
| 0 | הצלחה. |
| 2 | שגיאת שימוש או ארגומנט. |
| 3 | קובץ הקלט חסר או בלתי קריא. |
| 4 | סביבת הריצה של המודל אינה נגישה. |
| 5 | התרגום נכשל או שאינו שלם. |
אותו גוש משובץ בכל חמישה מסכי העזרה. תקלה שאין לה ענף משלה, כמו פורמט שאינו נתמך או קובץ פלט שכבר קיים, מדווחת כשגיאת שימוש.
דוגמאות מלאות
bt translate "Save the document" --from en --to cs
bt translate --file README.md --to cs
bt translate --batch .\docs --to de --out .\docs\de
bt languages
bt models
bt models --select EuroLLM
bt mcp
בחירת מודל
מודל נבחר לפי שם, לפי שם קובץ או לפי נתיב מלא, ללא הבחנה בין אותיות גדולות לקטנות. הבחירה נשמרת ותקפה מכאן ואילך: bt models --select <name>
לשם לא מוכר משיבים ברשימת המודלים המותקנים. כשאין דבר מותקן כלל, ההודעה מפנה במקום זאת למסך ההורדות של היישום.
הגשת כלי הסוכן
פקודת mcp מדברת את הפרוטוקול בפלט התקני, ולכן מתג ה־JSON נדחה בהודעה משלו. לא נפתח שום פורט ודבר אינו מאזין.
השורה הראשונה בפלט השגיאות התקני היא כותרת פתיחה שמציינת את הגרסה, את זמן הבנייה ואת נתיב קובץ ההפעלה שהשיב, וזה בדיוק מה שמאפשר לאבחן לקוח שמדווח על חיבור סגור כבינארי מיושן. משטח הכלים לסוכנים