DWS — 钉钉官方出品的 AI 友好命令行工具

介绍阿里巴巴官方的 DingTalk Workspace CLI(dws),一个覆盖钉钉 19 个产品、213 个命令的 AI 友好命令行工具,支持自动升级和 Agent Skill 系统。

钉钉CLIAI AgentGo效率工具
DWS — 钉钉官方出品的 AI 友好命令行工具

dws 是什么

dws(DingTalk Workspace CLI)是阿里巴巴 2026 年开源的钉钉命令行工具,Apache-2.0 协议,Go 语言编写。

它的定位很明确:把钉钉的所有产品能力暴露给 AI Agent 和命令行用户。不用打开钉钉 App,不用写 API 调用代码,一条命令搞定。

# 查看今天有什么会
dws calendar event list --start 2026-06-01 --end 2026-06-01

# 给群里发条消息
dws chat send --group-id xxx --content "今天发布推迟到下午3点"

# 创建一个待办
dws todo task create --subject "Review PR #123" --due-date 2026-06-02

# 读取钉钉文档
dws doc read --url "https://alidocs.dingtalk.com/i/nodes/xxx"

安装

三种方式,选你喜欢的:

# npm(推荐,跨平台自动下载二进制)
npm install -g dingtalk-workspace-cli

# Homebrew(macOS/Linux)
brew install dws

# 直接下载二进制
# https://github.com/open-dingtalk/dingtalk-workspace-cli/releases

安装后认证:

dws auth login

会打开浏览器走 OAuth 设备流认证,token 加密存储在系统钥匙串里(PBKDF2 + AES-256-GCM)。

覆盖的钉钉产品

这是最夸张的部分 — 19 个产品,213 个命令,基本把钉钉全家桶都搬到了命令行:

产品命令数说明
聊天 chat57消息收发、群管理、机器人、已读状态、Webhook
AI 表格 aitable42Base/数据表/字段/记录/视图/图表/仪表盘,完整 CRUD
电子表格 sheet34工作表读写、行列操作、合并、筛选视图、导出
文档 doc21搜索、读写、块级编辑、评论、复制移动
会议纪要 minutes19列表、摘要、转写、思维导图、发言人、热词
日历 calendar14事件 CRUD、会议室、忙闲查询、时间建议
审批 oa9待办、发起、同意/拒绝/撤销
云盘 drive9列表、下载、上传、创建目录
知识库 wiki7空间管理、成员管理
汇报 report7日志/日报/周报,按模板创建、统计
待办 todo6创建、完成、删除,支持优先级和循环
邮件 mail4邮箱查询、邮件搜索、发送
考勤 attendance4打卡记录、排班、汇总
通讯录 contact3用户搜索、部门查询
DING 消息 ding2发送/撤回(应用内、短信、电话)
其他若干AI 搜索、AI 应用、直播、开放平台文档

还有一个万能命令 dws api,可以直接调用任意钉钉 OpenAPI,不受这 213 个命令的限制。

Agent Skill 系统

dws 内置了一套完整的 Agent Skill,可以直接被 AI 编程工具发现和使用:

  • Claude Code — 通过 SKILL.md 自动加载
  • Cursor — 支持 MCP 协议接入
  • Codex / OpenCode / Qoder — 通过 skill 安装命令接入

安装 skill:

dws skill setup

SKILL.md 里定义了:

  • 16 个产品的意图判断决策树(用户说"表格"→ aitable,说"打卡"→ attendance
  • 危险操作确认流程(删除、撤回等必须先确认)
  • 错误处理规范(verbose 重试、recovery 事件 ID)
  • URL 分流规则(alidocs.dingtalk.com 的多种路径格式自动识别)

Agent 读到这份 SKILL.md 就知道什么时候该调什么命令,不需要额外的 prompt 工程。

自动升级

内置 dws upgrade,不需要重新下载安装包:

dws upgrade              # 交互式升级到最新版
dws upgrade --check      # 仅检查是否有新版本
dws upgrade --list       # 列出最近版本
dws upgrade --version v1.0.5  # 升级到指定版本
dws upgrade --rollback   # 回滚到上一版本

升级流程:下载 → SHA256 校验 → 备份当前版本 → 原子替换 → 更新 Skill。失败可一键回滚。

亮点

1. 为 AI Agent 专门优化

这可能是目前对 AI 最友好的 CLI 工具:

  • 智能纠错 — AI 模型经常生成错误的参数格式(--userId 应该是 --user-id--limit100 应该是 --limit 100),dws 的 5 阶段 Pipeline 会自动修正
  • Schema 发现dws schema 让 Agent 动态查询可用工具和参数,不需要硬编码
  • jq 过滤--jq '.data[] | {name, id}' 直接过滤输出,减少 Agent 消耗的 token
  • JSON 输出 — 所有命令支持 --format json,方便程序解析

2. 安全设计

  • token 用 PBKDF2 + AES-256-GCM 加密,密钥绑定设备 MAC 地址
  • 域名白名单,只能访问钉钉官方 API
  • 强制 HTTPS
  • 写操作必须显式 --yes 确认
  • 完整审计链

3. 发现驱动架构

不是把所有命令硬编码在代码里,而是:

  1. 从钉钉 MCP 服务器注册中心拉取元数据
  2. 运行时发现服务端能力
  3. 转换成统一的中间表示(IR)
  4. 动态挂载到命令树

这意味着钉钉新增产品能力时,dws 不需要发版就能支持。

4. 多平台分发

GoReleaser 交叉编译 + Homebrew formula + npm 包 + shell/PowerShell 安装脚本,覆盖 Windows、macOS、Linux。

总结

dws 把钉钉从一个"必须打开 App 才能用"的工具变成了一个"命令行 + AI Agent 随时调用"的平台。213 个命令覆盖日常办公的方方面面,Agent Skill 系统让 AI 编程工具可以直接理解和使用这些能力。

如果你是钉钉重度用户,或者在做企业内部的 AI Agent 集成,dws 值得一试。

评论