Google Workspace CLI: управляй Gmail, Docs и Drive из терминала

Google выпустила CLI для всего Workspace — одна команда для Gmail, Drive, Calendar и 85+ API. Разбираю gws: установка, фичи, интеграция с AI-агентами и честный вердикт.

Google Workspace CLI: управляй Gmail, Docs и Drive из терминала
TL;DR: gws — open-source CLI на Rust для всего Google Workspace. Gmail, Drive, Calendar, Sheets, Docs, Chat через одну команду в терминале. Команды генерируются динамически из Google Discovery Service, а вывод всегда в JSON, что удобно и для скриптов, и для AI-агентов.

Если ты когда-нибудь автоматизировал что-то в Google Workspace, ты знаешь эту боль. Отдельный SDK для Drive, отдельный для Gmail, для Sheets свой клиент, и везде разная авторизация. Google, видимо, тоже устала от этого зоопарка и выкатила gws.

Что такое Google Workspace CLI?

gws (Google Workspace CLI) — command-line инструмент для всех API Google Workspace. Gmail, Drive, Calendar, Sheets, Docs, Chat, Admin SDK в одном месте.

gws не хардкодит список команд. Он читает Google Discovery Service при запуске и генерирует команды на лету. Добавили новый эндпоинт в API? gws подхватит его автоматически, обновлять ничего не нужно.

Написан на Rust, лежит на GitHub под Apache 2.0. За 10 дней набрал почти 20 000 звёзд. Формально это не официально поддерживаемый продукт Google, но репо живёт в организации googleworkspace и активно развивается.

По данным VentureBeat, gws делали сразу для двух аудиторий: разработчиков с их скриптами и AI-агентов, которым нужен машиночитаемый вывод.

Быстрый старт

Установка через npm (бинарники уже скомпилированы, Node.js нужен только для установки):

npm install -g @googleworkspace/cli

Или через Cargo, если ты в мире Rust:

cargo install --git https://github.com/googleworkspace/cli --locked

Первый запуск, настройка авторизации:

# Создаёт Google Cloud проект, включает API
gws auth setup

# Логинишься через OAuth
gws auth login

И всё, можно работать:

# Список файлов на Drive
gws drive files list --params '{"pageSize": 5}'

# Отправить письмо
gws gmail +send --to коллега@company.com --subject "Отчёт" --body "Готово"

# Посмотреть расписание
gws calendar +agenda

Весь вывод в JSON. Комбинируешь с jq и вытаскиваешь что угодно:

gws drive files list --params '{"pageSize": 100}' --page-all | jq -r '.files[].name'

Ключевые возможности

Динамическая генерация команд

Я уже писал про это выше, но стоит остановиться подробнее. gws при каждом запуске запрашивает Google Discovery Service и строит дерево команд на лету. Никакого захардкоженного списка. Когда Google добавит метод для Gemini или NotebookLM, gws увидит его сам.

Сейчас это покрывает 85+ скоупов. Можно заглянуть в схему любого метода:

gws schema drive.files.list

Хелпер-команды (+)

Для типовых операций есть команды с префиксом +. По сути это сокращения, чтобы не собирать длинные JSON-параметры руками:

Сервис Команды Что делают
Gmail +send, +reply, +forward, +triage Работа с почтой
Sheets +append, +read Чтение и запись данных
Calendar +agenda, +insert Расписание и события
Drive +upload Загрузка файлов
Chat +send Сообщения в чат

Ещё есть готовые сценарии для рутины: +standup-report, +meeting-prep, +weekly-digest. Не уверен, насколько они гибкие на практике, но идея хорошая.

Интеграция с AI-агентами

В комплекте 40+ скиллов для AI-агентов и 50+ рецептов. Подключаешь к Gemini CLI как расширение:

gws auth setup
gemini extensions install https://github.com/googleworkspace/cli

Или добавить скиллы в OpenClaw:

ln -s $(pwd)/skills/gws-* ~/.openclaw/skills/

Весь вывод в JSON, агент может парсить ответы без дополнительной обработки. Большинство CLI делают красивый человекочитаемый вывод, а тут сразу машиночитаемый.

Отдельная штука для параноиков (в хорошем смысле): Model Armor. Это фильтрация ответов от prompt injection через Google Cloud:

gws gmail users messages get --params '...' \
  --sanitize "projects/P/locations/L/templates/T"

Авторизация и dry-run

С авторизацией всё гибко: OAuth2, сервисные аккаунты, access-токены через env-переменные. Credentials на диске шифруются AES-256-GCM, что приятно. Можно экспортировать для переноса на другую машину:

gws auth export --unmasked > credentials.json

Мне понравился флаг --dry-run для любой команды. Показывает, какой запрос уйдёт в API, без отправки. Полезно, когда ковыряешься в незнакомом методе и не хочешь случайно удалить чужие файлы с Drive.

Тарифы

gws бесплатный и open-source (Apache 2.0). Нужен Google Cloud проект (бесплатного хватит) и аккаунт с доступом к Workspace.

Потестить можно с обычным Gmail. Для Admin API понадобится Workspace-аккаунт организации.

Вердикт

Думаю, gws закрывает реальную дыру. Если ты пишешь скрипты, которые дёргают Gmail, Drive и Sheets, раньше приходилось собирать Франкенштейна из трёх разных библиотек. Теперь это одна команда.

Для AI-агентов ситуация ещё лучше. JSON-вывод, готовые скиллы, подключение к Gemini CLI за одну команду. Если строишь агента, который должен разбирать почту или работать с таблицами, gws стоит посмотреть.

Но я бы не стал строить на нём что-то продакшн-критичное прямо сейчас. Проекту 10 дней, v1.0 ещё нет, и Google честно предупреждает про breaking changes. Для экспериментов и личной автоматизации — отлично. Для чего-то серьёзного — подожди пару месяцев.

GitHub - googleworkspace/cli: Google Workspace CLI — one command-line tool for Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and more. Dynamically built from Google Discovery Service. Includes AI agent skills.
Google Workspace CLI — one command-line tool for Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, and more. Dynamically built from Google Discovery Service. Includes AI agent skills. - googlework…

Что ещё почитать