Skip to main content

dws

【何时用:仅当用户明确指向钉钉/DingTalk(钉钉文档、钉钉日程等)时使用;泛指做文档/表格/待办/审批默认走本地工具,不要误用钉钉】用 dws CLI 管理钉钉:AI表格/AI搜问(找人首选)/目标管理(Agoal)/组织大脑/日历/通讯录/群聊与机器人消息/待办/审批/考勤/日志(日报周报)/DING消息/钉钉文档/云盘/Markdown文件/AI听记/邮箱/在线电子表格(axls)/知识库/白板/开放平台文档/个人IM与OA事件订阅。用户要求操作上述钉钉产品时使用。

الانتقال إلى التثبيت

معلومات المصدر

المستودع
Pinvou/pinvou-agent
آخر نشاط في المصدر
١٦ سبتمبر ٢٠٢٦ في ٠٦:٠٦
لغة SKILL.md المكتشفة
الصينية
النجوم
١٬٩٧٧
التفرعات
٢٨٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
100 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
dws
description
【何时用:仅当用户明确指向钉钉/DingTalk(钉钉文档、钉钉日程等)时使用;泛指做文档/表格/待办/审批默认走本地工具,不要误用钉钉】用 dws CLI 管理钉钉:AI表格/AI搜问(找人首选)/目标管理(Agoal)/组织大脑/日历/通讯录/群聊与机器人消息/待办/审批/考勤/日志(日报周报)/DING消息/钉钉文档/云盘/Markdown文件/AI听记/邮箱/在线电子表格(axls)/知识库/白板/开放平台文档/个人IM与OA事件订阅。用户要求操作上述钉钉产品时使用。
cli_version
>=1.0.61
metadata
{"requires":{"bins":["dws"]},"cliHelp":"dws --help"}
# 钉钉全产品 Skill 通过 `dws` 命令管理钉钉产品能力。 > ⚠️ 命令与 flag 以当前 dws 二进制为准:`dws <cmd> --help` 是 Cobra flags 事实源,Agent 选命令/参数约束/安全确认以 leaf Schema(`--compact`)为准,与本文档冲突时以二者为准。 ## 严格禁止 (NEVER DO) - 不要使用 dws 命令以外的方式操作钉钉业务数据(禁止 curl、HTTP API、浏览器)。**例外**:① aitable 导入/导出/附件上传链路返回的预签名 `uploadUrl`/`downloadUrl`(`import upload` 申请的上传凭证、`export data` 返回的下载地址、`attachment upload` 返回的上传地址)允许用 curl 直传/直下(见 [aitable-export-import.md](./references/products/aitable/aitable-export-import.md) 与 [aitable-attachment.md](./references/products/aitable/aitable-attachment.md));② 按 [openapi-explorer.md](./references/products/openapi-explorer.md) 读取官方 `open.dingtalk.com/llms.txt` 文档并生成受限的 `dws api` 调用。除此之外禁止 - 不要编造 UUID、ID 等标识符,必须从命令返回中提取 - 不要猜测字段名/参数值,操作前必须先查询确认 ## 严格要求 (MUST DO) - 所有命令必须加 `--format json` 以获取可解析输出 - 危险操作必须先向用户确认,用户同意后才加 `--yes` 执行 - 直接调用 dws 批量接口(如 `record update`)时单次硬上限 100 条(各 record 分册同);Agent 直连建议每批 ≤30 条以便失败重试;使用 [scripts/import_records.py](./scripts/import_records.py) 批量导入时按脚本默认 50 条/批(其 `DEFAULT_BATCH_SIZE=50`,上限 100) - 所有命令必须**严格遵循**对应产品参考文档里面规定的参数格式(参数与参数值之间用空格隔开) - **脚本只用于明确覆盖的复合任务**:[scripts/](./scripts/) 下的脚本可封装 AI 表格批量导入导出、钉盘目录树等流程;当公开 `+` Shortcut 已提供目标唯一解析、分页/部分失败 ledger 和确认语义时,优先 Shortcut。Chat 历史导出与机器人广播已完全下沉 Runtime,不再发布兼容脚本 - **脚本调用约定**:统一用 `python3` 调用(多数 macOS/Linux 环境没有裸 `python` 命令);文档中的 `scripts/...` 是相对本 Skill 根目录(`SKILL.md` 所在目录)的路径,实际执行时应拼成完整路径(如 `python3 <Skill根目录>/scripts/attendance_report_monthly.py ...`),**不要假设当前工作目录(CWD)已在 Skill 根目录** - **实时个人事件例外**:普通 IM 消息、reaction、已读和撤回默认走 `dws event +listen-im ...`;OA 审批、VoIP 通话邀请、Todo、群生命周期、明确的原始 EventKey、Filter DSL、subscribe_id 或原始 envelope 使用 `dws event consume ... --flatten`。不要写脚本轮询消息历史、审批列表、通话记录或待办列表 ## Shortcut 与原子命令的使用原则 `shortcut` 是对常用操作的高层封装,适合优先承担用户意图;产品参考文档和本 skill 负责判断意图、风险、跨产品流程和复杂参数,CLI 帮助负责声明当前版本真正可调用的命令。 - 先按产品参考、意图表和 recipe 路由。用户意图可由可见 Shortcut 满足时,优先使用 `dws <service> +<verb> ... --format json`,不要手写等价的多步原子命令。只有脚本明确补足 Shortcut 未覆盖的复合交付物且其安全/完整性契约仍适用时才选择脚本。 - 公开内建 shortcut 同时进入 Runtime Schema。用 `dws schema --cli-path "<service> +<verb>" --compact --format json` 读取 Agent 选择、参数、跨参数约束和 risk/confirmation;只有参数映射、接口绑定或 provenance 审计才通过 `--jq` 精确读取 full leaf;`dws shortcut list --service <service> --format json` 只作为轻量批量发现入口。 - 真正组装参数前用叶子帮助 `dws <service> +<verb> --help` 核对当前 Cobra 接受的 flags。父级 `dws <service> --help` 只能发现子命令,不能替代叶子参数帮助。 - shortcut catalog 中 `confirmation=user_required` 时,必须先获得用户确认,确认后才加 `--yes`;`not_required` 不额外确认。 - 如果 shortcut 不在 help / list 中,改用产品参考里的原子命令、脚本或标准流程;不要猜测未展示的 `+` 命令。 - shortcut 失败时按“错误处理”流程先加 `--verbose` 复查;若仍失败,应记录具体输入、输出、trace / endpoint / tool 信息。 <!-- VISIBLE_SHORTCUTS_OVERVIEW_START --> ## Shortcut 总览 下面只统计当前公开 catalog 中的 shortcut,不展开完整明细。已知意图应先按产品 Skill、意图表或任务 reference 选择唯一命令;命令已选中时直接执行,只在参数或安全语义不确定时读取 leaf Schema,在当前 Cobra flags 不确定时读取 leaf Help。仅当现有路由和 reference 都无法定位低频能力时,才用 `dws shortcut list --service <service> --format json` 做最后回退;不要为已知高频意图加载完整产品 Catalog。 | 服务 | shortcut 数 | |---|---:| | `agoal` | 5 | | `aisearch` | 1 | | `aitable` | 100 | | `attendance` | 8 | | `calendar` | 27 | | `chat` | 98 | | `contact` | 13 | | `devapp` | 25 | | `ding` | 1 | | `doc` | 45 | | `drive` | 28 | | `mail` | 8 | | `minutes` | 29 | | `oa` | 1 | | `pat` | 1 | | `report` | 4 | | `sheet` | 2 | | `todo` | 20 | | `whiteboard` | 2 | | `wiki` | 20 | <!-- VISIBLE_SHORTCUTS_OVERVIEW_END --> ## 多组织 / 多账号 - `dws profile list --format json` 默认返回全部账号。自动化只使用每项稳定的 `profile=corpId:userId`;`status/expiresAt/refreshExpAt` 来自真实身份 Token,列表不触发刷新。 - 输入支持 `corpId:userId`、`corpId:userName`、`corpName:userId`、`corpName:userName`,也兼容单独的 corpId、唯一 corpName 和本地 profile 名。名称只用于输入;重名时必须按报错候选改用 `corpId:userId`。 - 只传组织时使用该组织明确记录的 `isOrgCurrent=true` 账号。多账号组织没有默认账号时必须让用户指定账号;禁止选择第一项、最近登录或最近使用账号。 - 不传 `--profile` 使用全局 `isCurrent=true` 账号。`primaryProfile/isPrimary` 仅兼容输出,不参与选择;`previousProfile` 只用于 `profile switch -`。 - 跨组织读 / 搜:按 `corpId` 去重;每个组织使用唯一 `isOrgCurrent=true` 的 `profile`。组织存在多个账号且没有默认账号时先询问用户。写 / 发 / 删 / 撤回及持久切换前先确认目标组织和账号。 ## 产品总览 | 产品 | 用途 | 参考文件 | |-------------------|------------------------------------------------------|----------------------------------------------------------------| | `agoal` | 目标管理:战略解码/经营合约/计分卡/用户目标/目标模板/周月报 | [agoal.md](./references/products/agoal.md) | | `aisearch` | AI搜问(通用找人首选):按姓名/部门/职位/职责/上级/下级/手机号/工号维度找人,"谁负责 XX/XX 的负责人/某事项/某项目的人"统一走本产品;不含人才池/绩效/职业历程等专项 HR 场景(那些去 `hrbrain`) | [aisearch.md](./references/products/aisearch.md) | | `aitable` | AI表格:Base/数据表/字段/记录/视图/附件/图表/仪表盘/导入导出/模板搜索 | [aitable.md](./references/products/aitable.md) | | `api` | OpenAPI 逃生舱:官方 llms.txt 分层发现,仅执行企业内部应用 App Token 服务端 API | [openapi-explorer.md](./references/products/openapi-explorer.md) | | `attendance` | 考勤:打卡结果/打卡流水/考勤组查询/考勤规则/汇总统计/假期类型/假期余额(P0 已落地,部分管理类命令仍属 P1) | [attendance.md](./references/products/attendance.md) | | `calendar` | 日历:日历列表/日程/参与者/附件/响应/会议室/闲忙查询/时间建议 | [calendar.md](./references/products/calendar.md) | | `chat` | 群聊与机器人:搜索群/建群/群成员管理/改群名/消息发送(文本/Markdown/图片/文件)/拉取消息/消息收藏/@我/特别关注/机器人群发/单聊/撤回/转发/引用回复/Webhook/机器人搜索 | [chat.md](./references/products/chat.md) | | `contact` | 通讯录:用户查询/部门/角色/花名册(学历/家庭/银行卡/紧急联系人/合同等基础字段)/离职员工/特别关注,以及创建企业、企业账号和邀请员工;不含职业历程/绩效/人才池(那些去 `hrbrain`) | [contact.md](./references/products/contact.md) | | `dev` | 开放平台开发者:应用生命周期/机器人建号与配置/凭证/权限/事件订阅/版本发布审批/本地建联(dev connect);**创建或建联机器人一律走 `dev`,不走 `chat`** | [dev.md](./references/products/dev.md) | | `devdoc` | 开放平台文档:搜索开发文档 | [devdoc.md](./references/products/devdoc.md) | | `ding` | DING消息:发送/撤回(应用内/短信/电话) | [ding.md](./references/products/ding.md) | | `doc` | 钉钉文档:搜索/浏览/读写/块级编辑/评论/文件创建/复制/移动/重命名/**删除/导出 docx/权限管理/媒体上传下载** | [doc.md](./references/products/doc.md) | | `drive` | 钉钉云盘:文件列表/元数据/文件夹/上传(两步)/下载/本地与钉盘文件夹差异比较(status)/拉取到本地(pull)/推送到钉盘(push)/双向同步(sync)/互联网公开发布(publish)/分享链接密码与有效期 | [drive.md](./references/products/drive.md) | | `hrbrain` | 组织大脑:人才池管理/员工档案专项模块查询(元数据/批量数据/标签/职业历程/绩效)/结构化高级人才搜索(原始条件表达式);区别于 `contact` 的基础通讯录档案与 `aisearch` 的通用语义找人 | [hrbrain.md](./references/products/hrbrain.md) | | `markdown` | 原生 Markdown 文件:读取/创建/对比/全量覆盖/局部替换/评论列表 | [markdown.md](./references/products/markdown.md) | | `minutes` | AI听记:听记列表/摘要/关键词/转写/待办/思维导图/发言人/发言人段落总结/热词/录音控制/成员权限/上传 | [minutes.md](./references/products/minutes.md) | | `oa` | OA审批:待处理/详情/同意/拒绝/撤销/记录/已发起/任务/转交/评论/抄送 | [oa.md](./references/products/oa.md) | | `pat` | PAT 行为授权:浏览器策略/scope 预览/一次性、会话或永久授权 | [pat.md](./references/products/pat.md) | | `report` | 日志:按模版创建/收件箱/已发送/模版查看/详情/已读统计 | [report.md](./references/products/report.md) | | `mail` | 邮箱:邮箱地址查询/邮件搜索(KQL)/邮件详情/发送邮件 | [mail.md](./references/products/mail.md) | | `sheet` | 在线电子表格(axls):工作表 CRUD/区域读写/CSV 批量写入/行列增删/合并/查找替换/筛选视图/全局筛选/排序/下拉列表/条件格式/浮动图片/浮动图表/模板/导出 xlsx(单命令一站式) | [sheet.md](./references/products/sheet.md) | | `todo` | 待办:创建(含优先级/截止时间/循环)/查询/修改/标记完成/删除 | [todo.md](./references/products/todo.md) | | `wiki` | 知识库:空间创建/详情/列表/搜索 + 成员管理 + 知识库动态查询 | [wiki.md](./references/products/wiki.md) | | `whiteboard` | 文档内嵌白板:读取 OpenNodes、追加节点、整页重建 | [whiteboard.md](./references/products/whiteboard.md) | | `recruit` | 钉钉招聘:查询职位列表、获取职位详情、创建职位 | [recruit.md](./references/products/recruit.md) | | `event` | 个人 IM/OA/VoIP/Todo 事件:监听消息、群生命周期、审批任务/实例、通话邀请与待办变化,NDJSON 输出(实时驱动 Agent)| [event.md](./references/products/event.md) | ## 意图判断决策树 用户提到"AI应用/创建应用/生成系统/做工具/管理后台/低代码/宜搭" → 产品参考以 [dev.md](./references/products/dev.md) 为准(勿猜 `aiapp` 等未在 dev.md 列出的命令,命令以 `dws dev --help` 实测为准);应用创建/机器人建号与建联流程见该文「典型工作流」 用户提到"目标管理/Agoal/战略解码/经营合约/计分卡/目标模板/周月报提交统计" → `agoal` 用户提到"找人/搜人/谁负责 XX/某事项的负责人/某项目的人/团队成员/上级/下级/按工号找人/按手机号找人" → `aisearch`(通用语义找人;若明确涉及人才池/绩效/职业历程/结构化高级条件,去 `hrbrain`) 用户提到"表格/多维表/AI表格/记录/数据/视图/图表/仪表盘" → `aitable` 用户提到"考勤/打卡/排班" → `attendance` 用户提到"日程/日历/会议室/约会/时间建议" → `calendar` 用户提到"群聊/建群/群成员/群管理/发消息/发图片消息/发文件消息/发 Markdown 消息/截图发钉钉/转发消息/引用回复/@我/特别关注消息/机器人发消息/Webhook/机器人群发/机器人单聊/通知" → `chat` 用户提到"通讯录/同事/部门/组织架构/子部门/部门多少人/离职员工/离职名单/离职花名册/花名册/基础员工档案(学历/家庭/银行卡/紧急联系人/合同)/角色/主管角色/管理员角色/财务/HR/特别关注/星标联系人/创建企业/企业账号/邀请员工/新员工入职" → `contact`(不含职业历程/绩效/人才池;那些去 `hrbrain`) 用户提到"开发/API/调用错误 文档" → `devdoc` 用户提到"未封装 OpenAPI/llms.txt/dws api/Raw API/API 逃生舱" → `dws api`(先查现有产品命令,再读官方 llms.txt) 用户提到"DING/紧急消息/电话提醒" → `ding` 用户提到"钉钉文档/云文档/知识库/读写文档/块级编辑/文档评论/文档复制移动" → `doc` 用户提到"云盘/文件存储/文件上传下载/文件夹/互联网公开/分享链接密码/公开有效期" → `drive` 用户提到"人才池/储备干部池/员工档案元数据或批量模块数据/职业历程/绩效记录/员工标签/组织大脑/结构化人才搜索(高级条件表达式)" → `hrbrain`(区别于 `aisearch` 的通用语义找人与 `contact` 的基础通讯录档案) 用户提到"原生 Markdown 文件/.md 文件/读取 Markdown 原文/覆盖 Markdown/局部替换 Markdown/Markdown 评论" → `markdown` 用户提到"听记/AI听记/会议纪要/转写/摘要/思维导图/发言人/热词" → `minutes` 用户提到"邮箱/邮件/发邮件/收邮件/搜邮件/查邮件/邮件草稿/转发邮件/回复邮件/邮件附件/抄送" → `mail` 用户提到"审批/请假/报销/出差/加班/同意/拒绝/撤销审批" → `oa` 用户提到"PAT 授权/行为权限/scope 授权/批量授权/一次性授权/会话授权/永久授权/授权浏览器策略" → `pat` 用户提到"日志/日报/周报/日志统计/写日报/提交周报/发日志/填日志" → `report` 用户提到"在线电子表格/钉钉表格/axls/工作表/单元格读写/合并单元格/筛选视图/导出 xlsx" → `sheet` 用户提到"待办/TODO/任务提醒/循环待办" → `todo` 用户提到"创建知识库/知识库列表/搜索知识库空间/wiki/团队空间/知识库成员管理/我的文档个人空间" → `wiki` 用户提到"文档内嵌白板/画布/OpenNodes/白板节点/连接线/整页重建白板" → `whiteboard`;创建空白板卡片先走 `doc whiteboard insert` 用户提到"招聘/职位/JD/在招职位/创建职位/职位详情" → `recruit` 用户提到"监听有人@我/监听单聊或群消息/监听所有单聊或群消息/监听某人发送的消息/监听消息已读/监听消息撤回/监听消息贴表情或表情回应/订阅个人 IM 事件/实时接收钉钉事件/监听并自动回复消息/驱动 Agent 处理消息" → `event +listen-im`;群成员加入/退出、群改名/解散或明确原始 EventKey/Filter DSL → `event consume` 用户提到"监听待我审批的任务/监听审批任务创建、完成或转交/监听审批单发起或终止/监听我发起的审批完成/监听审批实例完成/订阅 OA 事件/event consume user_oa_approval_*" → `event consume` 用户提到"收到语音通话邀请时通知我/监听 VoIP 来电/订阅 user_voip_call_receive_invite" → `event consume` 用户提到"监听待办创建/更新/删除/监听指派给我的待办/订阅 Todo 事件/event consume user_todo_task_*" → `event consume`,按角色使用 `--role-types` 普通消息、reaction、已读、撤回监听优先由一个 `dws event +listen-im` 进程表达目标;不同用户、不同群或不同过滤条件拆成独立进程。只有高级事件控制才生成 `dws event consume <event_key> [event_key...] --flatten`。 关键区分: aitable(数据表格) vs todo(待办任务) 关键区分: report(钉钉日志/日报周报) vs todo(待办任务) 关键区分: chat send-by-bot(机器人身份发消息) vs send-by-webhook(自定义机器人Webhook告警) 关键区分: doc(在线富文本文档/adoc) vs markdown(原生 .md 纯文本文件) vs drive(通用文件存储与传输) 关键区分: contact(基础通讯录档案:学历/家庭/银行卡/紧急联系人/合同/部门角色) vs aisearch person(通用语义找人:谁负责/上级/下级/多维度模糊搜索) vs hrbrain(人才池/员工档案专项模块数据/职业历程/绩效/结构化高级人才搜索) 关键区分: oa tasks(审批 taskId,审批/拒绝用) vs oa list-pending(收件箱 processInstanceId,查看用) 关键区分: oa(查询或操作审批) vs event user_oa_approval_*(当前用户审批事件长连接监听) 关键区分: todo(查询或操作待办) vs event user_todo_task_*(当前用户待办事件长连接监听) > 更多易混淆场景见 [intent-guide.md](./references/intent-guide.md) ## 危险操作确认 以下操作为不可逆或高影响操作,执行前**必须先向用户展示操作摘要(操作类型 + 目标对象 + 影响范围)并获得明确同意**,同意后才加 `--yes` 执行。 | 产品 | 命令 | 说明 | |------|------|------| | `aitable` | `base delete` | 删除整个 AI 表格,含全部数据表和记录 | | `aitable` | `table delete` | 删除数据表(含全部字段/视图/记录) | | `aitable` | `field delete` | 删除字段(该列所有值同步清空) | | `aitable` | `view delete` | 删除视图 |
عرض على GitHub
ملف SKILL.md هذا كبير جدا، لذلك يعرض SkillsMP القسم الاول فقط هنا. عرض على GitHub