| name | dingtalk-unified |
| description | 钉钉 CLI 全能套件,基于官方 DingTalk Workspace CLI(dws)操作钉钉消息、群聊、通讯录、日历、待办、审批、考勤、日志、DING、AI 表格、钉钉文档、钉盘、AI 听记、邮箱和开放平台文档。用户需要在钉钉内查找联系人、发消息、建群、管理日程、创建待办、处理审批、查看考勤、读写文档、操作 AI 表格、搜索会议听记或调用钉钉开放平台能力时使用。 |
| description_zh | 钉钉 CLI 套件,覆盖消息、日历、待办、审批、考勤、日志、文档、AI 表格、钉盘、AI 听记、邮箱等 14 个产品能力 |
| description_en | DingTalk CLI suite powered by dws, covering messages, calendar, todo, approvals, attendance, reports, docs, AI tables, drive, meeting minutes, mail and more |
| version | 1.0.0 |
| dws_cli_version | >=1.0.24 |
| display_name | 钉钉套件 |
| display_name_en | Dingtalk Unified |
| visibility | public |
| icon | https://codebuddy-platform-1258344699.cos.accelerate.myqcloud.com/public/45edac6b-2078-4678-89f3-6f9800cf5e5f/avatar/skill/au_e2fcac84-856.svg |
钉钉套件(DingTalk Unified)
通过官方 dws(DingTalk Workspace CLI)调用钉钉产品能力。dws 的产品域和命令数随版本动态更新,本 Skill 不把静态命令表当作唯一真相;执行时以 dws --help、dws <domain> --help 和 dws schema 为准,并提供意图路由、安全策略、授权策略、命令发现策略和错误恢复策略。
使用前置流程
Step 1:确认 dws 可用
优先使用系统 PATH 中的 dws:
dws version --format json
如果命令不存在,先安装官方 npm 包:
npm install -g dingtalk-workspace-cli
安装后再次执行:
dws version --format json
要求版本满足 >=1.0.24。低版本可能缺少 Mail、Raw API、host-owned PAT、schema 或部分修复。
Step 2:检查登录状态
dws auth status --format json
- 已登录:继续执行用户请求。
- 未登录 / token 失效:进入授权流程。
权限三层模型:
- OAuth 登录:解决“当前用户是谁”。
- 组织 CLI 访问:解决“企业/组织是否允许 CLI 访问数据”。
- 业务 PAT scope:解决“某个具体动作是否被允许”,例如读取钉钉文档需要
doc:read。
不要把“已登录”误判为“所有业务权限都已授权”。
授权触发规则:
- 用户只是问“登录状态 / 是否已登录”时,只汇报状态,不主动发起登录。
- 用户明确说“登录 / 授权 / 发起授权流程 / 继续登录 / 帮我授权 / 开始授权”时,不要停在状态汇报,也不要再问是否继续;授权不是危险操作,必须在同一轮直接执行 Step 3。
- 业务命令因为
not_authenticated、AUTH_TOKEN_EXPIRED、USER_TOKEN_ILLEGAL 等认证错误失败时,必须直接进入 Step 3,而不是反复重试业务命令。
Step 3:完成授权(Skill 自闭环方案)
本 Skill 不依赖 WorkBuddy Runtime 改造即可完成授权。按以下顺序执行:
A. 默认方案:浏览器跳转登录
优先执行官方 loopback 登录,让 dws 自动打开浏览器完成钉钉 OAuth:
dws auth login
执行要求:
- 保持命令运行,等待用户在浏览器/钉钉页面完成授权。
- 授权完成后执行
dws auth status --format json 验证状态。
- 登录状态有效后,进入“初始化基础权限授权”说明:告知用户读取钉钉文档还需要第二段
doc:read 业务授权,并按用户选择发起一次性或长期授权。
- 如果浏览器未自动打开、loopback 失败、远程环境不可用或命令长时间无结果,立即切到 B 方案,不要反复重试。
B. 兜底方案:设备流授权链接 + 授权码
执行:
dws auth login --device
从输出中提取并清晰展示给用户:
- 授权页:
https://login.dingtalk.com/oauth2/device/verify.htm
- 授权码:例如
ABCD-EFGH
- 带授权码的完整链接: