תיעוד 15
שורת מצב
שורת המצב היא שורה אופציונלית שמציגה ערכים חיים של ההפעלה. היא יכולה להציג את המודל, את השימוש בחלון ההקשר, את העלות, או את הפלט של סקריפט שאתה מספק.
בתצוגת מסך מלא השורה ממוקמת מעל שורת קיצורי המקשים. במצב מינימלי היא ממוקמת מתחת לשורת המידע של הפרומפט. השורה מוסתרת במסך הפתיחה ובזמן שתצוגת subagent במסך מלא פתוחה. שורת המצב כבויה כברירת מחדל.
#הגדרת שורת המצב
הוסף סעיף [ui.status_line] לקובץ ~/.grok/config.toml. הפעל מחדש את Grok.
המפתח type בוחר את המצב. builtin מציג ערכים ש-Grok מעבד. command מריץ את הסקריפט שלך. disabled אינו מציג דבר.
Grok קורא את הסעיף הזה רק מההגדרה שלך, או מהגדרה שמנהל המערכת שלך מנהל. מאגר משוכפל אינו יכול להגדיר שורת מצב.
#פריטים מובנים
פריטים מופיעים בסדר שבו אתה רושם אותם. ערכים ארוכים מתקצרים באמצעות שלוש נקודות.
[ui.status_line]
type = "builtin"
items = ["cwd", "model", "context"]
# default when omittedערכת ברירת המחדל מוצגת, לדוגמה, בצורה: my-project │ Grok 4.5 │ 12% ctx.
| פריט | תיאור |
|---|---|
cwd | שם הספרייה הנוכחית. |
model | שם התצוגה של המודל. |
context | שימוש בחלון ההקשר, באחוזים. הערך הופך לצבע ענבר בסף הדחיסה האוטומטית, או ב-80 אחוז כאשר הסוכן אינו מדווח על סף. |
cost | עלות עבור תהליך Grok זה. מוסתר מתחת ל-$0.005. הפעלה שחודשה נספרת מנקודת החידוש. |
turn-timer | הזמן שחלף בתור הנוכחי, לאחר שנייה אחת. |
session-name | שם ההפעלה, אם הוגדר. |
#סקריפט פקודה
הגדר את type ל-command. כוון את command לנתיב של סקריפט או לפקודת shell מוטבעת. התו ~/ בהתחלה מתרחב לספריית הבית שלך.
מתכונים אלה הם עבור POSIX shell. הם נבדקו ב-macOS וב-Linux. שורת מצב מסוג command לא נבדקה ב-Windows.
שמור את
~/.grok/statusline.sh. הסקריפט קוראJSONמהקלט הסטנדרטי ומדפיס שורה. דוגמה זו משתמשת ב-jq:#!/bin/sh payload=$(cat) model=$(printf '%s' "$payload" | jq -r '.model.display_name // "?"') ctx=$(printf '%s' "$payload" | jq -r '.context_window.used_percentage // 0') printf '%s │ %s%% ctx\n' "$model" "$ctx"הרץ
chmod +x ~/.grok/statusline.sh. קובץ ללא ביט הרצה מציג[status line: could not start the script: …].הגדר את הפקודה:
[ui.status_line] type = "command" command = "~/.grok/statusline.sh"הפעל מחדש את
Grok. השורה מופיעה ברגע שהפעלה פעילה.
הסקריפט מקבל אובייקט JSON אחד בקלט הסטנדרטי. שדות נפוצים הם model.display_name, context_window.used_percentage, workspace.branch, ו-cwd. Grok משמיט שדה שאינו יכול לקבוע. הגן מפני מפתחות חסרים (// "?" ב-jq).
הפעלה במצב סרק אינה מריצה מחדש את הסקריפט. הגדר את refresh_interval (בשניות) בשורת command כדי להריץ אותו גם לפי טיימר. המפתח אינו עושה דבר תחת builtin או disabled. הפקודה grok inspect עדיין מדווחת עליו שם.
בדוק את הסקריפט לפני שאתה מגדיר אותו:
~/.grok/statusline.sh <<'JSON'
{"workspace": {"current_dir": "/tmp/demo", "branch": "main"}, "model": {"display_name": "Grok 4.5"}}
JSON#השבתת שורת המצב
הגדר את type ל-disabled. הערכים off, none, ו-hidden הם בעלי אותה משמעות. הסרת הסעיף [ui.status_line] משביתה גם כן את השורה.
#פתרון בעיות
Grok קורא את [ui.status_line] בעת ההפעלה. הפעל מחדש את Grok לאחר עריכת config.toml.
הפקודה grok inspect מציגה רשימה של בעיות בסעיף. שורה שמתחילה ב-[ui.status_line] מציינת את שם המפתח ש-Grok לא הצליח לקרוא.
סקריפט שאינו מדפיס דבר ונכשל מציג [status line: exit N]. חריגת זמן מציגה [status line: timed out]. סיום מאולץ מציג [status line: killed by signal]. כשל בהפעלת תהליך, כולל ביט הרצה חסר, מציג [status line: could not start the script: …]. פלט שגיאה סטנדרטי לעולם אינו מוצג. הרץ את Grok עם --debug כדי לקרוא אותו.