מדריך גרוק CLI בעברית

תיעוד 47

לוח הבקרה של הסוכנים

לוח הבקרה של הסוכנים (Agent Dashboard) מציג כל הפעלה ברמה עליונה (top-level session) בתהליך ה-pager הזה, הפעלות מקומיות ופיצולים (forks), כשהן מקובצות לפי מצב. ממסך אחד אפשר להציץ (peek), להשיב, להתחבר (attach), לנעוץ (pin), לשנות שם, לעצור, או לשגר סוכן חדש. תת-סוכנים (subagents) אינם מופיעים ברשימה, הם רצים תחת סוכן האב שלהם, שמציג בעצמו מתי עבודה נמצאת בתהליך.

לא מדובר בחלון המודאלי של הסוכנים (/config-agents / /agents, הגדרות ודמויות), בבורר ההפעלות (/resume / F3, שיחות עבר בדיסק), או בממשק הפעלת תהליכי העבודה (/workflow runs).


#פתיחת לוח הבקרה

  • grok dashboard: הפעלת ממשק הטרמינל (TUI) ישירות לתוך לוח הבקרה.
  • /dashboard (כינויים נוספים: /agents-dashboard, /sessions): פתיחה מתוך הפעלה.
  • Ctrl+\: אותה תצוגה כמו פקודת הלוכסן (slash command).

מוסתר במצב מינימלי (minimal mode). הגדירו GROK_AGENT_DASHBOARD=0 או [dashboard].enabled = false כדי להשבית.


#מה רואים במסך

 Grok Build · Dashboard: 4 agents · 2 awaiting
▌● reviewer · audit token flow    Awaiting your input            2m
 ● implementer · fix login bug    Running: cargo test           12m
 ⋅ refactor · feat/login          Responding…                   24m
 ○ housekeeping                   idle                           1h
 ● implementer · add login tests  8 tools · 1.2k tok            14m
╭─────────────────────────────────────────────────────────────────╮
│ ❯ Dispatch a new agent                                          │
╰─ dispatch ──────────────────────────────────────────────────────╯
 ↑/↓ select (peek) · Enter open · Ctrl+R rename · Ctrl+T pin · Ctrl+X stop · ? help · Esc new

כל שורה מייצגת סוכן ברמה עליונה. ניתן למיין לפי מצב (Needs input → Working → Idle → Inactive → Completed → Failed) כך ששורות באותו מצב יופיעו יחד, או לפי ספריית עבודה (Ctrl+G מחליף ביניהם). המצב Inactive כולל הפעלות ברשימה בלבד (roster-only) שבבעלות תהליכי pager אחרים שתהליך זה לא טען, זהו רעש רקע, ולכן המקטע מתחיל כשהוא מכווץ (הרחבה באמצעות או לחיצה).

כדי לשמור על Idle נוח לסריקה, רק הסוכנים הבלתי פעילים העדכניים ביותר נשארים גלויים: 8 העדכניים ביותר, בנוסף לכל סוכן שהיה פעיל במהלך השעה האחרונה. השאר מתקפלים לתוך שורת "N more" בתחתית הקבוצה. בחרו בה ולחצו על Enter / (או לחצו עם העכבר) כדי להרחיב, ועל כדי לקפל מחדש. הכותרת של Idle תמיד מציגה את הסך הכול האמיתי. הקיפול מושהה בזמן שמסנן או חיפוש פעילים.

סמלי המצב תואמים לרשימות הפעלות אחרות ב-Grok Build:

  • /://: ספינר מונפש עבור Working
  • : עיגול מלא עבור Needs input, Completed, Failed, Blocked (צבע: צהוב, ירוק, אדום, ענבר)
  • : עיגול חלול עבור Idle ו-Inactive

שורה נשארת במצב Working כל עוד יש לה עבודת רקע חיה, גם אם התור (turn) שלה הסתיים: משימת רקע, monitor, או /loop מתוזמן פעיל. שורת הפעילות מציינת מה עדיין רץ (לדוגמה 1 monitor · 2 loops still running).

אין כותרות קבוצה בתוך השורות (inline group headers). סדר המיון שומר על שורות בעלות אותו מצב צמודות זו לזו, והנקודה והצבע בכל שורה מציגים את הקבוצה.

שורת קלט השיגור משתמשת באותה מסגרת הנחיה (prompt chrome) כמו תצוגת הסוכן. לחצו על Ctrl+/ כדי להעביר אותה למצב חיפוש: הקידומת הופכת ל-Search: צהוב, והקלדה מסננת את הרשימה בזמן אמת במקום לשגר סוכן.


#קיצורי מקשים

מקשפעולה
/ , j / kניווט בין שורות וכותרות מקטעים (בחירת שורה פותחת תצוגת הצצה, peek)
/ (על כותרת מקטע)הרחבה / כיווץ של המקטע (l / h במצב vim)
Enter (על כותרת מקטע)החלפת מצב המקטע בין מכווץ למורחב
Enter (תשובה ריקה)פתיחת הסוכן שנבחר במסך מלא (תצוגת פרטים, details view)
Ctrl+Sשליחת תשובת ההצצה ופתיחת הסוכן (או שיגור והתחברות להפעלה חדשה)
Shift+Enter / Alt+Enterשורה חדשה בקלט התשובה / השיגור
1 עד 9מענה על שאלת הרשאה / שאלת ask ממתינה כאשר ההצצה מציגה אפשרויות
Enter (תשובה מוקלדת)שליחה / הכנסת התשובה לתור עבור הסוכן שנבחר
/תו / מילולי לתוך שורת ההנחיה
Ctrl+/החלפת מצב חיפוש (סינון שורות בזמן אמת)
Ctrl+Rשינוי שם השורה שנבחרה
Ctrl+Tנעיצה / ביטול נעיצה
Ctrl+Gהחלפת קיבוץ (מצב ↔ ספרייה)
Ctrl+Xביטול תור שרץ, או לחיצה פעמיים תוך 2 שניות למחיקה לצמיתות
ריחוף + לחיצה על [✗]מחיקה לצמיתות של שורה במצב idle/done (לחיצה נוספת לאישור)
Shift+↑ / Shift+↓שינוי סדר השורות הנעוצות
Escחזרה שלב לאחור: ביטול חיפוש → סגירת הצצה → ניקוי מסנן → ביטול פוקוס על שיגור → ביטול בחירת שורה → יציאה. לעולם אינו מוחק טיוטת שיגור מוקלדת (השתמשו ב-Ctrl+U / Ctrl+C לשם כך)
Ctrl+\חזרה מתצוגת פרטים, או יציאה מלוח הבקרה
Ctrl+. (חלופי: ?)דף עזר לקיצורי מקשים. שורת התחתית מציגה ? כאשר לא ניתן להעביר את Ctrl+.. תו ? בלבד פותח עזרה כשהפוקוס ברשימה או כשהטיוטה ריקה

כאשר מקבצים לפי מצב, לכל קבוצה יש כותרת מקטע (למשל Working, Idle) עם סימון /. בחרו כותרת ולחצו על / כדי להרחיב או לכווץ (l / h במצב vim). לחיצה בעכבר מחליפה מצב, ריחוף מעל הכותרת מבהיר אותה. מצב הכיווץ נשמר כל עוד לוח הבקרה נשאר פתוח. Inactive מתחיל כשהוא מכווץ בכל פעם שה-pager מופעל, והרחבה שלו נשמרת עד ליציאה.

פתיחת שורה מציגה את שיחת הסוכן בתצוגת הפרטים (details view): כותרת עליונה (שם הסוכן, תגיות מעבר {i}/{n} וכפתור [Dashboard] מימין) מעל שיחה ברוחב מלא, ללא חלון מודאלי עם מסגרת, כך שהריווח תואם לתצוגת הרשימה. המקשים נשלחים לסוכן המחובר. Esc / Ctrl+\ (או [Dashboard]) מחזירים ללוח הבקרה. כפתורי [‹] / [›] מעבירים בין סוכנים. סרגל הקיצורים מציג Ctrl+\: back to dashboard. שימו לב: Esc רק מחזיר ללוח, בעוד ש-/exit בתוך הסוכן סוגר את ההפעלה (הודעת חיווי בלוח הבקרה: "Session closed").

Ctrl+X בתצוגת הפרטים תלוי במצב. בזמן שתור רץ, הוא מבטל את התור (בדומה ל-Ctrl+C, כולל הודעת השאלה לגבי השארת תת-סוכנים) ולעולם אינו סוגר את ההפעלה. במקרים אחרים, במצב idle, בפקודת לוכסן שנמצאת בתהליך, או כשביטול עדיין ממתין, Ctrl+X מכין אישור: לחצו שוב תוך 2 שניות כדי לסגור את ההפעלה ולחזור ללוח הבקרה. כל מקש אחר מבטל את האישור. תור שמתחיל בתוך חלון הזמן הזה הופך את הלחיצה המאושרת לביטול תור במקום סגירה. (אם Ctrl+X משמש גם כקיצור לדף העזר בטרמינל שלכם, השתמשו ב-Ctrl+. בתוך תצוגת הפרטים).

ראו Keyboard Shortcuts.


#סיום או סגירה של הפעלה

אין פקודת "סמן כהושלם" (mark completed). מצב השורה נגזר מהסוכן:

  • Completed / Failed כאשר העבודה מסתיימת מעצמה (התור הסתיים ואין משימת רקע / monitor / /loop שעדיין רצים).
  • Ctrl+X פעם אחת בזמן שתור רץ מבטל את התור.
  • Ctrl+X פעמיים (תוך 2 שניות) מוחק לצמיתות את ההפעלה (בדומה ל-/delete). ריחוף מעל שורה במצב idle/done מחליף את זמן הפעילות ב-[✗], ולחיצה כפולה מאשרת את המחיקה.
  • בתצוגת הפרטים, /exit סוגר גם כן את ההפעלה (Esc רק מחזיר). ביצוע /delete בתוך סוכן מחובר מוחק את אותה הפעלה ומחזיר ללוח הבקרה.

אין דגל סיום ידני. השתמשו ב-/exit כדי לעזוב הפעלה מבלי למחוק את ההיסטוריה.


#קלט השיגור (Dispatch input)

תיבת הטקסט התחתונה יוצרת תמיד הפעלה חדשה. שורה שנבחרה היא סמן הניווט, ולא יעד לתשובה: פתחו סוכן כדי לשוחח איתו.

  • טקסט חופשי: הפעלה חדשה ברמה עליונה שמתחילה עם ההנחיה שהוזנה. הטקסט לעולם אינו נחשב כמסנן (גם אם הוא מתחיל ב-/, s:, a:, או #). סינון מתבצע במצב חיפוש באמצעות Ctrl+/. תו / מוביל מריץ פקודת לוכסן גלובלית של ה-pager.
  • קלט ריק: פתיחת השורה שנבחרה, או יצירת סוכן חדש כאשר הפוקוס נמצא על [+ New Agent].

לחיצה על Ctrl+S לאחר הקלדה משגרת וגם מחברת להפעלה. מקש Enter רגיל משאיר אתכם בלוח הבקרה כדי שתוכלו לשגר מספר הפעלות. Shift+Enter / Alt+Enter מכניסים שורה חדשה. התיבה גדלה יחד עם הטיוטה (עד לתקרה מסוימת, ולאחר מכן נגללת).

הנחיות ריקות או כאלה שמכילות רווחים בלבד אינן מבוצעות. הנחיות מעל 64 KiB נדחות עם הודעת חיווי (toast).

#פוקוס: סרגל הקלט ↔ רשימת הסקירה (Tab)

ישנם שני אזורי פוקוס: קלט השיגור ורשימת הסקירה. מקש Tab מחליף ביניהם. כאשר הקלט אינו פעיל, המסגרת שלו מעומעמת וסמן הטקסט שלו מוסתר.

בעת הפתיחה, הפוקוס מוגדר כברירת מחדל לרשימת הסקירה אם קיים לפחות סוכן אחד (כך ש-/ או j/k ב-vim מאפשרים ניווט מיידי). כאשר אין סוכנים, הפוקוס נשאר על קלט השיגור. בשני המקרים, הסמן מתחיל על [+ New Agent] (אף שורת סוכן אינה נבחרת מראש).

  • כאשר הפוקוס בקלט: הקלידו הנחיה להפעלה חדשה. בהנחיה ריקה: / מנווטים בין שורות. בהנחיה שאינה ריקה: המקשים מזיזים את סמן הטקסט. מקש Esc מעביר את הפוקוס לרשימה (הטיוטה נשמרת).
  • כאשר הפוקוס בסקירה: / (וכן j/k ב-vim) נעים בין שורות. מקש Enter פותח את הסוכן המודגש (כאשר עומדים על [+ New Agent], נשלחת טיוטה שהוקלדה או שנוצרת הפעלה חדשה). מקש Esc נשאר ברשימה וחוזר צעד לאחור: ניקוי מסנן, לאחר מכן ביטול בחירה (מעבר אל [+ New Agent]), ולאחר מכן יציאה. מקש Tab, מקש i (ב-vim), או כל מקש שניתן להדפסה מחזירים לקלט.

#חלונית הצצה (Peek panel)

בחירת שורת סוכן מציגה את חלונית ההצצה במקום תיבת השיגור. כאשר אין שורה שנבחרה ([+ New Agent], או לאחר Esc), תיבת השיגור חוזרת. בחרו שורה כדי לדבר עם סוכן קיים, בטלו בחירה כדי להתחיל סוכן חדש.

מלמעלה למטה: כותרת (סוג התגובה האחרונה: Thinking / Thought / Response / Edit / Read / Bash / ... וזמן), התגובה העדכנית ביותר (שבירת שורות לפי מילים, עד כ-3 שורות, כאשר הטקסט קטוע), וקלט פעיל של ❯ reply.

המודל של הסוכן שנבחר, ובמצב אישור תמידי (always-approve / yolo) גם דגל always-approve, מופיעים במסגרת התחתונה של החלונית (באותו מיקום תגית כמו בתיבת השיגור), כולל בזמן מענה על שאלות. שורות הרשימה אינן חוזרות יותר על תגיות מודל או אישור תמידי.

Shift+Tab מעביר בין מצבי הסוכן המוצג בהצצה (Normal → Plan → Auto (כאשר מופעל) → Always-approve → Normal) על גבי הסוכן החי. בתיבת השיגור, Shift+Tab רק מכין את המצב מראש עבור הסוכן הבא.

בשונה משיגור (הפעלות חדשות בלבד), מענה בהצצה מדבר עם הסוכן שנבחר:

  • הקלידו לתוך ❯ reply, ולאחר מכן לחצו על Enter כדי לשלוח. סוכנים בלתי פעילים (idle) מתחילים לפעול מיד, סוכנים עסוקים מוסיפים את ההודעה לתור (בדומה להנחיה בתצוגת הסוכן). Ctrl+S משיב ופותח את תצוגת הפרטים. Shift+Enter / Alt+Enter מכניסים שורה חדשה (התשובה גדלה עם הטיוטה).
  • תשובה ריקה + Enter פותחים את הסוכן.
  • / מזיזים את סמן הטקסט ברגע שיש תוכן בתשובה. כאשר התשובה ריקה (או כשאינה בפוקוס דרך Tab), מקשי / מחליפים את הסוכן שנבחר: החלונית מתעדכנת בהתאם, וטיוטה שהוקלדה בחלקה נמחקת כדי שלא תגיע לסוכן הלא נכון. (השתמשו ב-Tab כדי לעבור לרשימה ולנווט בה כשיש טיוטה בתשובה).
  • Esc מבטל בחירה: תחילה מנקה תשובה מוקלדת, לאחר מכן מבטל בחירה ומעביר פוקוס אל [+ New Agent].
  • מקש Tab מחליף פוקוס בין התשובה לרשימת השורות. מקש שניתן להדפסה מחזיר את הפוקוס לתשובה.
  • עורך הנחיות מלא (זהה לשיגור / הנחיית סוכן): תגיות הדבקה מרובת שורות, בחירה בעכבר, ניווט בין מילים, Ctrl+A/Ctrl+E, Alt+Backspace, Ctrl+W/Ctrl+U/Ctrl+K, ביטול פעולה (undo), בחירה באמצעות Shift+חצים, הדבקה בתוך השורה באמצעות Ctrl+Shift+V. המקש @ פותח את בורר הקבצים שמוגדר לפי ספריית העבודה של הסוכן המוצג בהצצה, והתפריט הנפתח צף מעל החלונית. קיצורי לוח הבקרה (Ctrl+X לעצירה, Ctrl+T לנעיצה, Shift+↑/↓ לשינוי סדר, ...) עדיין קודמים בזמן שהחלונית פתוחה.
  • שאלת הרשאה / כלי שאלות (ask-tool) ממתינה: שורת ❯ reply מוסתרת, ובמקומה מוצגת רשימת אפשרויות. / מדגישים, Enter עונה, 1 עד 9 עונים ישירות. תשובת טקסט חופשי של No / reject ותשובת Other בכלי שאלות מקבלות תשובה מוקלדת בשורת הטקסט החופשי. טופסי Ask מרובי שאלות עוברים שאלה אחר שאלה ((i/N)). טפסים לבחירה מרובה דורשים את התצוגה של הסוכן עצמו.

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


#חיפוש / סינון (Ctrl+/)

Ctrl+/ מחליף למצב חיפוש כך שהקלדה רגילה משגרת תמיד. הקידומת משתנה מ- ל-Search: צהוב, וכל הקשת מקש מסננת את הרשימה בזמן אמת.

  • Enter: אישור: שמירת המסנן וחזרה לשורת הנחיית השיגור.
  • Esc או Ctrl+/: ביטול: ניקוי המסנן ויציאה מהחיפוש.
  • / : ניווט בין השורות המסוננות.

קידומות (רק בתוך מצב חיפוש):

  • a:<name>: תווית הסוכן (תת-מחרוזת ללא תלות באותיות גדולות או קטנות, דמות / תפקיד).
  • s:<state>: מצב השורה: working, idle, completed, failed, needs-input, blocked ומילים נרדפות (busy/running/done וכו').
  • #<text>: התאמת תת-מחרוזת עבור #<text> (תו # מילולי בתוויות).
  • כל דבר אחר: תת-מחרוזת על גבי התווית + ספריית העבודה.

#שמירת הגדרות (Persistence)

העדפות לכל משתמש תחת [dashboard] בקובץ ~/.grok/config.toml:

[dashboard]
enabled = true
grouping = "state"   
# or "directory"
pinned   = ["top:<session_id>", "sub:<parent_session_id>:<child_session_id>"]
reorder  = ["top:<session_id>"]

ערכי נעוצים/שינוי סדר משתמשים ב-מזהה הפעלה (session id, ולא במיקום סוכן לכל תהליך), ולכן הם נשמרים גם לאחר הפעלה מחדש.