← 返回
沟通协作

Dingtalk Docs 0.3.1

管理钉钉云文档中的文档、文件夹和内容。当用户想要创建文档、搜索文档、读取或写入文档内容、创建文件夹整理文档时使用。也适用于用户提到云文档、在线文档、钉钉文档、钉文档等关键词的场景。不要在用户需要操作多维表、管理日程、发消息或处理审批流时触发。
管理钉钉云文档中的文档、文件夹和内容。当用户想要创建文档、搜索文档、读取或写入文档内容、创建文件夹整理文档时使用。也适用于用户提到云文档、在线文档、钉钉文档、钉文档等关键词的场景。不要在用户需要操作多维表、管理日程、发消息或处理审批流时触发。
chayjan
沟通协作 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 566
下载
💾 159
安装
1
版本
#latest

概述

钉钉云文档 Skill

Overview

用户可能要求你创建、搜索、读取或编辑钉钉云文档。操作之间存在严格依赖关系:必须先获取 ID 才能执行后续操作。

严格禁止

  1. 禁止编造 ID -- dentryUuid 必须从返回值中提取,编造 ID 会操作到错误文档或报错
  2. 创建前必须先获取根目录 ID -- 必须先调 get_my_docs_root_dentry_uuid 拿到 rootDentryUuid
  3. 禁止混淆两个创建方法 -- create_doc_under_node 只能创建文档,create_dentry_under_node 支持文件夹/表格/PPT 等多种类型
  4. 写入前必须确认 updateType -- 0=覆盖(清空后写入),1=续写(追加到末尾),搞反会丢数据,不确定时必须先问用户
  5. 禁止只传 ID 读内容 -- 必须拼成完整 URL https://alidocs.dingtalk.com/i/nodes/{dentryUuid}
  6. 禁止在用户说"表格"时默认创建文档 -- 可能要在线表格(accessType="1")或多维表(accessType="7"),不确定必须先问
  7. 禁止传错参数类型 -- accessType 必须是字符串,updateType 必须是数字,类型传错会导致静默失败

可用方法列表

方法用途必填参数
---------------------
get_my_docs_root_dentry_uuid获取"我的文档"根目录 ID
list_accessible_documents搜索有权限的文档无 (keyword 选填)
create_doc_under_node创建在线文档name, parentDentryUuid
create_dentry_under_node创建节点 (文档/表格/文件夹等)name, accessType, parentDentryUuid
write_content_to_document写入文档内容 (覆盖或续写)content, updateType, targetDentryUuid
get_document_content_by_url通过 URL 获取文档 Markdown 内容docUrl

意图判断

用户说"创建文档/新建文档/写个文档/帮我建个文档":

  • 创建文档 → 先 get_my_docs_root_dentry_uuid,再 create_doc_under_node
  • 创建到指定文件夹 → 用文件夹的 dentryUuid 作为 parentDentryUuid

用户说"建文件夹/新建目录/整理一下文档":

  • 创建文件夹 → create_dentry_under_node(accessType="13")

用户说"创建表格/建个PPT/做个脑图":

  • 非文档类型 → create_dentry_under_node,accessType: 表格="1",PPT="2",脑图="6",多维表="7"
  • 用户说"表格"但不确定类型 → 先问是在线表格还是多维表

关键区分: 在线表格(accessType="1") vs 多维表(accessType="7") vs 文档(用 create_doc_under_node)

用户说"搜索/找文档/查一下/有没有某个文档":

  • 搜索 → list_accessible_documents(keyword=关键词)

用户说"读文档/看看内容/打开文档/这个文档写了什么":

  • 有 URL → 直接 get_document_content_by_url
  • 有文档名 → 先 list_accessible_documents 搜索,拿到 dentryUuid,拼 URL 再读

用户说"写入/更新内容/编辑文档/往文档里加点东西":

  • 全新内容或替换 → write_content_to_document(updateType=0) 覆盖
  • 追加内容 → write_content_to_document(updateType=1) 续写
  • 不确定 → 问用户是覆盖还是追加

核心工作流

创建文档并写入:

  1. get_my_docs_root_dentry_uuid() → 提取 rootDentryUuid
  2. create_doc_under_node(name, parentDentryUuid=rootDentryUuid) → 提取 dentryUuid
  3. (HARD-GATE: 必须确认 updateType) write_content_to_document(content, updateType=0, targetDentryUuid=dentryUuid) → 提取写入结果
  4. get_document_content_by_url(docUrl="https://alidocs.dingtalk.com/i/nodes/{dentryUuid}") → 验证

搜索并读取:

  1. list_accessible_documents(keyword="关键词") → 提取 docs[].dentryUuid
  2. get_document_content_by_url(docUrl="https://alidocs.dingtalk.com/i/nodes/{dentryUuid}")

创建文件夹并整理:

  1. get_my_docs_root_dentry_uuid() → 提取 rootDentryUuid
  2. create_dentry_under_node(name, accessType="13", parentDentryUuid=rootDentryUuid) → 提取 dentryUuid
  3. create_doc_under_node(name, parentDentryUuid=文件夹dentryUuid)

上下文传递规则

操作从返回中提取用于
-------------------------
get_my_docs_root_dentry_uuidrootDentryUuidcreate_doc_under_node / create_dentry_under_node 的 parentDentryUuid
create_doc_under_nodedentryUuidwrite_content_to_document 的 targetDentryUuid,拼 URL 读内容
create_dentry_under_nodedentryUuid作为子节点的 parentDentryUuid
list_accessible_documentsdocs[].dentryUuid拼成 https://alidocs.dingtalk.com/i/nodes/{dentryUuid} 用于读取

CRITICAL: 参数格式

// [正确] docUrl 必须是完整 URL
{"docUrl": "https://alidocs.dingtalk.com/i/nodes/DnRL6jAJ..."}
// [错误] 只传 ID → 报错
{"docUrl": "DnRL6jAJ..."}

// [正确] accessType 是字符串
{"name": "报表", "accessType": "1", "parentDentryUuid": "xxx"}
// [错误] accessType 传数字 → 静默失败
{"name": "报表", "accessType": 1, "parentDentryUuid": "xxx"}

// [正确] updateType 是数字
{"content": "...", "updateType": 0, "targetDentryUuid": "xxx"}
// [错误] updateType 传字符串 → 静默失败
{"content": "...", "updateType": "0", "targetDentryUuid": "xxx"}

错误处理

  1. 遇到错误: 展示错误信息给用户,不要自行猜测解决方案
  2. "Invalid credentials": 提示用户重新配置凭证
  3. "Permission denied": 提示用户确认对该文档有操作权限
  4. "Document not found": 用 list_accessible_documents 重新搜索确认文档是否存在
  5. 错误码 52600007: 可能是企业账号限制或父节点 ID 无效,确认 parentDentryUuid 来源

详细参考 (按需读取)

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 16:55 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

communication-collaboration

imap-smtp-email

gzlicanyi
使用IMAP/SMTP读取和发送邮件;检查新/未读邮件、获取内容、搜索邮箱、标记已读/未读、发送带附件的邮件。支持...
★ 113 📥 52,404
productivity

Dingtalk

chayjan
DingTalk channel plugin for OpenClaw - send and receive messages via DingTalk (钉钉)
★ 2 📥 3,001
communication-collaboration

Himalaya

lamelas
{"answer":"通过IMAP/SMTP管理邮件的CLI。可在终端使用 `himalaya` 收发、回复、转发、搜索及整理邮件。支持多账户与MML(MIME元语言)编写邮件。"}
★ 68 📥 45,585