gwscli: Todo o Google Workspace em uma única CLI para Agentes (com Claude Code)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00O Google Workspace ficou muito melhor para agentes de IA, pois eles lançaram uma
00:00:04ferramenta de CLI robusta que permite ao seu agente interagir com qualquer API do Google Workspace.
00:00:09Seja ler arquivos do Drive, enviar e-mails ou até criar slides, tudo foi construído do zero
00:00:14para agentes de IA, o que significa que usam o mínimo de tokens possível e criam comandos dinamicamente
00:00:19em tempo de execução para as APIs estarem sempre atualizadas. Mas agora, com uma empresa gigante como o Google
00:00:24criando um CLI para o que antes era (e ainda é) um servidor MCP, o que isso significa
00:00:29para o futuro do MCP? Se inscreva no canal e vamos descobrir.
00:00:33No mês passado, fiz um vídeo sobre a Playwright criando um CLI para o que antes era um servidor MCP.
00:00:42Agora, parece que o Google Workspace fez a mesma coisa e o pessoal no Twitter está ficando
00:00:46louco por isso. É uma ferramenta de CLI feita pelo Justin, que escreveu um post no blog detalhando tudo o que fez
00:00:52para torná-la específica para agentes, o que discutiremos depois. Mas ela já tem mais de 100
00:00:57habilidades que você pode baixar no skills.sh, o que obviamente deixou o "g-man" muito feliz.
00:01:01Mas antes de vermos o que ela faz, precisamos passar pela configuração, porque se sabemos algo
00:01:06sobre ferramentas do Google Cloud, é que não é tão simples. Deixe-me mostrar.
00:01:10Primeiro e mais importante, você precisará de acesso ao console do Google Cloud. Você pode criar um novo
00:01:15projeto ou usar um já existente. Eu criei um novo. Depois, você precisará instalar o gcloud CLI,
00:01:21o que pode ser feito com o Brew se estiver no Mac. Com o CLI do Google Workspace instalado,
00:01:26você terá que rodar este comando para iniciar a configuração, que é bem autoexplicativa.
00:01:31Use seu e-mail para autenticação, selecione um projeto GCP ou configure um e escolha as APIs desejadas.
00:01:37Terminada esta fase, você precisará ir em "Credenciais de APIs e Serviços"
00:01:42e criar um novo ID de cliente OAuth, que acredito que possa ser para qualquer tipo de aplicação. Usei "Web",
00:01:48mas tenho certeza de que funcionará com "Desktop", pois tudo o que você precisa é deste ID de cliente e do segredo.
00:01:53Depois disso, a próxima etapa é onde as coisas ficam um pouco complicadas, pois após
00:01:57rodar este comando, você terá que selecionar o escopo de autenticação. Para este demo, selecionei tudo,
00:02:02o que não é o ideal, mas eu estava apenas testando a API. Então você receberá uma URL enorme para autenticar
00:02:08no seu navegador. Primeiro, certifique-se de que não há erros de digitação, senão poderá haver falhas,
00:02:12mas você precisará anotar a porta após o "localhost", que no meu caso é 51065.
00:02:18Voltando ao console do Cloud, clique em "Tela de consentimento OAuth" em APIs e Serviços,
00:02:23depois clique em clientes e escolha seu cliente web. Lá embaixo, onde diz "URIs de redirecionamento
00:02:28autorizados", mude para aquele número da porta. No caso, 51065. E ainda não terminamos.
00:02:33Vá em audiência, role a página e adicione seu endereço de e-mail aqui, caso ainda não esteja.
00:02:37Se você já tiver um app publicado, não terá esse problema,
00:02:40mas como estou apenas testando a API, estou usando o modo de teste.
00:02:44Então preciso adicionar meu e-mail e o de todos os usuários que queiram usar este CLI aqui.
00:02:48Feito isso, você pode copiar esta URL e seguir os passos para configurar o CLI.
00:02:52E quando terminar, você deve ver um status de sucesso. Se não vir essa tela,
00:02:56espere alguns segundos e tente novamente, pois demora um pouco para registrar a URI de redirecionamento.
00:03:01Todo este processo, apenas a configuração, foi o que mais me tomou tempo para entender,
00:03:06o que mostra que não uso as ferramentas do Google Cloud com frequência, mas assim que terminar,
00:03:11você verá seus detalhes aqui, o que significa que a diversão pode realmente começar. Veja só.
00:03:15Vou começar de forma simples e pedir ao Claude para me dar informações sobre meus últimos 10 e-mails.
00:03:19Espero que não tenha nada sensível lá. Usando o CLI GWS,
00:03:24ele me deu informações sobre cada e-mail, com remetente, assunto, data e marcadores.
00:03:28Podemos ver que, para essa tarefa, ele usou apenas 9% do contexto total, puramente porque não há
00:03:33ferramentas MCP aqui. A maior parte do contexto foi consumida pelas mensagens. Ok, vamos tentar outra coisa.
00:03:38Vou pedir ao Claude para escrever um rascunho de e-mail com o assunto "Eu amo o Claude" e um corpo
00:03:44com um belo poema. Novamente, ele usa o CLI GWS, escreve um pouco de Python via bash. E agora que terminou,
00:03:50podemos ver que tenho um novo rascunho de e-mail aqui escrito pelo Claude. Deixe-me dar um zoom.
00:03:56Ele contém um poema dizendo o quanto eu amo o Claude. Agora, há algo muito interessante sobre
00:04:00a maneira como o Claude usa o CLI GWS. Se olharmos para os comandos que ele executou no passado,
00:04:05podemos ver que há muitos subcomandos e uma flag de parâmetros com JSON dentro.
00:04:11O curioso é que, se eu, como humano, quisesse fazer a mesma coisa
00:04:16digitando "gws help" para ver todos os subcomandos, eu não veria todos. Veria apenas alguns.
00:04:23E se eu quisesse aprofundar em um comando específico, teria que usar "help" repetidamente
00:04:28para obter mais informações. Mas o agente consegue obter
00:04:32essas informações muito rapidamente e até saber os parâmetros exatos para obter os dados corretos.
00:04:37Olha só: eu digitei o prompt aqui, ele usou o "help" uma vez e conseguiu deduzir
00:04:43tudo isso só com aquilo. Vamos detalhar mais como ele faz isso,
00:04:48mas vemos aqui que a seção de ajuda do CLI descreve o uso e menciona o recurso de serviço
00:04:53e o sub-recurso. Podemos ver o serviço aqui embaixo. E se quisermos mais informações,
00:04:57também poderíamos olhar o esquema gws com o recurso e método do serviço. Ok, vamos tentar só mais uma
00:05:03coisa. Vou pedir ao Claude para criar um novo documento de Slides com um slide contendo o
00:05:08título "Gato do Claude" e outros quatro slides contendo imagens de gatos. Novamente, ele usa o CLI GWS pedindo
00:05:15ajuda, depois mergulha no help para os comandos de slides e apresentações. E agora ele terminou de criar
00:05:20nossa apresentação. Vamos dar uma olhada no navegador. Aqui está. Vocês podem ver que eu já tinha feito
00:05:24um teste com "Cães do Claude", mas vamos tentar este. E temos o título "Gatos do Claude" com um subtítulo,
00:05:30"uma coleção purr-feita", com cinco slides contendo imagens de gatos. Isso é muito legal. E usamos
00:05:36apenas 15% do contexto. Poderíamos continuar fazendo coisas diferentes. Como aqui,
00:05:42onde criei uma planilha do Google contendo a população de cada estado dos EUA com um
00:05:47total no final e até agendei eventos no meu calendário. Você deve ter notado que fiz tudo isso
00:05:52sem instalar nenhuma habilidade específica do Google Workspace, mas o projeto tem muitas
00:05:58habilidades disponíveis contendo auxiliares, personas e receitas para ações mais complexas,
00:06:05como bloquear tempo de foco e reagendar uma reunião. Como o Justin fez isso funcionar tão bem? Primeiro, ele
00:06:10priorizou o JSON aninhado, que é difícil para humanos lerem, mas muito mais fácil para agentes. Ele também
00:06:16tornou a documentação consultável em tempo de execução, o que vimos antes, mas esta seção
00:06:21de esquema garante que, se algo for atualizado ou o agente inserir um parâmetro errado,
00:06:26ele saiba exatamente onde verificar qual é o correto sem confusão. Os
00:06:31parâmetros ou campos também podem ser usados para reduzir a quantidade de informações que a API retorna.
00:06:36Assim, o agente pode limitar os dados apenas ao necessário, em vez de receber informações extras
00:06:42que não precisa, o que reduz o consumo de tokens. E, claro, ele usa habilidades para
00:06:47orientação específica do agente, que não usei na demonstração, mas que fornecem mais informações do que o
00:06:53agente conseguiria apenas com a flag de help. Então, está claro que servidores MCP já eram e CLIs são o futuro,
00:06:59certo? Bem, nem tanto, porque com MCPs, o agente pode simplesmente chamar funções diretamente em vez
00:07:06de ter que construir comandos de shell e passar JSON, que é o que o CLI faz. Ferramentas MCP também
00:07:11são melhores para encadear etapas complexas. E, claro, você não precisa de um terminal para rodá-las,
00:07:16por isso o CLI do Google Workspace tem uma opção de MCP. No entanto, CLIs usam muito menos tokens,
00:07:24mesmo com a ferramenta de busca de ferramentas ativada. São portáteis, ou seja, funcionam com qualquer
00:07:28estrutura de agente ou mesmo sem uma, se você preferir. E é fácil reproduzir os
00:07:34comandos de forma independente para depuração. Então, acho que depende realmente do seu caso de uso, mas tive
00:07:40alguns problemas ao usar o CLI, como URLs geradas com erros de digitação, o que não faço ideia de como
00:07:47aconteceu. Toda aquela coisa de URL de redirecionamento na porta do localhost demorou para eu entender. Não
00:07:52sei se é específico das ferramentas do Google Cloud ou apenas do CLI, mas não foi divertido. E tive
00:07:59um problema com os tokens não atualizando corretamente, tanto que até criei uma issue no GitHub. Bem,
00:08:05o Claude a escreveu para mim. Na verdade, eu não escrevi nada, mas para um projeto com menos de uma
00:08:10semana de vida e mais de 10 mil estrelas no GitHub, ele já tem um futuro promissor pela frente.
00:08:16E por falar em futuro promissor, se você quiser criar um app Electron alimentado pelo Bun,
00:08:21para ter velocidade e um pacote de tamanho reduzido, confira este vídeo que fiz sobre
00:08:26o Electrobahn, que mostra como usá-lo para um projeto simples com Vite.

Key Takeaway

O gwscli transforma o Google Workspace em uma plataforma otimizada para agentes de IA, oferecendo uma alternativa de baixo consumo de tokens e altamente escalável aos servidores MCP tradicionais.

Highlights

Lançamento do gwscli, uma ferramenta de CLI robusta do Google Workspace projetada especificamente para agentes de IA.

A ferramenta permite que agentes executem tarefas no Drive, Gmail, Slides e Sheets com consumo mínimo de tokens.

Diferente de comandos para humanos, o gwscli prioriza JSON aninhado e documentação consultável em tempo de execução.

O gwscli oferece mais de 100 habilidades prontas para ações complexas, como agendamento de reuniões e análise de dados.

Discussão sobre a transição de servidores MCP (Model Context Protocol) para interfaces de linha de comando (CLI) mais portáteis.

A configuração inicial exige o Google Cloud Console, autenticação OAuth e ajustes manuais de portas de redirecionamento.

Vantagens do CLI incluem portabilidade entre diferentes frameworks de agentes e facilidade de depuração independente.

Timeline

Introdução ao gwscli e a Era dos Agentes

O vídeo começa apresentando o gwscli como uma ferramenta revolucionária que permite a agentes de IA interagir diretamente com as APIs do Google Workspace. O narrador destaca que a ferramenta foi construída do zero para ser eficiente, utilizando o mínimo de tokens possível ao criar comandos dinâmicos. Menciona-se que o Google está seguindo uma tendência iniciada pela Playwright de transformar servidores MCP em CLIs. O projeto já conta com mais de 100 habilidades disponíveis no site skills.sh para facilitar a automação. Esta seção estabelece a importância da ferramenta para o futuro da integração entre IA e produtividade.

Guia de Configuração e Desafios no Google Cloud

O autor detalha o processo de configuração, admitindo que as ferramentas do Google Cloud podem ser complexas e pouco intuitivas. É necessário criar um projeto no GCP, instalar o gcloud CLI via Brew e configurar credenciais de cliente OAuth. Um ponto crítico mencionado é a necessidade de ajustar manualmente as URIs de redirecionamento autorizadas com a porta específica do localhost. O narrador também explica como adicionar e-mails de teste na tela de consentimento para permitir o acesso durante a fase de desenvolvimento. Esta etapa é descrita como a mais demorada e técnica de todo o processo de implementação.

Demonstração Prática: Gmail e Claude Code

Nesta fase, vemos o Claude utilizando o gwscli para ler os últimos 10 e-mails do usuário de forma eficiente. O agente consegue extrair metadados como remetente, assunto e data utilizando apenas 9% do contexto total, sem depender de ferramentas MCP pesadas. Em seguida, o Claude demonstra a criação de um rascunho de e-mail contendo um poema personalizado escrito em Python via bash. A integração mostra-se fluida, permitindo que a IA execute tarefas de escrita e organização diretamente na conta do usuário. O exemplo ressalta a precisão da ferramenta em lidar com comandos de texto e automação de rotinas de comunicação.

Arquitetura Otimizada para Máquinas

O vídeo explora por que o gwscli é superior para agentes em comparação com usuários humanos. Enquanto um humano veria apenas alguns subcomandos ao digitar help, o agente consegue explorar o esquema completo da API e identificar parâmetros JSON exatos rapidamente. O narrador explica que o gwscli descreve recursos e sub-recursos de uma forma que a IA pode deduzir toda a estrutura com um único comando de ajuda. Essa característica elimina a necessidade de múltiplas interações manuais para descobrir como a API funciona. O foco aqui é na eficiência da comunicação entre o modelo de linguagem e a interface de linha de comando.

Aplicações em Slides, Sheets e Calendário

O autor demonstra o Claude criando uma apresentação complexa no Google Slides com imagens de gatos e títulos personalizados. Além disso, o vídeo mostra a geração de planilhas no Google Sheets com dados populacionais e o agendamento de eventos no calendário. O Justin, criador da ferramenta, priorizou o uso de JSON aninhado e esquemas consultáveis para evitar que o agente se perca em parâmetros incorretos. O uso de filtros de campos permite que o agente solicite apenas os dados estritamente necessários, economizando tokens e processamento. Estas demonstrações provam a versatilidade da CLI em cobrir quase todo o ecossistema do Workspace.

Comparação: CLI vs. MCP e Conclusão

O encerramento do vídeo coloca em perspectiva se as CLIs irão substituir totalmente os servidores MCP. Embora os MCPs sejam excelentes para encadear funções complexas sem um terminal, as CLIs ganham em portabilidade, depuração e economia de custos de API. O autor relata alguns problemas encontrados, como erros de digitação em URLs geradas automaticamente e falhas na atualização de tokens de autenticação. Apesar de ser um projeto recente com menos de uma semana, as 10 mil estrelas no GitHub indicam um potencial enorme. O vídeo termina com uma recomendação de outra ferramenta, o Electrobahn, para desenvolvedores interessados em performance.

Community Posts

View all posts