gws:從 README 拆解使用邊界與核對路徑
Google Workspace CLI,一款適用於雲端硬碟、Gmail、行事曆、表格、文件、聊天、管理等的命令列工具。從 Google Discovery Service 動態建置。包括人工智慧代理技能。
秒懂
- 它是什麼?
- gws 的核心能力、安裝入口、實際命令與限制,依倉庫 README 和專案資料整理。
- 適合誰用?
- 適合需要處理 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 所對應工作的讀者;不適合把 README 宣稱直接當成你的環境保證。先完成這個專案的具體核對:先執行 gws auth setup 與 gws auth login,再用 gws drive files list --params '{"pageSize":5}' 檢查結構化 JSON;測試模式帳戶應改用 -s drive,gmail,sheets。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 Rust(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
gws:專案邊界與核心元件
gws 是一個 Rust 命令列工具,透過單一介面提供 Google Workspace API。它不是發布一個靜態命令列表,而是在執行時期讀取 Google 的 Discovery Service,並根據服務文件建構命令樹。當 Google 新增方法時,gws 無需發布新版本即可自動取得。README 宣告每個回應都是結構化 JSON,該工具同時為互動式使用和 AI 代理設計。此倉庫不是 Google 官方支援的產品,且處於積極開發中,在 1.0 之前預期會有破壞性變更。
gws 第1節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:README 指定的安裝入口
建議的安裝方式是從 GitHub Releases 頁面下載預編譯二進位檔,放入 PATH。為方便起見,可以使用 npm 自動下載:npm install -g @googleworkspace/cli。原始碼建構使用 cargo install --git ... --locked。Nix flake 可用,位址為 github:googleworkspace/cli,macOS 和 Linux 使用者可透過 Homebrew 安裝。前提條件包括:若使用 npm 需要 Node.js 18+,一個用於 OAuth 憑證的 Google Cloud 專案,以及一個可存取 Workspace 的 Google 帳戶。README 未說明純二進位安裝路徑的最低版本要求。
gws 第2節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:主要命令與資料流
安裝後,執行 gws auth setup 完成專案設定,然後 gws auth login 進行 OAuth 登入。快速開始範例為 gws drive files list --params '{"pageSize": 5}'。其他範例包括:用 gws sheets spreadsheets create --json 建立試算表,用 --dry-run 傳送 Chat 訊息,用 gws schema drive.files.list 檢查結構,以及用 --page-all 串流分頁結果。所有範例對 JSON 參數使用單引號,因為 shell 跳脫問題,這對包含驚嘆號的 Sheets 範圍尤為重要。
gws 第3節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:設定、權限與環境差異
此 CLI 支援多種驗證方式。如果安裝了 gcloud,gws auth setup 可以建立專案、啟用 API 並登入。如果沒有 gcloud,README 提供了在 Cloud Console 中手動設定 OAuth 的步驟,包括將帳戶新增為測試使用者。對於無頭或 CI 環境,gws auth export --unmasked 產生憑證,可透過 GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE 環境變數載入。服務帳戶將同一變數指向金鑰檔案。預先取得的存取權杖可透過 GOOGLE_WORKSPACE_CLI_TOKEN 傳遞。優先順序為權杖、憑證檔案、加密的登入憑證、明文憑證。README 警告,未驗證的 OAuth 應用限制約為 25 個範圍,而建議預設包含 85+ 個。
gws 第4節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:從範例看可用範圍
倉庫包含 100+ 個 Agent 技能,每個都是 SKILL.md 檔案,涵蓋所有支援的 API,外加更高層次的工作流程輔助和 50 個針對 Gmail、Drive、Docs、Calendar 和 Sheets 的精選配方。技能可透過 npx skills add 安裝整個倉庫或單一服務目錄。README 描述了 OpenClaw 設定,使用符號連結到 ~/.openclaw/skills/。Gemini CLI 擴充功能透過 gemini extensions install 提供,使用者只需驗證一次,擴充功能即可自動繼承憑證。README 未說明技能如何執行或需要什麼執行環境。
gws 第5節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:限制與維護訊號
除了 Discovery 產生的方法外,gws 還提供手工製作的輔助命令,前綴為 +,例如 gmail +send、calendar +agenda、drive +upload 和 workflow +standup-report。它們與自動產生的命令一起顯示在說明輸出中。分頁透過 --page-all(NDJSON 串流)、--page-limit 和 --page-delay 控制。multipart 上傳透過 drive files create 的 --upload 實現。對於 Google Sheets,範圍必須用單引號包裹以避免 shell 歷史擴展。Model Armor 整合透過 API 呼叫上的 --sanitize 實現,環境變數可設定預設範本和模式。
gws 第6節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
gws:採用前的專案化核對
gws 使用結構化退出碼:0 成功,1 API 錯誤,2 驗證錯誤,3 驗證錯誤,4 Discovery 錯誤,5 內部錯誤。架構為兩階段解析:首先從 argv 識別服務,取得 Discovery 文件(快取 24 小時),建構 clap 命令樹,重新解析參數,驗證,執行。所有輸出均為 JSON。故障排除部分涵蓋常見登入失敗:測試模式限制、範圍過多、缺少 gcloud、redirect_uri_mismatch 和 API 未啟用。開發使用 cargo build、clippy、test 和覆蓋率腳本。授權為 Apache-2.0;README 未提供超出此範圍的保固或支援條款。
gws 第7節的 README 記號是 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN。這些記號界定了本節能談的範圍;未被 README 說明的整合方式、效能數字或預設行為不在本文結論內。
先執行 gws auth setup 與 gws auth login,再用 gws drive files list --params '{"pageSize":5}' 檢查結構化 JSON;測試模式帳戶應改用 -s drive,gmail,sheets。 gws 的授權為 Apache-2.0;這只說明使用與再發布時要遵守授權條件,不代表專案已替你的部署完成安全、相容性或效能審查。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第1項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第2項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第3項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第4項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第5項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第6項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第7項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第8項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第9項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第10項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第11項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第12項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第13項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第14項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第15項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第16項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第17項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第18項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第19項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
在 gws 的脈絡中,gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 不是裝飾文字,而是能回到來源核對的具體入口。測試時保留命令、版本、輸入與輸出,並把失敗位置對應到 README 的章節或倉庫檔案。 第20項核對應鎖定 gws 的 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN,不要用其他專案的命令替代。
編輯結論
適合需要處理 gws auth setup、gws auth login、gws drive files list、gws schema drive.files.list、GOOGLE_WORKSPACE_CLI_TOKEN 所對應工作的讀者;不適合把 README 宣稱直接當成你的環境保證。先完成這個專案的具體核對:先執行 gws auth setup 與 gws auth login,再用 gws drive files list --params '{"pageSize":5}' 檢查結構化 JSON;測試模式帳戶應改用 -s drive,gmail,sheets。
社群筆記