חזרה לבלוג

Google שיחררה CLI שעוטף כל Workspace API

·5 דקות קריאה

מה gws בעצם זה

Google שיחררה בשקט CLI בשם gws שעוטף כל Workspace API. Gmail, Drive, Calendar, Sheets, Docs, Tasks. הכל. כלי שורת פקודה אחד.

אבל המהלך האמיתי הוא כישורי הסוכן. 89 כאלה. בנויים במיוחד ל-Claude Code. מתקינים אותם עם npx skills add ופתאום סוכן הקידוד שלכם יכול לקרוא את תיבת הדואר, לבדוק את היומן, להוסיף שורות לגיליונות, וליצור משימות. בלי הגדרת שרת MCP. בלי העתקת מפתח API. בלי middleware מותאם.

כבר חודשים שאני מחבר גישה ל-Google API. תהליכי OAuth, שרתי MCP, פירסור JSON, ניהול scopes. זה עובד, אבל זה שביר ומעצבן לתחזק. gws מחליף את כל זה עם CLI מאומת אחד שמדבר JSON באופן טבעי.

ההסתייגות: זה לא מוצר רשמי של Google. ה-README אומר את זה. אבל זה עובד, וזה בנוי על גבי Google Discovery Service הרשמי, אז משטח ה-API הוא אמיתי.

התקנה (הפקודות בפועל)

הנה הרצף המדויק שהרצתי. בלי תקצירים. אלה הפקודות האמיתיות.

שלב 1: הגדירו את פרויקט ה-GCP

gcloud config set project gen-lang-client-0948745603

תשתמשו בכל פרויקט שכבר יש לכם עם APIs מאופשרים. שלי הוא פרויקט ה-Gemini API כי כבר היה לו Gmail API מאופשר.

שלב 2: הפעילו את ה-APIs שאתם צריכים

gcloud services enable \
  drive.googleapis.com \
  sheets.googleapis.com \
  calendar-json.googleapis.com \
  docs.googleapis.com \
  tasks.googleapis.com

Gmail API כבר היה מאופשר. השאר לקח פקודה אחת.

שלב 3: צרו OAuth desktop client

זה הצעד האחד ש-gws auth setup לא יכול לבצע אוטומטית. צריך ללכת לקונסולת GCP ידנית:

  1. הגדירו את מסך הסכמת OAuth (External, המייל שלכם, שמרו דרך כל המסכים)
  2. צרו credentials, OAuth client ID, סוג Desktop app
  3. הורידו את קובץ ה-client_secret_*.json
  4. שימו אותו ב-~/.config/gws/client_secret.json

הפקודה gws auth setup מנסה לעשות את זה בשבילכם אבל נתקלת בשגיאת ולידציה. צריך לעשות את זה בקונסולה. לקח 3 דקות.

שלב 4: התאמתו עם שירותים מוגדרי-scope

gws auth login -s drive,gmail,calendar,sheets,tasks,docs

זה פותח דפדפן, נכנסים, מאשרים גישה ל-6 השירותים האלה. דגל ה--s חשוב. ל-Google יש מגבלה של 25 scopes לאפליקציות במצב בדיקה. על ידי הגדרת scope רק לשירותים שאתם משתמשים בהם, נשארים הרבה מתחת.

שלב 5: אמתו

gws auth status

אמור להראות שקיימים credentials ולפרט אילו שירותים מורשים.

אילו כישורים להתקין (ואיך לא להרוס את חלון ההקשר)

gws מגיע עם 89 כישורי סוכן. אל תתקינו את כולם. אפילו אל תתקינו 27 מהם לתוך תיקיית הכישורים הפעילים. למדתי את זה בדרך הקשה.

כל כישור ב-~/.claude/skills/ נטען לחלון ההקשר של הסוכן בכל סשן. 27 כישורים זה בערך 50KB של הוראות ש-Claude קורא לפני שאתם בכלל אומרים שלום. אם אתם עורכים קומפוננטת React או מדבגים פריסה, שום דבר מההקשר של Google Workspace לא רלוונטי. זה פשוט רעש שאוכל טוקנים.

המהלך: תתקינו כישור אחד להקשר פעיל. תחנו את השאר.

תתקינו את gws-shared לכישורים הפעילים. זו שכבת הבסיס. היא מלמדת את Claude איך להתאמת, להשתמש בדגלים גלובליים, ולפרמט פלט. בערך 2KB. זה כל מה שצריך טעון כברירת מחדל.

npx skills add googleworkspace/cli --skill gws-shared --agent claude-code -y -g

אחר כך תתקינו מה שצריך לתיקיית חנייה:

# התקנה לריפו כישורים גלובלי (לא נטען אוטומטית)
npx skills add googleworkspace/cli --skill gws-gmail gws-calendar gws-sheets gws-drive gws-tasks gws-docs --agent claude-code -y -g

# העברה מחוץ לטעינה אוטומטית
mkdir -p ~/.claude/skills-available
mv ~/.claude/skills/gws-gmail ~/.claude/skills-available/
mv ~/.claude/skills/gws-calendar ~/.claude/skills-available/
# ... וכן הלאה לכל כישור

כשרוצים סשן עתיר GWS (מיון תיבת דואר, סקירת יומן, עבודת גיליונות), עשו symlink לאלה שצריכים חזרה:

ln -s ~/.claude/skills-available/gws-gmail ~/.claude/skills/gws-gmail
ln -s ~/.claude/skills-available/gws-gmail-triage ~/.claude/skills/gws-gmail-triage

תסירו אותם כשסיימתם. חלון ההקשר שלכם סופי. תתייחסו אליו כמו לזיכרון, לא כמו למגירת זבל.

27 הכישורים ששווה שיהיו זמינים

הנה מה שהתקנתי וחניתי. מקובצים לפי מה שהם עושים.

בסיס (תמיד טעון)

gws-shared - אימות, דגלים גלובליים, פרמוט פלט. היחיד שנשאר ב-~/.claude/skills/.

שירותי ליבה (6 כישורים)

כישור אחד לכל Workspace API: gmail, calendar, sheets, drive, tasks, docs. אלה נותנים ל-Claude Code את היכולת לקרוא לכל endpoint בכל שירות. גנריים אבל שלמים.

עוזרים (9 כישורים)

פעולות ייעודיות שחוסכות ממכם לבנות קריאות API גולמיות:

  • gmail-send, gmail-triage, gmail-watch - שליחת מיילים, מיון תיבת דואר, מעקב אחרי הודעות חדשות
  • calendar-agenda, calendar-insert - בדיקת לו"ז, יצירת אירועים
  • sheets-read, sheets-append - קריאת טווחים, הוספת שורות
  • drive-upload - העלאת קבצים
  • docs-write - יצירה ועריכת מסמכים

אלה הכישורים שתגיעו אליהם בפועל. כישורי שירותי הליבה הם הגיבוי לכל מה שהעוזרים לא מכסים.

תהליכי עבודה (5 כישורים)

פעולות מורכבות ששורשרות מספר שירותים:

  • workflow - אורקסטרציה רב-שלבית כללית
  • standup-report - משיכת יומן + משימות + gmail לתדרוך בוקר
  • meeting-prep - איסוף הקשר לפגישות קרובות
  • email-to-task - המרת מיילים ל-Google Tasks
  • weekly-digest - סיכום השבוע על פני כל השירותים

מתכונים (6 כישורים)

אוטומציות ספציפיות רלוונטיות ל-GTM:

  • draft-email-from-doc - הפיכת Google Doc לטיוטת מייל
  • email-drive-link - שיתוף קובץ Drive במייל
  • find-free-time - בדיקת זמינות ביומן
  • create-task-list - הקמת רשימת משימות חדשה
  • review-overdue-tasks - חשיפת מה שמחליק
  • log-deal-update - הוספת הערות עסקה לגיליון מעקב

מה דילגתי עליו (62 כישורים)

Chat, Classroom, Keep, Meet, Admin Reports, Model Armor, Slides, Forms, People, Events. והעוזרים/מתכונים המשויכים לכל אלה.

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

פקודות אמיתיות

הנה איך זה נראה בפועל.

בדיקת המייל האחרון:

gws gmail users messages list --params '{"userId":"me","maxResults":1}'

רשימת קבצי Drive:

gws drive files list --params '{"pageSize":5}'

בדיקת היומן של היום:

gws calendar calendarList list

רשימת רשימות המשימות:

gws tasks tasklists list

כל פקודה מחזירה JSON נקי. זו הנקודה. Claude Code יכול לפרסר את זה, לחשוב על זה, ולשרשר את זה לתהליכי עבודה רב-שלביים בלי שום קוד מתאם.

מלכודות

מגבלת OAuth scope. אפליקציות במצב בדיקה מוגבלות ל-25 scopes. 6 שירותים שומרים אתכם הרבה מתחת, אבל אם תנסו להפעיל הכל בבת אחת תפגעו בקיר.

בריחת shell. טווחים של Sheets משתמשים ב-! (כמו Sheet1!A1:B10). ב-bash, ! מפעיל history expansion. עטפו את הפרמטרים בגרשיים בודדים.

לא נתמך רשמית. ה-README של הריפו אומר את זה ברור. זה לא מוצר של Google. זה כלי שבנוי על גבי Google APIs. זה עובד היום. אם זה יעבוד בעוד 6 חודשים תלוי אם Google תמשיך לתחזק את זה.

אל תטענו 27 כישורים להקשר פעיל. עשיתי את זה ומיד הבנתי את הבעיה. 50KB של הוראות Workspace נטענות בכל סשן בין אם צריכים ובין אם לא. תשאירו את gws-shared פעיל, תחנו את השאר בתיקיית skills-available, ותעשו symlink למה שצריכים לפי סשן.

npx skills add משכפל את הריפו. כל התקנת כישור מושכת את הריפו המלא. זה איטי בפעם הראשונה. תקבלו את זה.

פרמטרי JSON בכל מקום. כל דגל --params לוקח מחרוזת JSON. תתרגלו ל-JSON בגרשיים בודדים בשורת הפקודה, או תעבירו מקבצים.

ההערכה הכנה

gws פותר בעיה אמיתית. חיבור Google Workspace APIs לשימוש סוכנים היה אחד החלקים המעצבנים ביותר בבניית תשתית GTM. תהליכי OAuth, הגדרות שרת MCP, ניהול scopes, רענון טוקנים. כל זה חיכוך שלא מוסיף ערך.

הכלי הזה מסיר את רוב החיכוך. CLI אחד. תהליך אימות אחד. JSON נכנס, JSON יוצא. 89 כישורים שמתחברים ישירות ל-Claude Code.

האיכות של הכישורים משתנה. העטיפות לשירותי הליבה מוצקות. חלק מכישורי תהליך העבודה מרגישים מוקדמים. אבל הבסיס נכון, והעובדה שזה בנוי על Google Discovery Service הרשמי אומרת שכיסוי ה-API שלם, לא מיוצר ידנית.

לאופרטור GTM סולו שמריץ Claude Code כסוכן הראשי, זה המסלול הנקי ביותר לאינטגרציית Google Workspace שמצאתי. תתקינו את הכישורים שמתאימים לעבודה שלכם, תחנו אותם מחוץ להקשר פעיל, ותמשכו אותם פנימה כשבאמת צריכים. חלון ההקשר שלכם הוא המשאב היקר ביותר בסטאק. אל תמלאו אותו בהוראות לשירותים שאתם לא משתמשים בהם באותו סשן.

זה מה שעשיתי. ואז מיד ביטלתי את החלק שבו טענתי את כל 27 בבת אחת.

shawn ⚡

ShawnOS.ai|theGTMOS.ai|theContentOS.ai
built with Next.js · Tailwind · Claude · Remotion