22 คะแนน โดย GN⁺ 2026-03-05 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เป็นเครื่องมือที่สามารถ ควบคุม Google Workspace API ทั้งหมดผ่าน CLI เดียว ได้ โดยรองรับ Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin และอื่น ๆ
  • สร้างโครงคำสั่งแบบไดนามิกขณะรันไทม์โดยอิงจาก Google Discovery Service ทำให้เมื่อมี API ใหม่เพิ่มเข้ามาจะถูกสะท้อนโดยอัตโนมัติ
  • มี สกิลสำหรับ AI agent มากกว่า 100 รายการ และรองรับการผสานกับ LLM ผ่านเอาต์พุต JSON แบบมีโครงสร้าง
  • มีวิธีการยืนยันตัวตนหลายแบบ เช่น OAuth, Service Account และสภาพแวดล้อม CI พร้อมรองรับฟีเจอร์ความปลอดภัยของการตอบกลับผ่าน Model Armor
  • เป็น CLI ที่เน้นระบบอัตโนมัติสำหรับทั้งมนุษย์และ AI ช่วยเพิ่มประสิทธิภาพด้าน การจัดการแบบรวมศูนย์และการทำงานอัตโนมัติ ในระบบนิเวศ Google Workspace

ภาพรวม

  • gws คือ CLI แบบรวมศูนย์สำหรับ Google Workspace โดยเฉพาะ ทำให้สามารถเรียกใช้ API ทั้งหมดของ Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin และอื่น ๆ ได้จากบรรทัดคำสั่งเดียว
  • สร้างโครงคำสั่งอัตโนมัติผ่าน Google Discovery Service และเมื่อมี API endpoint ใหม่เพิ่มเข้ามาจะสะท้อนให้ใช้งานได้ทันที
  • เอาต์พุตทั้งหมดอยู่ในรูปแบบ JSON แบบมีโครงสร้าง จึงเชื่อมต่อกับ AI agent หรือสคริปต์อัตโนมัติได้สะดวก
  • โปรเจกต์นี้ยังอยู่ระหว่าง การพัฒนาอย่างต่อเนื่อง และก่อนถึง v1.0 อาจมีการเปลี่ยนแปลงสำคัญได้

ฟีเจอร์หลัก

  • มีความสามารถแบบ CLI ที่เป็นมิตรกับผู้ใช้ เช่น tab completion, --help, --dry-run, การแบ่งหน้าข้อมูลอัตโนมัติ
  • มีสกิลที่อิงจาก SKILL.md มากกว่า 100 รายการเพื่อ การผสานกับ AI agent
    • รวมสูตรขั้นสูงมากกว่า 50 รายการสำหรับบริการหลัก เช่น Gmail, Drive, Docs, Calendar และ Sheets
  • เมื่อติดตั้ง Gemini CLI extension แล้ว Gemini agent จะสามารถเรียกใช้คำสั่ง gws และสกิลได้โดยตรง
  • ผ่านโหมด MCP (Model Context Protocol) server สามารถเปิดเผย Workspace API เป็นเครื่องมือให้ใช้งานใน Claude Desktop, Gemini CLI, VS Code และอื่น ๆ ได้

วิธีการยืนยันตัวตน

  • การยืนยันตัวตนแบบโต้ตอบบนเครื่อง: เก็บข้อมูลรับรองที่เข้ารหัสด้วย AES-256-GCM ไว้ใน keyring ของระบบปฏิบัติการ
  • การตั้งค่า OAuth แบบแมนนวล: สามารถสร้าง client ได้โดยตรงจาก Google Cloud Console
  • การยืนยันตัวตนผ่านเบราว์เซอร์หรือ agent ช่วยเหลือ: อนุมัติ OAuth ได้ทั้งแบบแมนนวลและอัตโนมัติ
  • การยืนยันตัวตนสำหรับสภาพแวดล้อม CI/เซิร์ฟเวอร์: ส่งออกข้อมูลรับรองด้วย gws auth export และกำหนดผ่านตัวแปรสภาพแวดล้อม
  • รองรับ Service Account และโทเคนที่ออกไว้ล่วงหน้า โดยลำดับความสำคัญคือ โทเคน > ไฟล์ข้อมูลรับรอง > ค่าที่เก็บใน keyring

AI Agent Skills

  • สกิลมากกว่า 100 รายการ ที่รวมอยู่ในที่เก็บโค้ดช่วยทำงานอัตโนมัติให้แต่ละ API และเวิร์กโฟลว์ทั่วไป
  • สามารถติดตั้งสกิลทั้งหมดหรือบางรายการได้ด้วยคำสั่ง npx skills add
  • ในสภาพแวดล้อม OpenClaw สามารถซิงก์สกิลได้ด้วย symbolic link หรือการคัดลอก
  • สกิล gws-shared มีความสามารถติดตั้ง CLI ให้อัตโนมัติเมื่อยังไม่ได้ติดตั้ง

Gemini CLI extension

  • ติดตั้งได้ด้วยคำสั่ง gemini extensions install https://github.com/googleworkspace/cli
  • หลังติดตั้งแล้ว Gemini CLI agent จะเรียกใช้คำสั่ง gws และสกิลได้โดยตรง
  • สามารถสืบทอดข้อมูลการยืนยันตัวตนของ gws โดยอัตโนมัติ ทำให้ใช้งานได้โดยไม่ต้องล็อกอินแยก

ความสามารถของ MCP server

  • ใช้คำสั่ง gws mcp เพื่อรัน MCP server และเปิดเผย Workspace API ให้กับไคลเอนต์ที่รองรับ MCP
    • ตัวอย่าง: gws mcp -s drive,gmail,calendar
  • แต่ละบริการจะเพิ่มเครื่องมือ 10–80 รายการ และสามารถเลือกให้เหมาะกับข้อจำกัดจำนวนเครื่องมือของไคลเอนต์ (50–100 รายการ)
  • ใช้แฟล็ก --workflows, --helpers เพื่อเปิดเผยเครื่องมือเวิร์กโฟลว์และเครื่องมือช่วยเหลือได้

ฟีเจอร์ขั้นสูง

  • Multipart upload: อัปโหลดไฟล์และสร้างเมทาดาทาพร้อมกัน
  • การควบคุม pagination: มีตัวเลือก --page-all, --page-limit, --page-delay
  • การผสานกับ Model Armor: สแกนการตอบกลับจาก API เพื่อป้องกัน prompt injection
    • ควบคุมได้ผ่านตัวแปรสภาพแวดล้อม GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE, GOOGLE_WORKSPACE_CLI_SANITIZE_MODE

สถาปัตยกรรม

  • ทำงานด้วย โครงสร้างการแยกวิเคราะห์ 2 ขั้นตอน
    1. ระบุบริการจากอาร์กิวเมนต์ตัวแรก
    2. ดึงเอกสาร Discovery (แคช 24 ชั่วโมง)
    3. สร้าง tree ของ clap::Command
    4. แยกวิเคราะห์อาร์กิวเมนต์อีกครั้งและทำการยืนยันตัวตน
    5. ส่งคำขอ HTTP
  • ผลลัพธ์ทั้งหมด (ความสำเร็จ, ข้อผิดพลาด, เมทาดาทา) จะถูกส่งออกในรูปแบบ JSON แบบมีโครงสร้าง

การแก้ปัญหา

  • หาก API ยังไม่ถูกเปิดใช้งาน จะเกิดข้อผิดพลาด accessNotConfigured
    • คลิกลิงก์ในฟิลด์ enable_url เพื่อเปิดใช้งาน API แล้วลองใหม่อีกครั้ง
    • สามารถใช้คำสั่ง gws auth setup เพื่อเปิดใช้งาน API ที่จำเป็นโดยอัตโนมัติ

การพัฒนาและการเผยแพร่

  • ใบอนุญาต Apache-2.0 ใช้ Rust (99.5%)
  • ไม่ใช่ผลิตภัณฑ์ทางการของ Google และเป็น โปรเจกต์โอเพนซอร์สที่ไม่เป็นทางการ

2 ความคิดเห็น

 
xguru 2026-03-05

แนวทางที่แตกต่างจาก gog คือมันสร้างคำสั่งขึ้นมาแบบไดนามิกสำหรับทุก API ของ Google ซึ่งถือว่าเป็นวิธีที่น่าสนใจมาก

ผู้พัฒนาคือ Justin Poehnelt และเป็น DevRel ของ Google Workspace ด้วย เลยยิ่งทำให้น่าเชื่อถือครับ

 
GN⁺ 2026-03-05
ความคิดเห็นจาก Hacker News
  • ในโลกของ AI และ MCPs ดูเหมือนจู่ ๆ บริษัทต่าง ๆ ก็เริ่มขยับมาสร้าง เครื่องมือ API/CLI ที่ใช้งานได้จริงกันมากขึ้น

    • หนึ่งในความเปลี่ยนแปลงดี ๆ ไม่กี่อย่างที่เกิดจากการแข่งขันด้าน AI คือทุกคนเริ่มเปิดข้อมูลผ่าน API แบบสาธารณะ และเริ่มจัดเตรียมเครื่องมือในรูปแบบ CLI หรือ API ที่ขยายต่อได้
    • น่าแปลกใจที่ต้องใช้เวลานานขนาดนี้กว่าจะตระหนักได้ว่า MCP เป็นแค่ API ที่แย่กว่าเดิม
  • ดูเหมือนว่านี่จะเป็น เวอร์ชัน CLI ของ Workspace Studio
    น่ายินดีที่เห็น Google ขยับไปในทิศทางที่สอดคล้องกับวิธีที่นักพัฒนาต้องการใช้งานแอปจริง ๆ
    คิดว่าดีกว่า Google dashboard หรือไลบรารี third-party ที่ทำแบบลวก ๆ มาก
    แม้ Google จะบอกว่าไม่ใช่การสนับสนุนอย่างเป็นทางการ แต่ก็น่าจะได้รับการดูแลจากภายในดีกว่าของภายนอก

  • GCP Next มีกำหนดจัดในวันที่ 22–24 เมษายน
    หวังว่าโปรเจ็กต์นี้จะยังคงถูกดูแลต่อหลังจากนั้น

  • สงสัยว่าทำไมถึงใช้ npm เพื่อติดตั้งไบนารี rust

  • ช่วงนี้พวก agent skills ต้องการ CLI กันพอดี ก็หวังว่ากระแสแบบนี้จะกลายเป็นเทรนด์

  • นึกภาพออกเลยว่า CTO ทุกคนกำลังตื่นตัวจะเอาสิ่งนี้ไปเชื่อมกับ อินสแตนซ์ OpenClaw ของตัวเอง

    • สุดท้ายคงต้องเอาไปเทียบกับ gog
  • การที่คำสั่งที่ใช้งานได้เปลี่ยนแบบไดนามิกดูเป็น anti-pattern แต่ถ้าเป็น AI อาจจัดการเรื่องนั้นได้

  • อยากให้ Apple ใช้วิธีเดียวกันกับ iCloud บ้าง

    • มีคนตอบว่าอย่าคาดหวังเลย
    • บางคนก็ขำ ๆ กับเรื่องนี้
  • น่าสนใจแต่ก็น่ากลัวนิดหน่อย ถ้านี่ไม่ใช่ผลิตภัณฑ์ทางการของ Google ก็อาจเข้าข่าย ละเมิด TOS ได้

    • อันนี้ทำโดยทีม Google DevRel จึงไม่ถือว่าละเมิด TOS แต่ด้วยความเป็นโปรเจ็กต์ของ DevRel ก็มีความเสี่ยงที่จะ ถูกยุติ ได้ง่าย
    • ในทางปฏิบัติดูเหมือนว่า Google เป็นผู้เผยแพร่โดยตรง