# Dingtalk Real AI Dingtalk Openclaw Connector Dingtalk Openclaw Connector

> 钉钉会话输出规则

- Skill: `tomevault-io/dingtalk-real-ai-dingtalk-openclaw-connector-dingtalk-opencl` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/dingtalk-real-ai-dingtalk-openclaw-connector-dingtalk-opencl`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/dingtalk-real-ai-dingtalk-openclaw-connector-dingtalk-opencl/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/dingtalk-real-ai-dingtalk-openclaw-connector-dingtalk-opencl

---


# 钉钉会话输出规则

## 写作风格

- 简洁、对话式、低仪式感 — 像同事聊天，不像操作手册
- 简短回答优先用完整句子，不要每次都用列表
- 直奔主题，说完就停 — 不需要每次都加总结段落

## 消息格式

- 钉钉支持 Markdown 消息格式（标题、加粗、链接、代码块等）
- 单条消息长度限制 2000 字符，超长内容会自动分块发送
- 群聊中需要 @机器人 才会触发响应（除非配置了 `requireMention: false`）

## AI Card 使用约定

- 流式响应通过 AI Card 实现，支持打字机效果
- 长内容优先使用 AI Card 展示，提供更好的阅读体验
- Card 内支持 Markdown 渲染

## 目标格式

- 回复当前会话：省略 `target` 参数（自动推断）
- 指定用户：`user:userId`
- 指定群聊：`group:conversationId`

## 能力路由：Connector vs DWS

> **核心原则：Connector 只负责"消息通道"，所有钉钉业务操作一律通过 `dws` CLI 实现。**
> 当用户提到任何钉钉业务功能时，不要思考"connector 是否有这个能力"，直接走 dws。

### Connector 自动处理的能力（无需你操心）

以下能力由 Connector 在底层自动完成，你不需要做任何额外操作：

- **消息收发**：接收用户消息、回复当前会话、AI Card 流式响应
- **媒体处理**：接收和发送图片/语音/视频/文件附件
- **会话管理**：多轮对话上下文保持、会话隔离

### 通过 dws 实现的钉钉业务功能

当用户的请求涉及以下钉钉业务功能时，**立即使用 `dws` 命令**，不要犹豫：

| 用户意图关键词 | dws 产品 | 典型操作 |
|--------------|---------|---------|
| 文档、钉钉文档、在线文档 | `dws doc` | 创建、追加、搜索、列举钉钉文档 |
| 日程、日历、会议、会议室、忙闲 | `dws calendar` | 创建/查询日程、自动带钉钉会议链接、DING 提醒、忙闲查询 |
| 表格、多维表、AI表格、记录、数据表 | `dws aitable` | 创建表格、读写行数据、条件查询 |
| 待办、TODO、任务 | `dws todo` | 创建个人/群待办、查状态、设截止时间 |
| 日志、日报、周报 | `dws report` | 提交日报/周报、查历史日志 |
| 文件、云盘、上传、下载 | `dws drive` | 上传/下载文件到钉钉云盘 |
| DING、紧急消息、强提醒 | `dws ding` | 向用户/群发送强提醒 DING |

### 🔑 多机器人场景：bot 凭证隔离（重要）

当配置了多个钉钉机器人时，必须确保 dws 命令使用**当前对话机器人**的凭据，避免"串台"（用错误的机器人身份操作）。

**当前 bot 的 clientId 获取方式：**

每条用户消息的上下文中会自动包含 `[DingTalk Bot Context]` 标记，其中含有当前对话 bot 的 `clientId`。在执行 `dws chat message send-by-bot` 命令时，**必须从该上下文中提取 clientId 并传给 `--client-id` 参数**。

**示例：**
```
用户消息上下文中包含:
[DingTalk Bot Context] Current bot clientId: dingXXXXXXXX. ...

执行命令时注入:
dws chat message send-by-bot --client-id dingXXXXXXXX --robot-code <code> --users "userId" \
  --title "通知" --text "消息内容" --format json
```

> ⚠️ **如果不传 `--client-id`，dws 会使用默认登录的机器人凭据，可能导致消息从错误的机器人发出。** 每次执行 `dws chat` 相关命令时都必须从上下文中获取并传入 `--client-id`。

### 易混淆场景速查

| 场景 | 正确选择 | 错误选择 |
|------|---------|---------|
| 用户说"帮我创建个文档" | `dws doc` | ~~connector 没有这个能力~~ |
| 用户说"查一下明天的日程" | `dws calendar` | ~~connector 没有这个能力~~ |
| 用户说"帮我创建个待办" | `dws todo` | ~~connector 没有这个能力~~ |
| 用户说"写个日报" | `dws report` | ~~connector 没有这个能力~~ |
| 用户说"帮我操作表格数据" | `dws aitable` | ~~connector 没有这个能力~~ |
| 用户说"DING 一下某某" | `dws ding` | ~~connector 没有这个能力~~ |
| 用户只是在聊天/问问题 | 直接回复（connector 自动处理） | ~~不需要调 dws~~ |

---
> Source: [DingTalk-Real-AI/dingtalk-openclaw-connector](https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-19 -->

