Интеграция Google Workspace APIs, таких как Drive, Gmail, Calendar и Sheets, в приложения и конвейеры данных обычно требует написания стандартного кода для обработки REST-конечных точек, пагинации и потоков OAuth 2.0.
Команда Google AI выпустила инструмент командной строки (gws) для Google Workspace. Инструмент с открытым исходным кодом googleworkspace/cli (вызывается через команду gws) предоставляет унифицированный динамический интерфейс командной строки для управления этими службами.
Предназначение gws
Инструмент gws разработан как для разработчиков, так и для агентов искусственного интеллекта. Он устраняет необходимость в создании пользовательских скриптов-оболочек, предоставляя структурированные выходные данные в формате JSON, встроенную поддержку протокола Model Context Protocol (MCP) и автоматизированные рабочие процессы аутентификации.
Архитектура динамического обнаружения API
В отличие от традиционных инструментов командной строки, которые компилируют статический список команд, gws динамически формирует набор команд во время выполнения.
При выполнении gws использует двухэтапную стратегию синтаксического анализа:
1. Он считывает первый аргумент, чтобы определить целевую службу (например, drive).
2. Он извлекает документ Google Discovery для этой службы (кэшируется на 24 часа).
3. Он строит дерево команд на основе ресурсов и методов документа.
4. Он анализирует оставшиеся аргументы, выполняет аутентификацию и отправляет HTTP-запрос.
Благодаря такой архитектуре gws автоматически поддерживает новые конечные точки Google Workspace API в момент их добавления в службу Discovery.
Основные возможности для разработчиков программного обеспечения и специалистов по работе с данными
- Интроспекция и предварительный просмотр: каждая служба включает документацию —help, сгенерированную из Discovery API. Можно просмотреть схему любого метода (например, gws schema drive.files.list) или использовать флаг —dry-run для предварительного просмотра точного HTTP-запроса перед выполнением.
- Структурированный сбор данных: по умолчанию каждый ответ, включая ошибки и метаданные, возвращается в структурированном формате JSON.
- Автоматическое разбиение на страницы: для разработчиков, извлекающих большие наборы данных, флаг —page-all автоматически обрабатывает курсоры API.
Интеграция с агентами искусственного интеллекта и MCP
Основным вариантом использования gws является использование в качестве инструмента для вызова бэкенда для больших языковых моделей (LLM).
- Сервер Model Context Protocol (MCP): запустив gws mcp -s drive,gmail,calendar, CLI запускает сервер MCP через stdio. Это предоставляет API Workspace в виде структурированных инструментов, которые любой MCP-совместимый клиент (например, Claude Desktop или VS Code) может вызывать напрямую.
- Предварительно созданные навыки агентов: репозиторий включает более 100 навыков агентов, охватывающих все поддерживаемые API и общие рабочие процессы.
- Gemini CLI Extension: разработчики, использующие Gemini CLI, могут установить расширение gws (gemini extensions install https://github.com/googleworkspace/cli), позволяя локальному агенту Gemini наследовать учётные данные gws и управлять ресурсами Workspace напрямую.
Рабочие процессы аутентификации
CLI обеспечивает безопасную аутентификацию в разных средах, заменяя необходимость ручного управления токенами в пользовательских скриптах.
- Локальный рабочий стол: запуск gws auth setup инициирует интерактивный процесс настройки проекта Google Cloud, включения необходимых API и обработки OAuth-логина.
- Headless / CI/CD: для серверных сред разработчики могут выполнить интерактивную аутентификацию локально и экспортировать незашифрованные учётные данные.
- Сервисные аккаунты: gws изначально поддерживает файлы ключей сервисных аккаунтов «сервер-сервер» и делегирование в масштабах домена с помощью переменной GOOGLEWORKSPACECLIIMPERSONATEDUSER.
Ознакомьтесь с репозиторием [здесь](…). Также подписывайтесь на нас в [Twitter](…) и присоединяйтесь к нашему [ML SubReddit](…). Не забудьте подписаться на [наш Newsletter](…). А если вы используете Telegram, присоединяйтесь к нам и там!
1. Какие проблемы решает инструмент командной строки gws от Google AI для разработчиков и агентов искусственного интеллекта при работе с Google Workspace APIs?
Ответ: инструмент gws устраняет необходимость в создании пользовательских скриптов-оболочек, предоставляя структурированные выходные данные в формате JSON, встроенную поддержку протокола Model Context Protocol (MCP) и автоматизированные рабочие процессы аутентификации.
2. Какие основные возможности предоставляет gws для разработчиков программного обеспечения и специалистов по работе с данными?
Ответ: gws предоставляет интроспекцию и предварительный просмотр, структурированный сбор данных и автоматическое разбиение на страницы.
3. Как gws интегрируется с агентами искусственного интеллекта и протоколом MCP?
Ответ: gws может использоваться в качестве инструмента для вызова бэкенда для больших языковых моделей (LLM). Он запускает сервер MCP через stdio, предоставляя API Workspace в виде структурированных инструментов, которые любой MCP-совместимый клиент может вызывать напрямую.
4. Какие варианты аутентификации предоставляет gws для различных сред?
Ответ: gws обеспечивает безопасную аутентификацию в разных средах, включая локальный рабочий стол, headless/CI/CD и сервисные аккаунты. Для локальных сред используется интерактивный процесс настройки, для серверных сред — экспорт незашифрованных учётных данных, а для сервисных аккаунтов — поддержка файлов ключей и делегирование в масштабах домена.
5. Какие дополнительные возможности предоставляет репозиторий gws помимо основных функций?
Ответ: репозиторий gws включает более 100 навыков агентов, охватывающих все поддерживаемые API и общие рабочие процессы, а также расширение для Gemini CLI, позволяющее локальному агенту Gemini наследовать учётные данные gws и управлять ресурсами Workspace напрямую.