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

תיעוד 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, משתני סביבה