Outil CLI
DingTalk-Real-AI/dingtalk-workspace-cli avatar
DingTalk-Real-AI/dingtalk-workspace-cli

dws : le CLI multiplateforme de DingTalk pour les humains et les agents IA

Aperçu du projet : DingTalk Workspace est un outil CLI multiplateforme officiellement open source de DingTalk. Il unifie la suite complète des fonctionnalités du produit DingTalk en un seul package et est conçu à la fois pour les utilisateurs humains et les scénarios d'agents IA.

3 129 étoiles242 forksGoApache-2.0
GitHub

En bref

De quoi s’agit-il ?
Un outil Go sous licence Apache-2.0 qui regroupe la gamme de produits DingTalk dans une seule ligne de commande, avec des compétences d'agent et une authentification d'entreprise.
À qui s’adresse-t-il ?
DingTalk-Real-AI/dingtalk-workspace-cli convient surtout aux équipes qui acceptent de lire ses contraintes et de tester l'interface annoncée dans leur propre contexte. Avant adoption, exécutez la commande ou le flux explicitement documenté dans le README, contrôlez la sortie attendue et vérifiez les limites de version, de plateforme et de licence mentionnées par le dépôt.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 1 jour.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 17 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

La ligne de commande dws

DingTalk Workspace CLI, invoqué sous le nom dws, est un programme Go qui regroupe la gamme de produits DingTalk derrière une seule interface en ligne de commande. Les métadonnées du dépôt le décrivent comme un outil open source officiel et multiplateforme de DingTalk, conçu à la fois pour les utilisateurs humains et pour les scénarios d'agents IA. Le README présente trois publics : les humains disposent de textes d'aide, d'aperçus dry-run et de formats de sortie table, JSON ou raw ; les agents IA reçoivent des réponses JSON structurées et des compétences d'agent intégrées ; les administrateurs d'entreprise disposent de l'authentification par flux d'appareil OAuth, de listes blanches de domaines et d'un cloisonnement des privilèges minimaux. Selon les métadonnées du dépôt, le projet est écrit en Go et sous licence Apache-2.0.

Canaux d'installation et miroir chinois

Le README documente des installateurs pour macOS et Linux via un script shell, un installateur PowerShell pour Windows, un paquet npm nommé dingtalk-workspace-cli, un tap Homebrew, des binaires précompilés depuis les versions GitHub, et une compilation depuis les sources avec Go 1.25 ou plus récent. L'installateur en une ligne utilise par défaut la disposition mono des compétences, où une seule compétence dws couvre tous les produits ; la disposition multi, expérimentale, installe des compétences par produit. Pour la Chine continentale, un miroir Gitee est disponible en définissant DWS_GITEE_REPO, et un registre npmmirror est documenté pour npm. Les données statiques des points de terminaison sont engagées dans le dépôt sous internal/syncdata, de sorte que les compilations depuis les sources ne nécessitent pas d'extraction de données séparée.

Mise à niveau et vérification des versions

dws inclut une commande d'auto-mise à niveau. Le README indique que les mises à niveau proviennent des versions GitHub avec vérification SHA256 et sauvegarde automatique, et se déroulent en deux phases : préparation, qui télécharge et valide les fichiers dans un répertoire temporaire, et application, qui remplace le binaire et installe les paquets de compétences uniquement après le succès de la préparation. Les drapeaux couvrent la vérification, la liste, le canal bêta, des versions spécifiques, le retour arrière et le saut des mises à jour de compétences. Le dépôt fournit également un script de vérification sous verify/ qui exécute des tests de fumée de qualité de version pour curl, PowerShell, npm stable, npm bêta, Homebrew et le chemin de mise à niveau dws lui-même, avec des résultats PASS, FAIL ou SKIP par plateforme.

Authentification et accès entreprise

Pour commencer, il faut exécuter dws auth login, qui ouvre automatiquement un navigateur, ou dws auth login --device pour les environnements sans interface graphique comme Docker, SSH ou CI. Le projet est en phase de co-création : le README avertit qu'il accède aux données d'entreprise DingTalk et nécessite l'autorisation d'un administrateur. Si une organisation n'a pas activé l'accès CLI, l'utilisateur envoie une demande d'accès que l'administrateur approuve. Un mode application personnalisée existe pour l'intégration CI/CD et ISV, avec un identifiant client et un secret, les identifiants étant conservés dans le trousseau système. Plusieurs organisations et comptes sont pris en charge via des profils identifiés par corpId:userId, et un flux d'exportation et d'importation séparé déplace l'authentification entre les sandbox Linux. L'exportation et l'importation Windows sont refusées intentionnellement, car Windows stocke les identifiants sous forme de valeurs de registre protégées par DPAPI.

Couverture des commandes

Le tableau des services clés liste contacts, chat et messagerie instantanée, calendrier, tâches, approbation, pointage, DING, rapports, tables IA (aitable), documents, drive, notes de réunion, courrier, feuilles de calcul (sheet), wiki, DevDoc, recherche IA, diffusion en direct et accès API brut. Les exemples de démarrage rapide couvrent la recherche de contacts, la liste des événements du calendrier, la recherche de documents, les notes de réunion, la liste du drive et la création de tâches, avec un drapeau --dry-run pour prévisualiser sans exécuter. Le README renvoie à docs/command-index.md pour la liste complète des commandes et indique que les capacités des robots ont été fusionnées dans les sous-arbres chat plutôt que de rester un produit de premier niveau séparé. Une section sur les fonctionnalités à venir mentionne que les réunions vidéo ne sont pas encore présentes.

Conception orientée agents

Les fonctions liées aux agents comportent plusieurs parties. dws schema exporte des contrats de commandes que les agents peuvent utiliser pour la sélection des commandes et le mappage des paramètres, tandis que dws <path> --help est décrit comme la source de vérité pour savoir si une commande existe et quels drapeaux elle accepte. Les compétences d'agent s'installent dans des répertoires d'outils tels que ~/.agents, ~/.claude et ~/.cursor. La disposition mono comprend un SKILL.md, des fichiers de référence par produit et 13 scripts Python pour les flux de travail par lots ; la disposition multi est expérimentale. La fonction d'abonnement aux événements personnels consomme les messages DingTalk via un flux et écrit du NDJSON sur la sortie standard, et dws dev connect relie un robot DingTalk à un CLI IA local. Le README documente également la correction d'entrée (normalisation des noms de drapeaux, division des arguments collés, correspondance des fautes de frappe) et le filtrage jq pour réduire la consommation de jetons.

Affirmations de sécurité et licence

La section Security by Design du README décrit un stockage crypté des jetons avec PBKDF2 et AES-256-GCM, la clé étant l'adresse MAC physique de l'appareil, une protection contre le traversement de chemins, une liste blanche de domaines par défaut *.dingtalk.com, le HTTPS imposé, des aperçus dry-run et l'affirmation que les identifiants ne sont jamais écrits dans les fichiers de configuration ni les journaux. Il indique également que chaque appel d'API passe par l'authentification et l'audit de la plateforme ouverte DingTalk. La source n'établit pas de certifications de sécurité tierces, d'audits indépendants ou de données sur les incidents de production ; ces éléments nécessiteraient une vérification en dehors du dépôt. Le projet est sous licence Apache-2.0. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, pour reproduire, préparer des œuvres dérivées, afficher publiquement, exécuter publiquement, sous-licencier et distribuer l'œuvre, ainsi qu'une licence de brevet similaire. Il ne dit rien sur le support, la garantie ou les garanties de sécurité.

Ce que le dépôt permet de vérifier · dingtalk real ai dingtalk workspace cli

Pour examiner DingTalk-Real-AI/dingtalk-workspace-cli, le point de départ est le dépôt lui-même et ses fichiers nommés dans le README. DingTalk-Real-AI/dingtalk-workspace-cli apparaît dans le README avec cette description : DingTalk Workspace is an officially open-sourced cross-platform CLI tool from DingTalk. It unifies DingTalk s full suite of product capabilities into a single package, is designed for both human users and AI agent scenarios.. Le texte source cite aussi DingTalk Workspace CLI (dws) dws - DingTalk Workspace on the command line, built for humans and AI agents. 中文版 · English · Reference · Changelog > [!IMPORTANT] > Co-creation Phase : This project accesses DingTalk enterprise data and requires enterprise admin authorization. Join the DingTalk DWS co-creation group for support and updates. See [Getting Started]( getting-started) below. > > Table of Contents - [Why dws?]( why-dws) - [Installation]( installation) - [Upgrade]( upgrade) - [Getting Started]( getting-starte. Cette matière permet de situer le dépôt, mais elle ne constitue pas une mesure indépendante de performance. Une vérification utile consiste à reprendre l'entrée documentée par le projet, à observer sa sortie et à comparer cette sortie avec le comportement annoncé. Les commandes, options et chemins varient selon le dépôt ; il faut donc conserver les noms exacts comme `dingtalk-workspace-cli`, les scripts indiqués et les répertoires de configuration cités par les mainteneurs.

Conclusion éditoriale

DingTalk-Real-AI/dingtalk-workspace-cli convient surtout aux équipes qui acceptent de lire ses contraintes et de tester l'interface annoncée dans leur propre contexte. Avant adoption, exécutez la commande ou le flux explicitement documenté dans le README, contrôlez la sortie attendue et vérifiez les limites de version, de plateforme et de licence mentionnées par le dépôt.

Sources officielles

  1. Official README
  2. Project repository
  3. Release notes
Notes de la communauté

Notes de la communauté