Install
openclaw skills install dingtalk-doc-enterprise钉钉文档操作技能。仅在消息明确包含 `alidocs.dingtalk.com`、`钉钉文档`、`钉钉知识库`、`alidocs`,或当前上下文已明确对象是钉钉文档时使用。支持 read/blocks/update/append-text/delete 命令,不支持 create。
openclaw skills install dingtalk-doc-enterprise使用同目录脚本 doc-enterprise.js 调用钉钉文档企业 API。OpenClaw 不会因为目录里存在 .js 文件就自动执行它;当任务命中本 skill 时,应按下面规则主动调用脚本。
只有在已经确认对象是钉钉文档时,同时消息包含以下任一关键词时,优先使用本 skill:
| 类别 | 关键词 |
|---|---|
| 平台名 | 钉钉文档、钉钉知识库、alidocs |
| 读取类 | 总结、读取、查看、浏览、列出结构 |
| 修改类 | 更新、修改、追加、删除、覆写 |
| 对象 | 文档、链接、这篇、这个文档 |
组合示例:
| 场景 | 示例 | 动作 |
|---|---|---|
| 钉钉文档链接 | alidocs.dingtalk.com/i/nodes/xxx | 自动识别,调用 read 或 blocks |
| 钉钉上下文 + 链接 | "总结 https://alidocs.dingtalk.com/..." | 根据意图选择命令 |
| 明确命令 | "总结这篇文档"、"读取这个 alidocs 链接" | 根据意图选择命令 |
| 已知上下文是钉钉文档 | 前文已给出 alidocs 链接,后续说"更新文档"、"删除某段" | 调用对应命令 |
| 结构查询 | "列出结构"、"这个 alidocs 有哪些章节" | 调用 blocks |
create)支持以下格式的钉钉文档链接:
https://alidocs.dingtalk.com/i/nodes/<docKey>
https://alidocs.dingtalk.com/i/nodes/<docKey>?utm_scene=person_space
https://alidocs.dingtalk.com/i/nodes/<docKey>?utm_scene=team_space
alidocs.dingtalk.com/i/nodes/<docKey> (无 https)
脚本会自动提取 <docKey> 部分。
必需环境变量:
DINGTALK_CLIENTIDDINGTALK_CLIENTSECRET可选环境变量:
DINGTALK_OPERATOR_ID:默认操作人 unionIdOPENCLAW_SENDER_ID:由 OpenClaw/连接器注入,用于自动识别当前发送者OPENCLAW_SENDER_NAME脚本优先使用 DINGTALK_OPERATOR_ID。若未设置,则尝试使用 OPENCLAW_SENDER_ID 查询 unionId。
脚本文件:doc-enterprise.js
执行时使用绝对路径,形式如下:
node /absolute/path/to/doc-enterprise.js <command> [args]
当本 skill 引用了相对路径文件时,将其相对于 SKILL.md 所在目录解析成绝对路径后再执行。
适用:
执行:
node /absolute/path/to/doc-enterprise.js read <docKey-or-url>
说明:
read 只输出块列表和部分预览文本适用:
blockId执行:
node /absolute/path/to/doc-enterprise.js blocks <docKey-or-url>
说明:
blocks 获取更完整的块结构blocks 的结果,再基于结果总结blockId,先运行 blocks适用:
执行:
node /absolute/path/to/doc-enterprise.js update <docKey-or-url> <markdown>
说明:
update适用:
blockId执行:
node /absolute/path/to/doc-enterprise.js append-text <docKey-or-url> <blockId> <text>
说明:
blockId,先运行 blocksblockId” 不代表不触发本 skill,而是先查结构再执行追加适用:
blockId执行:
node /absolute/path/to/doc-enterprise.js delete <docKey-or-url> <blockId>
说明:
blocks 找到对应 blockIdblockId” 不代表不触发本 skill,而是先查结构再执行删除blockId 时,先运行 blocks。read;做总结或定位块时优先用 blocks。若脚本报以下错误,按对应方式处理:
DINGTALK_CLIENTID 或 DINGTALK_CLIENTSECRET:提示未配置钉钉应用凭证operatorId:提示配置 DINGTALK_OPERATOR_ID,或确认连接器是否传入 OPENCLAW_SENDER_IDforbidden.accessDenied:提示当前用户对该文档无权限docNotExist:提示文档不存在,检查链接或 docKeyblockNotExist:提示块不存在,先重新运行 blocks 核对paramError:提示参数格式错误,优先检查链接与文档 IDcreateread 只适合概览,不足以替代完整正文提取blockIdREADME.mddoc-enterprise.js