22 points par GN⁺ 2026-03-05 | 2 commentaires | Partager sur WhatsApp
  • Un outil permettant de piloter l’ensemble des API Google Workspace depuis une CLI unique, avec prise en charge de Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, etc.
  • S’appuie sur le Google Discovery Service pour générer dynamiquement la structure des commandes à l’exécution, ce qui permet de refléter automatiquement l’ajout de nouvelles API
  • Inclut plus de 100 skills pour agents IA et prend en charge l’intégration avec les LLM via une sortie JSON structurée
  • Propose divers modes d’authentification, notamment OAuth, Service Account et environnements CI, ainsi que des fonctions de sécurité des réponses via Model Armor
  • Une CLI centrée sur l’automatisation, pensée à la fois pour les humains et l’IA, qui améliore l’administration unifiée et l’efficacité de l’automatisation dans l’écosystème Google Workspace

Vue d’ensemble

  • gws est une CLI unifiée dédiée à Google Workspace, capable d’exécuter toutes les API — Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, etc. — depuis une seule ligne de commande
  • La structure des commandes est générée automatiquement via le Google Discovery Service, avec prise en compte immédiate des nouveaux endpoints d’API
  • Toutes les sorties sont fournies au format JSON structuré, ce qui facilite l’intégration avec des agents IA ou des scripts d’automatisation
  • Le projet est en développement actif et des changements majeurs peuvent survenir avant la v1.0

Fonctionnalités principales

  • Fournit des fonctions de CLI conviviales comme l’autocomplétion, --help, --dry-run et la pagination automatique
  • Inclut plus de 100 skills basés sur SKILL.md pour l’intégration avec des agents IA
    • Comprend plus de 50 recettes avancées pour des services clés comme Gmail, Drive, Docs, Calendar et Sheets
  • Après installation de l’extension Gemini CLI, l’agent Gemini peut appeler directement les commandes et skills gws
  • Grâce au mode serveur MCP (Model Context Protocol), il est possible d’exposer les API Workspace comme outils dans Claude Desktop, Gemini CLI, VS Code, etc.

Méthodes d’authentification

  • Authentification interactive locale : identifiants stockés dans le trousseau du système d’exploitation, chiffrés en AES-256-GCM
  • Configuration OAuth manuelle : création directe du client dans la Google Cloud Console
  • Authentification assistée par navigateur ou agent : gestion manuelle ou automatique de l’autorisation OAuth
  • Authentification pour environnements CI/serveur : export des identifiants via gws auth export puis définition via des variables d’environnement
  • Prise en charge des Service Accounts et des jetons préémis, avec priorité dans l’ordre : jeton > fichier d’identifiants > stockage dans le trousseau

Skills pour agents IA

  • Les plus de 100 skills inclus dans le dépôt automatisent chaque API ainsi que des workflows généraux
  • La commande npx skills add permet d’installer l’ensemble des skills ou seulement certains
  • Dans un environnement OpenClaw, les skills peuvent être synchronisés par lien symbolique ou par copie
  • Le skill gws-shared inclut une installation automatique si la CLI n’est pas encore installée

Extension Gemini CLI

  • Installation via la commande gemini extensions install https://github.com/googleworkspace/cli
  • Une fois installée, l’agent Gemini CLI peut appeler directement les commandes et skills gws
  • Hérite automatiquement des informations d’authentification de gws, sans connexion supplémentaire

Fonction serveur MCP

  • La commande gws mcp lance un serveur MCP pour exposer les API Workspace à des clients compatibles MCP
    • Exemple : gws mcp -s drive,gmail,calendar
  • Chaque service ajoute de 10 à 80 outils, à sélectionner selon les limites d’outils du client (50 à 100)
  • Les flags --workflows et --helpers permettent d’exposer des workflows et des outils utilitaires

Fonctionnalités avancées

  • Upload multipart : envoi de fichiers et création de métadonnées en une seule opération
  • Contrôle de la pagination : options --page-all, --page-limit, --page-delay
  • Intégration de Model Armor : analyse des réponses API pour bloquer les injections de prompt
    • Contrôle via les variables d’environnement GOOGLE_WORKSPACE_CLI_SANITIZE_TEMPLATE et GOOGLE_WORKSPACE_CLI_SANITIZE_MODE

Architecture

  • Fonctionne selon une structure de parsing en 2 étapes
    1. Identification du service via le premier argument
    2. Récupération du document Discovery (cache de 24 heures)
    3. Génération de l’arborescence clap::Command
    4. Nouvelle analyse des arguments et authentification
    5. Exécution de la requête HTTP
  • Tous les résultats (succès, erreurs, métadonnées) sont renvoyés dans une structure JSON

Dépannage

  • Si une API n’est pas activée, une erreur accessNotConfigured survient
    • Cliquer sur le lien du champ enable_url pour activer l’API puis réessayer
    • La commande gws auth setup permet d’activer automatiquement les API nécessaires

Développement et déploiement

  • Licence Apache-2.0. Rust (99,5 %)
  • Ce n’est pas un produit officiel de Google, mais un projet open source non officiel

2 commentaires

 
xguru 2026-03-05

Contrairement à gog, l’approche qui consiste à générer dynamiquement des commandes pour toutes les API de Google est assez originale.

Le développeur est Justin Poehnelt, du DevRel de Google Workspace, ce qui inspire encore plus confiance.

 
GN⁺ 2026-03-05
Avis sur Hacker News
  • À l’ère de l’IA et des MCPs, on dirait que les entreprises se mettent soudain à construire de vrais outils API/CLI

    • L’un des rares effets positifs de la concurrence autour de l’IA, c’est que tout le monde commence à exposer ses données via des API publiques et à fournir des outils sous forme de CLI ou d’API extensibles
    • C’est surprenant qu’il ait fallu autant de temps pour réaliser que MCP n’est qu’une API en pire
  • On dirait la version CLI de Workspace Studio
    C’est agréable de voir Google évoluer dans le sens où les développeurs veulent réellement utiliser les apps
    Je pense que c’est bien mieux qu’un dashboard Google ou qu’une bibliothèque tierce bricolée
    Même si Google dit que ce n’est pas pris en charge officiellement, il y a de fortes chances que ce soit mieux soutenu en interne qu’en externe

  • GCP Next est prévu du 22 au 24 avril
    J’espère que ce projet continuera d’être maintenu après ça

  • Je me demande pourquoi on utilise npm pour installer un binaire rust

  • Comme les agent skills veulent maintenant des CLI, j’aimerais que cette tendance s’installe durablement

  • J’imagine déjà tous les CTO s’agiter pour brancher ça à leur instance OpenClaw

    • Au final, il faudra sans doute comparer avec gog
  • Le fait que les commandes disponibles changent dynamiquement ressemble à un anti-pattern, mais peut-être que l’IA saura gérer ça

  • J’aimerais qu’Apple adopte la même approche pour iCloud

    • Certains ont répondu qu’il ne fallait pas trop espérer
    • D’autres l’ont pris à la rigolade
  • C’est intéressant, mais un peu inquiétant. Si ce n’est pas un produit officiel de Google, il pourrait y avoir un risque de violation des TOS

    • Comme cela a été créé par l’équipe Google DevRel, ce n’est pas une violation des TOS, mais, par nature, les projets DevRel risquent facilement d’être abandonnés
    • En pratique, cela semble bien avoir été publié directement par Google