Files
玉澜 69b8df3e40 fix(skills): reconcile wukong sync with latest main CLI surface
Restore capabilities now supported on main (doc read --scope/--tags,
drive upload --node overwrite, chat category, dingtalk-markdown routing),
remove commands still absent from the open-source CLI (calendar event
instances, sheet info --include, chat group create --owner), remap
folded services (attendance/ding/oa/report/sheet) to dingtalk-misc in
the shortcut generator, and regenerate shortcut sections and schema
metadata.
2026-07-28 20:56:37 +08:00

4.9 KiB
Raw Permalink Blame History

doc export(在线文档导出为 docx/markdown/pdf)

前置条件(MUST READ): 执行本命令前,必须先用 Read 工具读取以下文件:

  1. ../doc.md — 命令路由 + 场景索引 + 意图判断 + 工作流

路由前置判断:用户说「下载/导出」时必须先用 dws drive info --node <ID> --format json 查 extension:

  • extension 为 adoc(在线文档)→ 必须用 export,禁止用 download
  • extension 为其他(txt/pdf/docx/md/xlsx 等)→ 用 dws drive download(详见 ../drive.md)

drive download 只能下载已有文件(原样下载),export 是将在线文档格式转换后导出为 docx、markdown 或 pdf,两者完全不同。


doc export(一体化命令)

Usage:
  dws doc export [flags]
Example:
  dws doc export --node "https://alidocs.dingtalk.com/i/nodes/xxx" --output ./exported.docx
  dws doc export --node <DOC_ID> --output ~/downloads/
  dws doc export --node <DOC_ID> --export-format markdown --output ./exported.md
  # 异步模式:只提交不等待,立即返回 jobId
Flags:
      --node string     要导出的文档标识,支持文档 URL 或 dentryUuid (必填)
      --output string   本地保存路径,文件路径或目录 (必填)
      --export-format string   导出格式,支持 docx(默认)、markdown(或 md)和 pdf

CLI 内部自动完成:提交导出任务 → 渐进式退避轮询(最多约 5 分钟)→ 成功后自动下载文件。 只需一条命令,无需手动轮询。

任务查询:doc export 内部自动轮询直到完成,通常不需要手动查询;仅在超时或中断后用 dws doc export get --job-id <jobId> 兜底查询。


doc export get(手动兜底查询任务)

任务状态:PROCESSING(处理中)/ SUCCESS(导出成功,返回 downloadUrl)/ FAILED(导出失败)。

Usage:
  dws doc export get [flags]
Example:
  dws doc export get --job-id <JOB_ID>
Flags:
      --job-id string   导出任务 ID (必填)

仅在 dws doc export 超时或中断后,用于手动查询任务状态。通常不需要调用。

关键说明

  • export 是一体化命令,一条命令自动完成提交→轮询→下载,无需手动编排轮询。CLI 内部使用渐进式退避轮询(最多约 5 分钟)。
  • export 超时或中断后,CLI 会输出 jobId,可用 dws doc export get --job-id <jobId> 手动查询任务状态。
  • export 支持钉钉在线文档(alidocs,contentType=ALIDOC)导出为 docx、markdown 或 pdf,在线表格导出请使用其他命令。
  • --export-format 支持 docx(默认)、markdown(或 md)和 pdf 三种格式。
  • --output 既可以是文件完整路径,也可以是目录(CLI 自动按文档名生成 .docx、.md 或 .pdf)。
  • doc export get 主参数为 --job-id。

上下文传递

从返回中提取 用于
localPath 用户可访问的本地文件路径(同步模式)
超时/中断时返回的 jobId export get 的 --job-id(查询后取 downloadUrl 获取下载地址)

常用模板

# 一体化导出为 docx(最常用)
dws doc export --node <DOC_ID> --output ./exported.docx

# 导出为 markdown
dws doc export --node <DOC_ID> --export-format markdown --output ./exported.md

# 使用 md 缩写导出为 markdown
dws doc export --node <DOC_ID> --export-format md --output ./exported.md

# 导出为 pdf
dws doc export --node <DOC_ID> --export-format pdf --output ./exported.pdf

# 输出到目录(自动按文档名命名,docx 格式)
dws doc export --node <DOC_ID> --output ~/downloads/

# 输出到目录(markdown 格式,自动生成 .md 扩展名)
dws doc export --node <DOC_ID> --export-format markdown --output ~/downloads/

# alidocs URL 直传
dws doc export --node "https://alidocs.dingtalk.com/i/nodes/<DOC_UUID>" --output ./exported.docx

# 兜底:超时或中断后手动查任务
dws doc export get --job-id <JOB_ID> --format json

输出规范

导出完成后的输出必须遵循以下规则:

  • 仅返回本地文件路径:导出成功后,直接告知用户文件已保存到本地的具体路径
  • 禁止上传 CDN:导出完成后不要调用任何上传命令将文件上传到钉钉 CDN
  • 禁止输出下载链接:不得生成或展示 down.dingtalk.com 等 CDN 下载链接
  • 正确示例:文档已导出到: ./文档名.docx
  • 错误示例:上传文件并展示 CDN 下载链接

参考