AgentSkillsCN

feishu-cli-media

从Markdown文件导入并创建飞书文档,支持嵌套列表、Mermaid/PlantUML图表自动转画板、大表格自动拆分。当用户请求“导入Markdown”、“从md创建文档”、“上传Markdown”时,可使用此技能。

SKILL.md
--- frontmatter
name: feishu-cli-media
description: 素材管理操作。当用户请求上传图片、下载素材、管理飞书文档中的媒体文件时使用。
argument-hint: <subcommand> <file|token> [args]
user-invocable: true
allowed-tools: Bash, Read

飞书素材管理技能

管理飞书云文档中的素材(图片、文件等),包括上传和下载操作。

使用方法

bash
/feishu-media upload <file> --parent-node <doc_id>    # 上传素材
/feishu-media download <file_token> [--output path]    # 下载素材

CLI 命令详解

1. 上传素材

将本地文件上传到飞书云空间,用于文档中的图片或附件。

bash
# 上传图片到文档
feishu-cli media upload ./image.png --parent-type docx_image --parent-node <document_id>

# 上传文件到文档
feishu-cli media upload ./attachment.pdf --parent-type docx_file --parent-node <document_id>

# 指定文件名
feishu-cli media upload ./photo.jpg --parent-type docx_image --parent-node <doc_id> --name "封面图"

# JSON 格式输出
feishu-cli media upload ./image.png --parent-type docx_image --parent-node <doc_id> --output json

参数说明

参数说明必需示例
file本地文件路径./image.png
--parent-type父类型docx_image
--parent-node父节点 Token文档 ID
--name自定义文件名封面图
--output输出格式json

parent-type 类型

说明
docx_image新版文档图片(推荐,默认值)
docx_file新版文档文件
doc_image旧版文档图片(不推荐,DocX 文档中会失败)
doc_file旧版文档文件
sheet_image表格中的图片
comment_image评论中的图片

输出示例

code
素材上传成功!
  文件 Token: boxcnAbCdEfGhIjKlMnOpQrSt
  文件名: image.png
  父节点: doccnXxx

JSON 输出

json
{
  "file_token": "boxcnAbCdEfGhIjKlMnOpQrSt",
  "file_name": "image.png",
  "parent_node": "doccnXxx"
}

2. 下载素材

从飞书云空间下载文件或图片。

bash
# 下载到当前目录(使用原文件名)
feishu-cli media download <file_token>

# 下载到指定路径
feishu-cli media download <file_token> --output ./downloads/image.png

# 下载到指定目录(自动命名)
feishu-cli media download <file_token> --output ./downloads/

参数说明

参数说明必需默认值
file_token文件 Token-
--output, -o输出路径当前目录

输出示例

code
已下载到 ./downloads/image.png
  文件大小: 256 KB
  文件类型: image/png

典型工作流

上传图片到文档

bash
# 1. 上传图片
feishu-cli media upload ./diagram.png --parent-type docx_image --parent-node doccnXxx --output json
# 返回: {"file_token": "boxcnYyy"}

# 2. 在 Markdown 中引用(导入时自动处理)
# ![图片](boxcnYyy)

批量下载文档图片

bash
# 1. 导出文档并下载图片
feishu-cli doc export doccnXxx -o doc.md --download-images --assets-dir ./images

# 或手动下载
feishu-cli media download boxcnToken1 -o ./images/
feishu-cli media download boxcnToken2 -o ./images/

迁移文档图片

bash
# 1. 从源文档下载图片
feishu-cli media download <old_token> -o /tmp/img.png

# 2. 上传到新文档
feishu-cli media upload /tmp/img.png --parent-type docx_image --parent-node <new_doc_id>

支持的文件格式

图片

  • PNG, JPG, JPEG, GIF, BMP, SVG, WEBP

文件

  • PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX
  • ZIP, RAR, 7Z
  • TXT, MD, CSV
  • 其他常见格式

文件大小限制

类型大小限制
图片20 MB
文件512 MB

权限要求

  • drive:drive:readonly - 下载文件
  • drive:drive - 上传文件

注意事项

  1. Token 获取:图片 Token 可从文档导出的 Markdown 中提取
  2. 临时链接:通过 API 获取的图片链接有时效性(通常 24 小时)
  3. 批量操作:建议使用 doc export --download-images 批量下载文档图片
  4. 格式转换:飞书可能对上传的图片进行格式转换和压缩
  5. 默认值变更(v1.4.1)--parent-type 默认值已从 doc_image 改为 docx_image,旧值在 DocX 文档中会导致上传失败