Files
修雨 2dbbca1ec9 docs(skill): align dws skill references with the real CLI
Every documented command / flag / example now matches `dws <svc> --help`:
- drop phantom commands (attendance class/group/vacation/..., contact label,
  ding message list/receiver-status) that map to undeployed tools.
- fix runtime-failure flags (mail --body→--content, doc/calendar/minutes
  pagination, chat send-by-bot @-flags, wiki member --users).
- route role/duty "who is responsible" queries to `aisearch person --dimension
  duty` instead of the removed `contact label`.
- realign the multi/dingtalk-report skill to entry submit / inbox list / outbox
  list.
2026-06-29 10:53:03 +08:00

6.4 KiB
Raw Permalink Blame History

意图路由指南

当用户请求难以判断归属哪个产品时,参考本指南。

易混淆场景快速对照表

用户说... 真实意图 应该用 不要用 理由
"搜一下 OAuth2 接入文档" 搜索开发文档 devdoc — 搜索开放平台技术文档,不是钉钉内部内容
"查询开放平台 API 错误码/字段说明" 搜索开放平台接口文档 devdoc — 查 API 用法和错误码
"查工作台应用 appXYZ 的详情" 查询钉钉工作台应用 workbench app — appXYZ/app001 是工作台 app id
"帮我创建一个应用" 应用类型不明确 先追问 — 缺少工作台/AI/MCP 等上下文,不能默认
"做一个 AI 应用" AI 应用/智能体需求不明确 先追问或转对应能力 — 需求不明确时不默认走任何创建命令
"创建 MCP 服务并配置 HSF tool" MCP 平台工具配置 OpenDev MCP 平台流程 — 这是 connector/tool 配置
"帮我建一个项目跟踪表" 创建数据表格 aitable todo 涉及结构化数据/行列操作,不是个人待办
"帮我记一下明天要做的事" 创建个人待办 todo aitable 个人待办提醒,非数据表
"帮我建一个明天下午的日程" 日历日程 calendar — 日历日程管理(可含参与者/会议室)
"帮我看看收到的日报" 日志收件箱 report todo 钉钉日志系统(日报/周报),不是待办
"帮我创建一个待办提醒" 个人待办 todo report 个人任务提醒,不是日志汇报
"帮我提交请假审批" 发起审批 oa — 审批流程,不是待办或日志
"帮我建一个项目群" 创建群聊 chat group create — 群聊管理,不是日历日程
"把张三拉进群" 添加群成员 chat group members add — 先查 userId,再添加
"让机器人在群里发个通知" 机器人群发 chat message send-by-bot chat message send-by-webhook 企业内部机器人发消息,需 robotCode
"通过 Webhook 发告警到群里" Webhook 告警 chat message send-by-webhook chat message send-by-bot 自定义机器人 Webhook,需 token
"给张三发一条机器人单聊消息" 机器人单聊 chat message send-by-bot --users — 机器人批量单聊,先查 userId

典型场景详解

1. aitable vs todo — 表格数据 vs 待办任务

用 aitable 的场景:

  • "创建一个表格记录团队成员信息" — 结构化数据,有行列
  • "在表格里加一列'状态'字段" — 字段/列操作
  • "查一下表格里所有优先级为高的记录" — 数据筛选和查询
  • "用项目管理模板建一个表" — 模板创建
  • 用户提到"多维表"、"Base"、"数据表"、"记录"

用 todo 的场景:

  • "帮我记一下这周要做的事" — 个人任务管理
  • "创建一个待办提醒" — 任务提醒

判断关键:有没有行列/字段/记录概念?有→ aitable;个人任务清单 → todo


2. devdoc vs workbench — 应用泛词消歧

应用 是泛词,不能直接等价为某个产品。

用 devdoc 的场景:

  • "开放平台 API 怎么调用" — 接口文档
  • "错误码/字段说明/接口参数" — 文档检索

用 workbench app 的场景:

  • "工作台应用/钉钉工作台上的应用"
  • "应用 app001/appXYZ 的详情"

先追问的场景:

  • "创建应用/做个应用/查应用" 但没有工作台、文档、AI、MCP 等上下文
  • "AI 应用/智能体" 但没有说明是哪种产品能力
  • "MCP 服务/connector/HSF tool" 属于平台配置流程,不要转成任何创建命令

判断关键:是否在查 API 文档?是 → devdoc。是否在查钉钉工作台入口应用?是 → workbench app。仍不明确 → 追问,不调用写命令。


3. devdoc — 开发文档搜索

用 devdoc 的场景:

  • "API 调用报错 403 怎么解决" — 走 devdoc error diagnose
  • "requestId 15r6h45w0muec 为什么失败" — 走 devdoc error diagnose --request-id ...
  • "搜一下 OAuth2 接入文档" — 开放平台技术文档
  • "CLI 命令出错了怎么办" — CLI 使用错误
  • 用户提到"开发"、"API"、"接口文档" → devdoc article search
  • 用户提到"调用错误"、"错误码"、"requestId"、"traceId" → devdoc error diagnose

4. report vs todo — 日志 vs 待办

用 report 的场景:

  • "帮我看看收到的日报" — 日志收件箱
  • "帮我写/提交今天的日报(钉钉日志模版)" — 先 report template list / template get,再 report entry submit --contents-file <tmp>.json
  • "有什么日志模版" — 查看模版
  • "看看这个日志的已读统计" — 阅读状态
  • "我发过的日志有哪些" — 已发送列表 (report outbox list)
  • 用户提到"日报"、"周报"、"日志"

用 todo 的场景:

  • "记一下这周要做的事" — 个人任务管理

判断关键:钉钉日志系统(日报/周报模版,含按模版创建汇报)→ report;任务清单→ todo


5. chat 内部 — 两种消息发送方式

用 chat message send-by-bot 的场景:

  • "让机器人在群里发一条通知" — 机器人身份发群消息
  • "给张三发一条机器人单聊消息" — 机器人批量单聊

用 chat message send-by-webhook 的场景:

  • "通过 Webhook 发告警到群里" — 自定义机器人 Webhook
  • 用户有 Webhook Token

判断关键:企业内部机器人→ send-by-bot(需 robotCode);有 Webhook Token→ send-by-webhook


跨产品工作流路由

以下场景需要多个产品配合完成,注意上下文传递顺序。

创建日程并邀请同事(contact → calendar)

用户说"约张三明天下午开会":

# 1. 搜索同事 userId
dws contact user search --query "张三" --format json

# 2. 创建日程
dws calendar event create --title "会议" \
  --start "2026-03-15T14:00:00+08:00" --end "2026-03-15T15:00:00+08:00" --format json

# 3. 添加参与者
dws calendar participant add --event <EVENT_ID> --users <USER_ID> --format json

创建待办并指派(contact → todo)

用户说"给张三建个待办":

# 1. 搜索同事 userId
dws contact user search --query "张三" --format json

# 2. 创建待办
dws todo task create --title "任务内容" --executors <USER_ID> --format json