- Ferramenta que permite controlar toda a API do Google Workspace com uma única CLI, com suporte a Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin e mais
- Com base no Google Discovery Service, gera dinamicamente a composição dos comandos em tempo de execução, refletindo automaticamente a adição de novas APIs
- Inclui mais de 100 skills para agentes de IA e oferece suporte à integração com LLMs por meio de saída JSON estruturada
- Oferece vários métodos de autenticação, como OAuth, Service Account e ambientes de CI, além de suporte a recursos de segurança de resposta com Model Armor
- Uma CLI voltada para automação, feita tanto para pessoas quanto para IA, que aumenta a eficiência de gerenciamento unificado e automação do ecossistema Google Workspace
Visão geral
gws é uma CLI unificada dedicada ao Google Workspace, capaz de executar todas as APIs de Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin e outras a partir de uma única linha de comando
- Gera automaticamente a composição dos comandos por meio do Google Discovery Service e reflete imediatamente novos endpoints de API quando eles são adicionados
- Toda a saída é fornecida em formato JSON estruturado, facilitando a integração com agentes de IA e scripts de automação
- O projeto está em desenvolvimento ativo e pode passar por mudanças importantes antes da v1.0
Principais recursos
- Oferece recursos de CLI amigáveis para humanos, como autocompletar com Tab, --help, --dry-run e paginação automática
- Inclui mais de 100 skills baseadas em
SKILL.md para integração com agentes de IA
- Inclui mais de 50 receitas avançadas para serviços principais como Gmail, Drive, Docs, Calendar e Sheets
- Ao instalar a extensão do Gemini CLI, o agente Gemini pode chamar diretamente comandos e skills do
gws
- Por meio do modo servidor MCP (Model Context Protocol), é possível expor as APIs do Workspace como ferramentas no Claude Desktop, Gemini CLI, VS Code e outros
Métodos de autenticação
- Autenticação interativa local: armazena credenciais criptografadas com AES-256-GCM no keyring do sistema operacional
- Configuração manual de OAuth: permite criar clientes diretamente no Google Cloud Console
- Autenticação assistida por navegador/agente: processa a autorização OAuth de forma manual ou automática
- Autenticação para ambientes de CI/servidor: exporta credenciais com
gws auth export e permite defini-las via variáveis de ambiente
- Suporta Service Account e tokens pré-emitidos, com prioridade na ordem token > arquivo de credenciais > armazenamento no keyring
Skills para agentes de IA
- As mais de 100 skills incluídas no repositório automatizam cada API e fluxos de trabalho gerais
- É possível instalar todas ou skills individuais com o comando
npx skills add
- No ambiente OpenClaw, é possível sincronizar skills por link simbólico ou cópia
- A skill
gws-shared inclui instalação automática quando a CLI não está instalada
Extensão do Gemini CLI
- Instalação com o comando
gemini extensions install https://github.com/googleworkspace/cli
- Após a instalação, o agente do Gemini CLI pode chamar diretamente comandos e skills do
gws
- Herda automaticamente as informações de autenticação do
gws, permitindo uso sem login separado
Recursos do servidor MCP
- Execute um servidor MCP com o comando
gws mcp para expor as APIs do Workspace a clientes compatíveis com MCP
- Exemplo:
gws mcp -s drive,gmail,calendar
- Cada serviço adiciona de 10 a 80 ferramentas, permitindo seleção conforme o limite de ferramentas do cliente (50 a 100)
- As flags
--workflows e --helpers permitem expor ferramentas de workflow e auxiliares
Recursos avançados
- Upload multipart: realiza upload de arquivo e criação de metadados ao mesmo tempo
- Controle de paginação: oferece as opções
--page-all, --page-limit e --page-delay
- Integração com Model Armor: analisa respostas da API para bloquear prompt injection
- Controlado pelas variáveis de ambiente
GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE e GOOGLE_WORKSPACE_CLI_SANITIZE_MODE
Arquitetura
- Funciona com uma estrutura de parsing em 2 etapas
- Identifica o serviço pelo primeiro argumento
- Busca o documento Discovery (cache de 24 horas)
- Gera a árvore
clap::Command
- Refaz o parsing dos argumentos e executa a autenticação
- Executa a requisição HTTP
- Todos os resultados (sucesso, erro, metadados) são exibidos em estrutura JSON
Solução de problemas
- Se a API não estiver ativada, ocorre o erro
accessNotConfigured
- Clique no link do campo
enable_url para ativar a API e tente novamente
- O comando
gws auth setup pode ativar automaticamente as APIs necessárias
Desenvolvimento e distribuição
- Licença Apache-2.0. Rust (99,5%)
- Não é um produto oficial do Google; é um projeto open source não oficial
2 comentários
Diferente do
gog, é interessante a abordagem de gerar dinamicamente comandos para todas as APIs do Google.Como o desenvolvedor é Justin Poehnelt, do DevRel do Google Workspace, isso passa mais confiança.
Comentários do Hacker News
No mundo de IA e MCPs, parece que de repente as empresas começaram a se mover para criar ferramentas de API/CLI decentes
Isso parece ser a versão CLI do Workspace Studio
É bom ver o Google se movendo na direção de como os desenvolvedores realmente querem usar aplicativos
Acho muito melhor do que dashboards do Google ou bibliotecas de terceiros mal-acabadas
Embora o Google diga que não é suporte oficial, é provável que receba mais suporte interno do que algo externo receberia
O GCP Next está marcado para 22 a 24 de abril
Espero que esse projeto continue sendo mantido depois disso
Fico me perguntando por que usar
npmpara instalar um binário emrustComo hoje em dia habilidades de agentes querem CLI, seria bom se essa tendência realmente pegasse
Dá para imaginar todos os CTOs se agitando para conectar isso às suas próprias instâncias do OpenClaw
O fato de os comandos disponíveis mudarem dinamicamente parece um antipadrão, mas talvez IA consiga lidar com isso
Queria que a Apple fizesse a mesma coisa com o iCloud
Interessante, mas um pouco assustador. Se isso não for um produto oficial do Google, talvez possa haver violação dos TOS