/install dingtalk-doc-enterprise
\r \r
钉钉文档企业版\r
\r
使用同目录脚本 doc-enterprise.js 调用钉钉文档企业 API。OpenClaw 不会因为目录里存在 .js 文件就自动执行它;当任务命中本 skill 时,应按下面规则主动调用脚本。\r
\r
何时使用\r
\r
🔑 触发关键词\r
\r 只有在已经确认对象是钉钉文档时,同时消息包含以下任一关键词时,优先使用本 skill:\r \r | 类别 | 关键词 |\r |------|--------|\r | 平台名 | 钉钉文档、钉钉知识库、alidocs |\r | 读取类 | 总结、读取、查看、浏览、列出结构 |\r | 修改类 | 更新、修改、追加、删除、覆写 |\r | 对象 | 文档、链接、这篇、这个文档 |\r \r 组合示例:\r
- "总结一下这篇钉钉文档"\r
- "读取这个 alidocs 链接"\r
- "更新文档内容"\r
- "删除第三段"\r \r
✅ 触发场景(优先级从高到低)\r
\r
| 场景 | 示例 | 动作 |\r
|------|------|------|\r
| 钉钉文档链接 | alidocs.dingtalk.com/i/nodes/xxx | 自动识别,调用 read 或 blocks |\r
| 钉钉上下文 + 链接 | "总结 https://alidocs.dingtalk.com/..." | 根据意图选择命令 |\r
| 明确命令 | "总结这篇文档"、"读取这个 alidocs 链接" | 根据意图选择命令 |\r
| 已知上下文是钉钉文档 | 前文已给出 alidocs 链接,后续说"更新文档"、"删除某段" | 调用对应命令 |\r
| 结构查询 | "列出结构"、"这个 alidocs 有哪些章节" | 调用 blocks |\r
\r
❌ 不触发的场景\r
\r
- 创建新文档(脚本未实现
create)\r - 没有文档链接、docKey、或明确钉钉文档上下文,却要求修改文档\r
- 用户只说“总结文档”“更新这个链接”等泛化请求,但上下文无法确认对象是钉钉文档\r
- 与钉钉无关的文档系统,例如本地 Markdown、飞书文档、语雀、Google Docs\r \r ---\r \r
🔑 链接识别规则\r
\r 支持以下格式的钉钉文档链接:\r \r
https://alidocs.dingtalk.com/i/nodes/\x3CdocKey>\r
https://alidocs.dingtalk.com/i/nodes/\x3CdocKey>?utm_scene=person_space\r
https://alidocs.dingtalk.com/i/nodes/\x3CdocKey>?utm_scene=team_space\r
alidocs.dingtalk.com/i/nodes/\x3CdocKey> (无 https)\r
```\r
\r
脚本会自动提取 `\x3CdocKey>` 部分。\r
\r
## 运行前提\r
\r
必需环境变量:\r
\r
- `DINGTALK_CLIENTID`\r
- `DINGTALK_CLIENTSECRET`\r
\r
可选环境变量:\r
\r
- `DINGTALK_OPERATOR_ID`:默认操作人 unionId\r
- `OPENCLAW_SENDER_ID`:由 OpenClaw/连接器注入,用于自动识别当前发送者\r
- `OPENCLAW_SENDER_NAME`\r
\r
脚本优先使用 `DINGTALK_OPERATOR_ID`。若未设置,则尝试使用 `OPENCLAW_SENDER_ID` 查询 unionId。\r
\r
## 执行入口\r
\r
脚本文件:`doc-enterprise.js`\r
\r
执行时使用绝对路径,形式如下:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js \x3Ccommand> [args]\r
```\r
\r
当本 skill 引用了相对路径文件时,将其相对于 `SKILL.md` 所在目录解析成绝对路径后再执行。\r
\r
## 命令映射\r
\r
### 1. 读取文档概览\r
\r
适用:\r
\r
- 用户只说“读取这篇文档”\r
- 用户贴了一个文档链接,想先快速看内容概况\r
\r
执行:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js read \x3CdocKey-or-url>\r
```\r
\r
说明:\r
\r
- `read` 只输出块列表和部分预览文本\r
- 适合快速探测,不适合直接拿来做高质量总结\r
\r
### 2. 获取完整结构或用于总结\r
\r
适用:\r
\r
- 用户要求“总结这篇文档”\r
- 用户要求“列出结构”\r
- 后续操作需要 `blockId`\r
\r
执行:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js blocks \x3CdocKey-or-url>\r
```\r
\r
说明:\r
\r
- 优先用 `blocks` 获取更完整的块结构\r
- 做总结前,先读取 `blocks` 的结果,再基于结果总结\r
- 删除或追加前,如果用户没有给出 `blockId`,先运行 `blocks`\r
\r
### 3. 覆写整篇文档\r
\r
适用:\r
\r
- 用户明确要求“更新整篇文档”\r
- 用户给出了新的 Markdown 内容\r
\r
执行:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js update \x3CdocKey-or-url> \x3Cmarkdown>\r
```\r
\r
说明:\r
\r
- 这是整篇覆写,不是局部编辑\r
- 若用户只是想在末尾补一段,不要用 `update`\r
\r
### 4. 追加文本到段落块\r
\r
适用:\r
\r
- 用户要求在某个已知段落块后追加文本\r
- 已经拿到了目标 `blockId`\r
\r
执行:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js append-text \x3CdocKey-or-url> \x3CblockId> \x3Ctext>\r
```\r
\r
说明:\r
\r
- 如果没有 `blockId`,先运行 `blocks`\r
- 仅在目标块确实是段落块时使用\r
- “没有 `blockId`” 不代表不触发本 skill,而是先查结构再执行追加\r
\r
### 5. 删除块元素\r
\r
适用:\r
\r
- 用户明确要求删除某一段或某个块\r
- 已经拿到了目标 `blockId`\r
\r
执行:\r
\r
```bash\r
node /absolute/path/to/doc-enterprise.js delete \x3CdocKey-or-url> \x3CblockId>\r
```\r
\r
说明:\r
\r
- 删除前先确认目标块,避免误删\r
- 如果用户说“删除第 3 段”,先运行 `blocks` 找到对应 `blockId`\r
- “没有 `blockId`” 不代表不触发本 skill,而是先查结构再执行删除\r
\r
## 工作流程\r
\r
1. 从用户消息中提取文档链接或 docKey。\r
2. 先确认对象确实是钉钉文档,再判断是读取、总结、列结构、覆写、追加,还是删除。\r
3. 需要 `blockId` 时,先运行 `blocks`。\r
4. 读取概览用 `read`;做总结或定位块时优先用 `blocks`。\r
5. 执行脚本后,把结果用自然语言返回给用户。\r
\r
## 错误处理\r
\r
若脚本报以下错误,按对应方式处理:\r
\r
- 缺少 `DINGTALK_CLIENTID` 或 `DINGTALK_CLIENTSECRET`:提示未配置钉钉应用凭证\r
- 缺少 `operatorId`:提示配置 `DINGTALK_OPERATOR_ID`,或确认连接器是否传入 `OPENCLAW_SENDER_ID`\r
- `forbidden.accessDenied`:提示当前用户对该文档无权限\r
- `docNotExist`:提示文档不存在,检查链接或 docKey\r
- `blockNotExist`:提示块不存在,先重新运行 `blocks` 核对\r
- `paramError`:提示参数格式错误,优先检查链接与文档 ID\r
\r
## 限制\r
\r
- 当前脚本未实现创建文档,不要承诺或尝试 `create`\r
- `read` 只适合概览,不足以替代完整正文提取\r
- 追加和删除依赖 `blockId`\r
- 覆写会直接替换整篇文档内容\r
\r
## 参考\r
\r
- 背景说明与人工阅读材料:`README.md`\r
- 实际执行脚本:`doc-enterprise.js`\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dingtalk-doc-enterprise - After installation, invoke the skill by name or use
/dingtalk-doc-enterprise - Provide required inputs per the skill's parameter spec and get structured output
What is dingtalk-doc-enterprise?
钉钉文档操作技能。仅在消息明确包含 `alidocs.dingtalk.com`、`钉钉文档`、`钉钉知识库`、`alidocs`,或当前上下文已明确对象是钉钉文档时使用。支持 read/blocks/update/append-text/delete 命令,不支持 create。 It is an AI Agent Skill for Claude Code / OpenClaw, with 186 downloads so far.
How do I install dingtalk-doc-enterprise?
Run "/install dingtalk-doc-enterprise" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is dingtalk-doc-enterprise free?
Yes, dingtalk-doc-enterprise is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does dingtalk-doc-enterprise support?
dingtalk-doc-enterprise is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created dingtalk-doc-enterprise?
It is built and maintained by Ash (@shyzhen); the current version is v1.0.6.