AI工具箱
dingtalk-workspace-cli

dingtalk-workspace-cli 使用教程

从入门到精通的完整指南

dingtalk-workspace-cli 简介

DingTalk Workspace CLI(dws)是钉钉官方开源的跨平台命令行工具,基于Go语言开发,将钉钉全套产品能力统一到单一CLI包中。它同时面向人类用户和AI Agent场景设计,支持结构化JSON输出和内置Agent Skills。工具采用零信任架构,通过OAuth设备流认证、域名白名单和最小权限范围确保企业数据安全。支持macOS、Linux和Windows平台,提供一键安装脚本和内置自升级功能。已获超2000个GitHub Star,采用Apache-2.0开源协议,适合需要在命令行或自动化流程中集成钉钉能力的开发者和企业管理员。

详细功能介绍

【工具简介】DingTalk Workspace CLI(dws)是钉钉官方开源的跨平台命令行工具,将钉钉全套产品能力整合到一个CLI包中,同时服务人类用户和AI Agent。

【核心功能】①统一产品能力:将钉钉的多维表格、日历、群聊、文档等产品功能整合到统一的命令行接口,一行命令即可调用。②AI Agent原生支持:提供结构化JSON响应和内置Agent Skills,支持mono和multi两种技能模式,可与Claude Code、Cursor等AI工具无缝集成。③零信任安全架构:采用OAuth设备流认证、域名白名单和最小权限范围控制,确保企业数据安全可审计。④跨平台一键部署:支持macOS、Linux和Windows,提供curl/PowerShell一键安装脚本和npm安装方式。⑤内置自升级:支持版本检查、自动升级、回滚和SHA256完整性校验,无需手动管理更新。

【适用场景】①企业自动化运维:通过命令行或脚本批量处理钉钉审批、日程管理、消息通知等日常办公任务。②AI Agent工作流集成:将钉钉能力作为AI Agent的工具集,实现智能日程安排、自动消息分发等自动化场景。③CI/CD流水线集成:在持续集成环境中通过CLI自动发送构建通知、创建任务单等DevOps操作。

【快速入门】①安装工具:macOS/Linux执行curl -fsSL安装脚本,Windows使用PowerShell安装命令。②认证登录:运行dws auth login,浏览器自动打开完成OAuth授权,无头环境支持设备码模式。③选择组织:授权后选择企业组织,如未开启CLI访问可一键向管理员发送申请。④开始使用:通过dws <service> <command>格式调用各项钉钉功能,使用--help查看详细用法。

【优缺点分析】优点:①钉钉官方出品,API兼容性和稳定性有保障,持续维护更新。②同时支持人类和AI Agent使用场景,一套工具两种用途。③零信任安全设计,满足企业级数据安全和合规要求。缺点:①需要企业管理员授权才能使用,个人用户无法直接体验。②目前部分AI Agent技能模式仍处于实验阶段,生产环境建议使用稳定的mono模式。③仅支持钉钉生态,无法与其他办公平台互通。

【适合人群】①企业IT管理员和DevOps工程师:需要在自动化流程中集成钉钉能力的技术人员。②AI应用开发者:构建基于钉钉的AI Agent和自动化工作流的开发者。③效率型团队:希望通过命令行和脚本提升钉钉使用效率的团队和个人。

1DingTalk Workspace CLI 入门教程:命令行玩转钉钉

入门10分钟
DingTalk Workspace CLI(dws)是钉钉官方开源的跨平台命令行工具,基于Go语言开发,将钉钉全套产品能力统一到单一CLI包中,同时支持人类用户和AI Agent场景。 快速开始 1. 访问GitHub仓库 dingtalk-workspace-cli,找到Releases页面下载对应平台的安装包,或使用一键安装脚本:curl -fsSL https://raw.githubusercontent.com/open-dingtalk/dws/main/install.sh | bash 2. 安装完成后,在终端输入 dws version 确认安装成功 3. 首次使用需进行OAuth设备流认证,运行 dws login,终端会显示一个设备码和认证链接 4. 在浏览器中打开链接,输入设备码完成钉钉账号授权 5. 授权成功后,终端会自动获取Token,后续命令即可正常使用 核心功能演示 功能一:查看组织通讯录 运行 dws contacts list 可列出当前企业下的部门和成员信息。加上 --format json 参数可以获取结构化JSON输出,方便脚本处理。例如 dws contacts list --department-id 123 --format json 可查看指定部门的成员列表。 功能二:发送工作通知 使用 dws message send --user-id USER_ID --content 消息内容 可以向指定用户发送工作通知。支持批量发送,用逗号分隔多个user-id即可。消息内容支持Markdown格式,适合发送富文本通知。 功能三:管理审批流程 运行 dws approval list 可查看待审批列表,dws approval approve --process-id ID 可快速审批指定流程。对于需要频繁处理审批的管理员,这比打开App操作效率高得多。 实际使用案例 场景一:CI/CD流水线集成。在Jenkins或GitHub Actions中配置dws,当代码部署成功后自动发送钉钉通知给相关团队成员,实现DevOps闭环。通过 --format json 输出解析结果,实现智能条件通知。 场景二:批量数据导出。使用 dws contacts list --format json 配合 jq 工具,可以快速导出企业通讯录数据用于HR系统对接或数据分析,避免手动在管理后台逐页导出的繁琐操作。 常见问题 Q:认证Token过期了怎么办? A:运行 dws login 重新认证即可,Token默认有效期较长,过期后命令会提示需要重新登录。 Q:支持哪些权限范围? A:dws采用最小权限原则,首次授权时会明确列出所需权限,企业管理员可在钉钉后台控制可用范围。 Q:能否在Docker容器中使用? A:可以,dws是静态编译的Go二进制文件,无外部依赖,直接复制到容器中即可运行,认证Token可通过环境变量DWS_TOKEN注入。 小贴士 1. 善用 --format json 参数,配合 jq 可以实现复杂的自动化脚本,将钉钉能力集成到任何工作流中。 2. 使用 dws config set default-org ORG_ID 设置默认组织,避免每次命令都需指定企业ID。 3. 结合AI Agent使用时,dws的内置Skills可以让AI助手直接调用钉钉API,无需额外编写集成代码。