5.4 KiB
name, description, cli_version, metadata
| name | description | cli_version | metadata | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dingtalk-sheet | 钉钉电子表格。Use when 用户说 电子表格/工作表/单元格读写/单元格追加/查找/公式/超链接/插入图片/浮动图片/sheet。Distinct from dingtalk-aitable(AI表格/多维表/字段类型)、dingtalk-doc(普通文档)。命令前缀:dws sheet。 | >=0.2.14 |
|
钉钉电子表格 Skill
🧪 EXPERIMENTAL · 试验版 / Preview — multi 模式当前未达 stable 标准。20 个 dingtalk-* skill 全部通过 dispatch verifier,但接口、命名、跨 skill 引用后续可能调整;生产 / 共享环境请优先使用 mono 模式(
dws skill setup --mode mono)。问题请提 issue 反馈。
PREREQUISITE: Read the
dws-sharedskill first for auth, global flags, product routing, URL preflight, error codes, and safety rules. Thedwsbinary must be on PATH.
⚠️ 命令可用性可能因企业服务发现配置而异。本文档列出的命令基于 dws envelope schema 与本仓库 v1.0.30 实测,但部分命令的 cobra 子命令暴露与否还取决于你的企业 MCP gateway 是否注册了对应 tool。如果跑某条命令报
unknown command或 fall back 到父级 help,说明当前账号企业未开通该能力。实际调用前可用dws <cmd> --help或--dry-run验证。
命令参考:sheet.md;URL 识别与类型探测:url-patterns.md。
开放平台文档 RAG / 错误码排查
- 任何产品执行中,只要用户问开放平台 API、接口参数、字段含义、权限点、回调、SDK、配额、错误码,或命令返回上游 OpenAPI/SDK 错误,必须先用
dws devdoc article search --query "<关键词>" --format json做官方文档 RAG。 - 查询词优先保留原始 API 名、能力名、权限点、完整错误码和 message;首轮形如
errcode <code> <message>,无结果再换<产品/场景> <错误码>、<接口名> 参数。 - 本地 CLI 错误(如
unknown command/unknown flag/ 认证 / recovery)仍按 rootdws/dws-shared的错误处理执行;devdoc用于开放平台业务错误码和接口语义排查。 devdoc只查钉钉开放平台开发者文档,不查业务数据;排查结论必须基于命中条目的标题、摘要或链接,不能编造错误原因或不存在的命令。
URL 预检(含 alidocs URL 时必读)
输入含 alidocs.dingtalk.com URL 时,该域名下存在多种路径格式:/i/p/...(分享短链)、/i/nodes/...(节点链接,类型需探测)、/spreadsheetv2/...(电子表格直链,直接路由到 sheet)、/document/edit|preview?dentryKey=...(文档链接,路由到 dingtalk-doc)等。必须先读 url-patterns.md 中的「alidocs URL 分流决策」,按规则识别 URL 类型;仅当确认是在线电子表格(/spreadsheetv2/... 或 i/nodes/ 且 probe 出 contentType=ALIDOC + extension=axls)时,才继续走本 skill 的命令。
意图表
| 用户说 | 命令 |
|---|---|
| "创建电子表格" | dws sheet create --name "<标题>" |
| "新建工作表" | dws sheet new --node <nodeId或URL> --name "<sheet名>" |
| "读取单元格" | dws sheet range read --node <nodeId或URL> --sheet-id <sheetId> --range A1:B2 |
| "写入单元格" | dws sheet range update --node <nodeId或URL> --sheet-id <sheetId> --range A1:B2 --values '[[..]]' |
| "追加一行" | dws sheet append --node <nodeId或URL> --sheet-id <sheetId> --values '[[..]]' |
| "查找 / 替换" | dws sheet find --node <nodeId或URL> --sheet-id <sheetId> --find "<关键词>" / dws sheet replace --node <nodeId或URL> --sheet-id <sheetId> --find "<旧值>" --replacement "<新值>" |
| "插入图片到单元格" | dws sheet write-image --node <nodeId或URL> --sheet-id <sheetId> --range A1 --resource-id <attachmentId>(或 --resource-url <url>) |
URL 与 ID 前置
- 用户直接粘贴
alidocs.dingtalk.comURL 时,先执行dws doc info --node "<URL>" --format json探测;只有contentType=ALIDOC且extension=axls才继续走sheet。 spreadsheetv2链接不要截取短 path segment,必须把完整 URL 原样传给--node。- 写入类命令必须先用
dws sheet list --node <nodeId或URL> --format json取得真实sheetId;不要猜Sheet1、sheet1、0。 - 所有 sheet 子命令使用
--node参数;不要写--node-id、--file-id或把 JSON 字段名id当成节点值传入。
评测高频硬约束
sheet create后必须从返回结果提取真实nodeId或文档 URL,后续range update/read原样传给--node;如果返回里同时有nodeId和url,优先用nodeId。- 写入区域前先
sheet list --node <nodeId> --format json获取真实sheetId;写入后立即range read同一区域验证。 range update的--values必须是二维 JSON,行列数量与--range完全一致;批量样式用range batch-set-style --batch <json文件>。- 同一参数错误最多纠正 2 次;若持续
nodeId 格式不合法,回到doc info --node <URL>或sheet create返回重新取 ID,不要无意义重试。
跨产品协作
- 多维表 / 字段类型 → 切到
dingtalk-aitable - 把表数据写进文档 → 切到
dingtalk-doc