钉钉群聊与消息。Use when 用户提到 发消息/编辑或撤回消息/单聊/群聊/建群/普通群升级外部群/群昵称/会话分组/群成员管理/@消息/搜索聊天记录/话题回复/收藏消息/机器人群发/Webhook通知/发送或下载消息图片与文件。不做紧急 DING/短信/电话(走 dingtalk-misc)、邮件(走 dingtalk-mail)、班级群(走 dingtalk-misc)。命令前缀:dws chat。
73
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
dws CLI 操作钉钉;结构化读取使用 --format json,按真实返回判断结果。isOrgCurrent=true 默认账号;没有默认账号时要求用户指定,禁止选择第一项、最近登录或最近使用账号。--yes。dingtalk-shared 中对应 reference;不要连续猜测替代命令。chat 当前有 98 条公开 shortcut,完整清单保留在 Runtime Catalog 与 Schema,不在高频产品根 Skill 中重复展开。已知意图直接使用下方的优先路由、意图表或任务 reference;命令已选中时直接执行,只在参数/安全语义不确定时读取 leaf Schema,在当前 Cobra flags 不确定时读取 leaf Help。
仅当现有路由和 reference 都无法定位低频能力时,才执行 dws shortcut list --service chat --format json 做最后回退;不要为已知高频意图加载完整 Shortcut Catalog 或产品级 Schema。
按用户任务选择最小充分入口。公开层按意图分流;Resolver、发送执行、消息投影和错误契约在 Runtime 内复用,不把所有能力塞进一个万能命令。
| 用户意图 | 唯一推荐入口 | 关键边界 |
|---|---|---|
| 按姓名发简单文本或 Markdown | dws chat +dm --to <姓名> --content <内容> | CLI 解析唯一用户;多候选时停止,不先手工查 ID |
| 按群名或 ID 发简单文本或 Markdown | dws chat +send-to-group --group <群名或ID> --content <内容> | 稳定 ID 直接使用;群名多候选时停止 |
| 文件、Bot、Webhook、复杂 @ 或高级发送 | dws chat +messages-send | Bot 多群用 --groups/--groups-file 并检查逐项 ledger |
| 读取指定会话、返回较多消息 | dws chat +chat-messages | 粗粒度读取;目标条件明确时优先 +search-msg |
| 多维度条件搜索(发送者/关键词/@/类型,单/跨会话) | dws chat +search-msg | 目标条件明确时使用 |
| 查看指定群成员(用户/机器人) | dws chat +chat-members-list --group <群名或ID> | 唯一解析并全量读取 |
| 获取群邀请链接 | dws chat +chat-invite-url --group <群名或ID> | 多候选时停止 |
| 查看群机器人 | dws chat +chat-bots --group <群名或ID> | 返回稳定 bots[] |
| 个人收藏表情列表/发送/收藏 | dws chat emotion list/send/favorite | 约束见 leaf Schema |
| 修改群名称 | dws chat group rename --id <openConversationId> --name <新名称> | 只知群名时先用 +chat-search --query <群名> 唯一解析 ID;不猜 +chat-rename |
| 查看指定群内 @我的消息 | dws chat +at-me --group <群名> --page-all | 检查 complete;空结果仍返回数组 |
| 查看全部会话 | dws chat +conversation-list --page-all | 检查 complete / failures |
| 读取并下载消息资源 | 查询命令加 --download-resources | 不另起手工下载循环;下载失败项保留在结果中 |
| 查看置顶会话 | dws chat +conversation-list-top | 会话 Top 与消息 Pin、消息 Top、Favorite 不同 |
| 监听未来 IM 事件 | dingtalk-event | 常规监听走 +listen-im;生命周期/高级控制走 consume |
以下次级入口在意图明确时直接使用,不需要先加载完整 Catalog:
| 用户意图 | 入口 |
|---|---|
| 已知消息 ID 批量读取详情 | dws chat +messages-mget |
| 已知资源引用单独下载 | dws chat +messages-resource-download |
| 按关键词搜索群 | dws chat +chat-search |
| 查看消息收藏 | dws chat +flag-list |
| 引用回复 | 人:dws chat +messages-reply;成功结果保留新消息/会话/投递与原消息来源上下文。Bot 群:dws chat message send-by-bot --conversation-id <cid> --reply <mid> --ref-sender <sid> |
| 撤回当前用户消息 | dws chat +messages-recall --msg-id <openMessageId>;可省略会话 ID,由 CLI 只读补齐;兼容单值 --message-ids |
| 已知话题主消息 ID 或 thread/topic ID 读取回复 | dws chat +thread-replies |
| 按成员 ID 或姓名创建群聊 | dws chat +chat-create;成员/群主均可自然解析,任一歧义都会在创建前整体停止 |
| 跨全部会话查看 @我的消息 | dws chat +at-me --page-all |
+dm:姓名目标的简单文本/Markdown,参数空间最小。+send-to-group:群名或稳定 ID 目标的简单文本/Markdown,避免暴露无关身份矩阵。 才会内联展示;
省略开头的 ! 时只会显示为链接。+messages-send:文件、Bot、Webhook、复杂 @ 或幂等控制。user 已知 ID 可直接传,也可用 --user-query / --chat-query 运行同一只读解析链;Bot 多群使用 --groups/--groups-file,返回 im.batch-write.v1;bot/webhook 只使用下层真实支持的文本/Markdown 能力。+messages-send --file <相对路径>;不要先独立上传并提取 mediaId。+messages-send --as webhook --webhook-token <token>;不要退回原子 Webhook 命令。+messages-send-card;群聊@传 ID/--at-all,Runtime 把 create 返回前缀加到 --content;禁写占位符;仅 text。openTaskId 是发送任务 ID,不是回复或撤回所需的消息 ID;消息 ID 必须来自真实查询结果。resourceRefs;--no-reactions 可关闭 reaction。complete、hasMore、failures 和资源下载 ledger;partial result 不得表述为完整成功。messageId;仅缺会话 ID 时继承父消息的 conversationId。--overwrite。读取和下载不需要 --yes。只在任务命中时读取一个精确 reference:
| 场景 | Reference |
|---|---|
| 需要跨步骤传递真实结果的消息/群组合流程 | 01-messaging.md |
| 消息读取与查询 | message-query |
| 编辑、撤回、回复、转发、Pin、Top、Favorite 或 reaction 写入 | message-actions |
| 位置、联系人名片、底层媒体与资源下载 | message-media |
| 群列表、群搜索、共同群、成员与群内机器人读取 | group-discovery |
| 建群、成员或已知机器人增删、管理员、公告与群设置 | group-admin |
| 搜索未知机器人、机器人消息发送/撤回与 Webhook | chat-bot.md |
| 会话置顶、分类、红点、免打扰和隐藏 | chat-conversation.md |
| 低频意图之间仍需消歧 | intent-guide.md |
| 表情名称与 ID | chat-emoji-list.md |
| 稳定结果、身份矩阵与能力边界 | contracts.md |
| 流式卡片创建 | card/create.md |
| 流式卡片更新 | card/update.md |
| 卡片 callback 是否可用 | card/callback.md |
| 卡片公开 Schema 边界 | card/schema.md |
| 只有上述 reference 仍无法定位的原子能力 | chat.md 的对应章节 |
不要预加载 reference。Shortcut Catalog 只在根路由和精确 reference 都无法定位低频能力时使用。
unknown command / unknown flag:读取精确 leaf Help,修正后最多重试一次。dingtalk-shared 的对应 reference;正常 IM 不读取完整 shared Skill。backend_dependency_unavailable:保持原参数,对只读命令最多重试一次;不要改 flag、猜认证命令或切换同义原子命令,持续失败时保留 Trace ID。e9de685
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.