תיעוד 25
תחילת העבודה
Grok Build הוא עוזר קידוד מבוסס בינה מלאכותית שרץ בטרמינל, מבית SpaceXAI. הוא רץ כ-TUI (Terminal User Interface) שמבין את בסיס הקוד שלכם, מריץ פקודות מעטפת, עורך קבצים, מחפש באינטרנט ומנהל משימות.
אפשר להשתמש בו באופן אינטראקטיבי כ-TUI במסך מלא, להריץ אותו בלי ממשק (headless) לסקריפטים ול-CI/CD, או לשלב אותו בעורכים דרך Agent Client Protocol (ACP).
#התקנה
התקינו את המהדורה היציבה האחרונה (macOS, Linux, או Windows דרך Git Bash):
curl -fsSL https://x.ai/cli/install.sh | bashהתקנת גרסה מסוימת:
curl -fsSL https://x.ai/cli/install.sh | bash -s 0.1.42ב-Windows (PowerShell), השתמשו במתקין PowerShell המקורי:
irm https://x.ai/cli/install.ps1 | iexהתקנת גרסה מסוימת:
$env:GROK_VERSION="0.1.42"; irm https://x.ai/cli/install.ps1 | iexמתקין PowerShell מוסיף אוטומטית את %USERPROFILE%\.grok\bin ל-User PATH. לחלופין, התקינו דרך Git for Windows (Git Bash) או MSYS2 באמצעות סקריפט ה-bash שלמעלה. משתמשי WSL מקבלים את הבינארי של Linux אוטומטית.
אימות ההתקנה:
grok --versionעדכון לגרסה האחרונה בכל עת:
grok updateאם התקנתם את Grok Build עם WinGet, עדכנו אותו עם WinGet. צאו מ-Grok קודם, ואז הריצו:
winget upgrade --id xAI.GrokBuild -eבהתקנת WinGet, grok update מדפיס את הפקודה הזו ולא משנה דבר.
חבילת WinGet עוקבת אחרי הערוץ היציב, ומהדורות חדשות יכולות לקחת כמה ימים עד שהן מגיעות אליו.
כדי למשוך מאגר דרך Grove (NFS ב-macOS, FUSE ב-Linux), הפעילו את grok clone עם [clone] enabled = true בהגדרות Grove, GROK_CLONE=1, או קיצור הנוחות שמפעיל את שניהם GROK_GROVE=1 / [cli] grove = true בקובץ ~/.grok/config.toml:
grok clone <url> [dir]ברירת המחדל היא checkout בעומק 1 של הענף שנבחר. העבירו --full-history לשכפול מלא. הפעלת השכפול עצמאית מ-worktrees של Grove בסשן / -w (קיצור הנוחות שלמעלה מפעיל את שניהם, והמתגים הספציפיים עדיין גוברים). worktree שנוצר מתוך שכפול Grove משתמש ב-Grove אוטומטית. אישורי Git ל-remote מגיעים מדמון Grove, לא מההתחברות ל-grok.com שלמטה. ראו grok clone ו-הפניה להגדרות.
#הפעלה ראשונה
הפעילו את Grok באמצעות:
grokבהפעלה הראשונה, Grok פותח את הדפדפן לאימות מול grok.com. אחרי ההתחברות, Grok שומר את האישורים ב-~/.grok/auth.json, והם נשמרים בין סשנים. Grok מרענן את האישורים אוטומטית ומבקש להתחבר שוב כשאי אפשר לחדש אותם יותר.
אם אתם מעדיפים אימות במפתח API (למשל ל-CI/CD או לסביבות בלי דפדפן), הגדירו את משתנה הסביבה XAI_API_KEY:
export XAI_API_KEY="xai-..."
grokראו אימות למכלול אפשרויות האימות, כולל OIDC, ספקי אימות חיצוניים וזרימת device code.
#אינטראקציה בסיסית
אחרי האימות, Grok מציג TUI במסך מלא עם שני אזורים עיקריים:
- Scrollback: היסטוריית השיחה שמציגה את ההנחיות שלכם, תשובות Grok, קריאות לכלים, עריכות קבצים ועוד.
- Prompt: אזור הקלט בתחתית, שבו מקלידים הודעות.
הקלידו הודעה ולחצו Enter כדי לשלוח אותה. Grok קורא קבצים, מריץ פקודות ועורך קוד לפי הצורך. כל הרצת כלי זורמת ל-scrollback בזמן אמת.
לחצו Tab כדי להעביר את המיקוד בין ה-prompt ל-scrollback. בזמן שתור רץ, Ctrl+C מבטל אותו ברגע שה-composer ריק. כשיש טיוטה, הלחיצה הראשונה רק מנקה אותה. Esc אף פעם לא מבטל תור. באמצע תור הוא מציג תזכורת להשתמש ב-Ctrl+C. במצב המתנה, לחצו Esc פעמיים בתוך 800ms כדי לנקות prompt לא ריק, או (עם prompt ריק והודעות בשיחה) כדי לפתוח rewind. ראו קיצורי מקלדת. כשה-scrollback בפוקוס, השתמשו במקשי החצים כדי לבחור רשומות ולקפל או להרחיב אותן. כדי לנווט עם j/k ולקפל עם h/l במקום, הפעילו מצב Vim.
#הפניות לקבצים
השתמשו ב-@ בהנחיה כדי לצרף קבצים:
@src/main.rs # Attach a file
@src/main.rs:10-50 # Attach lines 10-50
@src/ # Browse a directoryהאופרטור @ פותח בוחר קבצים מעורפל (fuzzy file picker). כברירת מחדל הוא מכבד את .gitignore ומסתיר קבצי נקודה (dotfiles). הוסיפו קידומת ! כדי לחפש קבצים מוסתרים:
@!.github # Search hidden files
@!.env # Attach a .env fileנתיב שמתחיל ב-/, ~/ או ../ מחפש בתיקייה הזו במקום בתיקיית העבודה. הוא מציג עד ארבע רמות עומק (למשל a/b/c/file.md), אבל רק רמה אחת ב-/, בתיקיות מערכת כמו /Volumes ו-/mnt, ובתיקיית הבית, ההורים שלה, ובכל מקום ב-~/Library. /proc, /sys ו-/dev לא מציגים כלום. תיקייה מציגה לכל היותר 20,000 רשומות (אחרי שמקלידים חלק משם, הספירה בבוחר מסתיימת ב-20000+).
מתחת לתיקייה שהקלדתם, הבוחר מדלג על מה ש-.gitignore בשורש מאגר ה-git או ה-jj של התיקייה מתעלם ממנו. הרשומות של התיקייה עצמה מוצגות בלי הכללים האלה, וקבצי .gitignore בתת-תיקיות לא נקראים. תיקיות של בקרת גרסאות כמו .git, וגם node_modules, אף פעם לא מוצגות, גם עם !. נתיבים עם רווח לא מוצעים: תיקייה שהנתיב שלה מכיל רווח מחפשים בתיקיית העבודה במקום, וכך גם ~/ כשלנתיב תיקיית הבית יש רווח, ורשומות שהשם שלהן מכיל רווח מושמטות. אם תיקייה לא ענתה בתוך 3 שניות, Tab ו-Enter פועלים כאילו הבוחר סגור, והרשומות שלה עדיין מופיעות כשהן מגיעות.
@~/notes.md # A file in your home folder
@../other-repo/README.md # A file next to the working directory
@/etc/hosts # An absolute pathבחרו את הקובץ מהרשימה כדי לצרף אותו. Grok שולח את הנתיב המוחלט שלו. נתיב ~/ שהוקלד ידנית לא מורחב, אבל נתיבי / ו-../ שהוקלדו ידנית עדיין נפתרים. ! עובד גם כאן. כדי לכבות את זה, הגדירו זאת בטבלת [ui] בקובץ config.toml והפעילו מחדש את Grok:
[ui]
at_picker_outside_workspace = falseקובץ שנבחר מוצג כיחידה אחת. לחצו Backspace בסופו כדי להחזיר אותו לנתיב שאתם רואים, קצר בתו אחד, עם הבוחר פתוח עליו. Left בסופו או Right בתחילתו שמים את הסמן בתוכו, שם הקלדה, מחיקה או הדבקה משנים את הנתיב במקום. בזמן העריכה, נתיב שנקרא בדיוק כמו שהיה הוא שוב הקובץ שנבחר ועדיין שולח את הנתיב המוחלט שלו. בטווח שורות כמו @file.rs:10-20, Backspace מסיר קודם את הטווח.
#הרשאות
כברירת מחדל, Grok מבקש הרשאה לפני הרצת פקודות מעטפת או עריכת קבצים. אפשר לאשר בנפרד או להפעיל מצב always-approve:
- לחצו
Ctrl+Oכדי להחליף מצב always-approve - השתמשו בדגל
--yoloבהפעלה:grok --yolo - הקלידו
/always-approveב-prompt כדי להחליף את המצב
#מושגי מפתח
#סשנים
כל שיחה היא סשן. סשנים נשמרים אוטומטית ב-~/.grok/sessions/ ואפשר לחדש אותם אחר כך. כל סשן עוקב אחרי היסטוריית השיחה המלאה, קריאות לכלים, עריכות קבצים ומצב המשימות.
- התחלת סשן חדש:
Ctrl+Nאו/new - חידוש סשן קודם:
/resumeב-TUI, או--resume <ID>מה-CLI - המשך הסשן האחרון:
grok -c
#Scrollback
ה-scrollback הוא אזור התצוגה הראשי. הוא מציג:
- הנחיות משתמש: ההודעות שלכם, מוצגות ככותרות דביקות
- הודעות הסוכן: תשובות Grok עם רינדור markdown מלא והדגשת תחביר
- בלוקי חשיבה: תהליך החשיבה של Grok (ניתן לקיפול)
- קריאות לכלים: עריכות קבצים (עם diffs בתוך השורה), הרצת פקודות, תוצאות חיפוש ועוד
- רשימות משימות: פריטי TODO שעוקבים אחרי ההתקדמות
קפלו או הרחיבו את הרשומה שנבחרה עם מקשי החצים Left/Right (או h/l ו-e במצב Vim). במצב Vim, לחצו y כדי להעתיק את התוכן שלה ו-Y כדי להעתיק את המטא-דאטה שלה (למשל, הפקודה שרצה). לחצו Enter כדי לפתוח אותה בצופה במסך מלא (בכל מצב). במצב מסך מלא, תשובה שהסתיימה מציגה שורת כפתורים מתחת לכל בלוק קוד מגודר, טבלה, דיאגרמת Mermaid וציטוט. [Copy] של בלוק קוד מעתיק את הקוד שלו. [Copy] של ציטוט מעתיק את ה-markdown שלו בלי סמני > שלו, כך שקישורים, עיצוב וציטוטים מקוננים בתוכו שורדים הדבקה. בלוקי קוד מוזחים, גדרות ריקות, ציטוטים ריקים או מקוננים, וגדרות Mermaid כש-ui.render_mermaid כבוי לא מקבלים שורה. בצופה המסך המלא של תשובה שהסתיימה, ⇧Y מעתיק את בלוק הקוד שמתחת לסמן אם יש לו שורת [Copy], גם במצב raw, שמסתיר את השורות.
#כלים
ל-Grok יש כלים מובנים עבור:
| כלי | תיאור |
|---|---|
read_file / search_replace | קריאה ועריכה של קבצים עם שינויים מדויקים לפי שורה |
grep | חיפוש ביטוי רגולרי בכל בסיס הקוד (מופעל על ידי ripgrep) |
list_dir | הצגת תוכן תיקייה |
run_terminal_command | הרצת פקודות מעטפת |
web_search / web_fetch | חיפוש באינטרנט ושליפת כתובות URL |
todo_write | יצירה וניהול של רשימות משימות |
spawn_subagent | הפעלת סשנים מקבילים של תת-סוכן |
אפשר להרחיב כלים עם שרתי MCP לאינטגרציות כמו GitHub, מסדי נתונים ועוד.
#פקודות לוכסן
הקלידו / ב-prompt כדי לגשת לפקודות. אלה מספקות פעולות מהירות בלי לכתוב הנחיה מלאה:
/model grok-4.6 # Switch model
/compact # Compress conversation history
/always-approve # Toggle always-approve mode
/new # Start a new sessionראו פקודות לוכסן להפניה המלאה.
#אפשרויות הפעלה נפוצות
# Launch the interactive TUI and submit an initial prompt as the first turn
grok "fix the failing auth test and run it"
# Initial prompt in a new git worktree. Use --worktree=<name> (with `=`) so the
# prompt isn't swallowed as the worktree name , `grok -w "refactor module X"`
# would treat "refactor module X" as the worktree label, not the prompt.
grok --worktree=feat "refactor module X"
# Base the worktree on a specific branch (e.g. main) instead of the current HEAD:
grok -w --ref main "implement feature from main"
# Start in a specific project directory
grok --cwd ~/projects/my-app
# Also work in other folders (repeatable); resuming the session keeps them
grok --cwd ~/projects/my-app --add-dir ~/projects/shared-lib
# Add project-specific rules
grok --rules "Always use TypeScript. Prefer functional components."
# Auto-approve all tool executions
grok --yolo
# Use a specific model
grok -m grok-4.6
# Resume a previous session
grok --resume <session-id>
# Continue the most recent session
grok -c
# Experimental scrollback-native render mode. Sticky: plain `grok` reopens in
# the mode last chosen via --minimal/--fullscreen (or /minimal//fullscreen).
grok --minimal
# Back to the standard fullscreen TUI (and make it sticky again)
grok --fullscreen
# Headless mode (for scripts)
grok -p "Explain this codebase"#מצב headless
הריצו את Grok באופן לא אינטראקטיבי לסקריפטים, CI/CD ואוטומציה:
grok -p "Your prompt here"פורמטי פלט:
| פורמט | דגל | תיאור |
|---|---|---|
plain | (ברירת מחדל) | טקסט קריא לאדם |
json | --output-format json | אובייקט JSON יחיד עם text, stopReason, sessionId ו-requestId |
streaming-json | --output-format streaming-json | זרם אירועי NDJSON לעיבוד בזמן אמת |
דוגמה לשימוש ב-CI/CD:
grok -p "Review changes for bugs" --output-format json --yolo | jq -r '.text'#כללי פרויקט (AGENTS.md)
הוסיפו הוראות לפי פרויקט על ידי יצירת קובץ AGENTS.md במאגר. Grok קורא את הקבצים האלה ומזריק את התוכן שלהם כהודעת הוראות פרויקט בתחילת השיחה:
~/.grok/AGENTS.md # Global rules (apply to all projects)
<repo-root>/AGENTS.md # Repository-level rules
<cwd>/AGENTS.md # Directory-level rules (highest priority)קבצים עמוקים יותר גוברים. Grok גם קורא קבצי CLAUDE.md לתאימות.
#לאן להמשיך
| מסמך | מה תלמדו |
|---|---|
| אימות | התחברות בדפדפן, מפתחות API, OIDC, אימות חיצוני, זרימת device code |
| קיצורי מקלדת | הפניה מלאה לכל קיצורי המקשים |
| פקודות לוכסן | כל פקודות / הזמינות |
| הגדרות | config.toml, pager.toml, משתני סביבה |