lark-drive

飞书云空间:管理云空间中的文件和文件夹。上传和下载文件、创建文件夹、复制/移动/删除文件、查看文件元数据、管理文档评论、管理文档权限、订阅用户评论变更事件、修改文件标题(docx、sheet、bitable、file、folder、wiki);也负责把本地 Word/Markdown/Excel/CSV 以及 Base 快照(.base)导入为飞书在线云文档(docx、sheet、bitable)。当用户需要上传或下载文件、整理云空间目录、查看文件详情、管理评论、管理文档权限、修改文件标题、订阅用户评论变更事件,或要把本地文件导入成新版文档、电子表格、多维表格/Base 时使用。

npx skills add https://github.com/larksuite/cli --skill lark-drive

drive (v1)

CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理

术语说明: 飞书云空间也常被称为"云盘"、"云存储"、"网盘"或"我的空间",这些说法通常指的是同一个产品,是飞书官方的云端文件存储与管理中心。

导入分流规则: 如果用户要把本地 Excel / CSV / .base 快照导入成 Base / 多维表格 / bitable,必须优先使用 lark-cli drive +import --type bitable。不要先切到 lark-baselark-base 只负责导入完成后的表内操作。

快速决策

  • 用户要整理云盘 / 文件夹 / 文档库 / 知识库 / 个人文档库,或要“盘点目录结构、找出未归档/临时/重复/空目录、生成整理方案”,必须先阅读 references/lark-drive-workflow-knowledge-organize.md。默认只生成方案;创建目录、移动资源、申请权限都必须单独确认。
  • 用户要搜文档 / Wiki / 电子表格 / 多维表格 / 云空间(云盘/云存储)对象,优先使用 lark-cli drive +search。自然语言里"最近我编辑过的"、"我创建的"(→ --created-by-me,原始创建者语义)、"我负责/owner 的"(→ --mine,owner 语义)、"最近一周我打开过的 xxx"、"某人 owner 的 docx" 等直接映射到扁平 flag,避免手写嵌套 JSON。
  • 用户要根据文档评论定位正文位置,例如 根据评论 review 文档、根据评论内容回看文档、区分多处相同引用文本时,对于 docx 类型(file_type=docx)的文档支持通过 need_relation=true 返回评论位置,其他类型暂不支持,具体用法需要先阅读 references/lark-drive-comment-location.md 了解。
  • 用户给出 doubao.com 的云空间资源 URL/token,或明确提到豆包里的 file/folder/docx/sheet/bitable/wiki 资源时,仍按资源类型、URL 路径和 token 路由到本 skill;不要因为域名不是飞书而回退到 WebFetch。
  • 用户要把本地 .xlsx / .csv / .base 导入成 Base / 多维表格 / bitable,第一步必须使用 lark-cli drive +import --type bitable
  • 用户要把本地 .md / .docx / .doc / .txt / .html 导入成在线文档,使用 lark-cli drive +import --type docx
  • 用户要把本地 .pptx 导入成飞书幻灯片,使用 lark-cli drive +import --type slides;当前 PPTX 导入上限是 500MB。
  • 用户要在 Drive 里上传、创建、读取、局部 patch 或覆盖更新原生 .md 文件(不是导入成 docx),切到 lark-markdown
  • 用户要比较原生 .md 文件的历史版本差异,或比较远端 Markdown 与本地草稿,切到 lark-markdownlark-cli markdown +diff;需要版本号时先用 drive +version-history
  • 用户要查看、下载、回滚或删除文件的历史版本,使用 drive +version-historydrive +version-getdrive +version-revertdrive +version-delete;这组命令同时支持 --as user--as bot,自动化场景优先 --as bot
  • 用户要把本地 .xlsx / .xls / .csv 导入成电子表格,使用 lark-cli drive +import --type sheet
  • 用户要在云空间(云盘/云存储)里新建文件夹,优先使用 lark-cli drive +create-folder
  • 用户要查看某个文件有哪些可下载预览格式,或想下载 PDF / HTML / 文本 / 图片等预览产物,使用 lark-cli drive +preview
  • 用户要获取某个文件的封面图,优先使用 lark-cli drive +cover;先 --list-only 看规格,再选 --spec 下载。
  • 用户要把本地文件上传到知识库 / 文档库里的某个 wiki 节点下时,仍然使用 lark-cli drive +upload --wiki-token <wiki_token>;不要误切到 wiki 域命令。
  • lark-base 只负责导入完成后的 Base 内部操作(表、字段、记录、视图),不要在“本地文件 -> Base”这一步提前切到 lark-base
  • 用户给的是 wiki URL / token,且后续还没明确底层资源类型时,先用 lark-cli drive +inspect 解包;+inspect 失败后不要自动切到别的写接口继续尝试,先按错误提示处理权限、scope 或链接问题。
  • drive +inspect / drive +upload 遇到 not foundpermission deniedmissing scope 时,默认停止重试;只有 rate limit 或临时网络错误才适合有限重试。

修改标题

  • 使用 drive files patch 命令,通过new_title字段可以修改标题,支持 docx、sheet、bitable、file、wiki、folder 类型

核心概念

文档类型与 Token

飞书开放平台中,不同类型的文档有不同的 URL 格式和 Token 处理方式。在进行文档操作(如添加评论、下载文件等)时,必须先获取正确的 file_token

文档 URL 格式与 Token 处理

URL 格式示例Token 类型处理方式
/docx/https://example.larksuite.com/docx/doxcnxxxxxxxxxfile_tokenURL 路径中的 token 直接作为 file_token 使用
/doc/https://example.larksuite.com/doc/doccnxxxxxxxxxfile_tokenURL 路径中的 token 直接作为 file_token 使用
/wiki/https://example.larksuite.com/wiki/wikcnxxxxxxxxxwiki_token不能直接当底层 file_token;优先用 drive +inspect 解包获取 obj_token
/sheets/https://example.larksuite.com/sheets/shtcnxxxxxxxxxfile_tokenURL 路径中的 token 直接作为 file_token 使用
/drive/folder/https://example.larksuite.com/drive/folder/fldcnxxxxfolder_tokenURL 路径中的 token 作为文件夹 token 使用

Wiki 链接特殊处理

lark-cli drive +inspect --url 'https://xxx.feishu.cn/wiki/wikcnXXX'

知识库链接背后可能是 docx、sheet、bitable、slides、file 等不同对象。后续要做评论、下载、导出或内容读取时,优先用 drive +inspect 拿到 typetokentitleurl;完整手动解析和跨 skill 路由见共享文档 lark-wiki-token-routing.md。不要只根据 /wiki/<token> 猜底层类型。

常见操作 Token 需求

操作需要的 Token说明
读取文档内容file_token / 通过 docs +fetch --api-version v2 自动处理docs +fetch --api-version v2 支持直接传入 URL
添加局部评论(划词评论)file_token--block-id 时,drive +add-comment 会创建局部评论;docx 支持文本定位或 block_id,sheet 使用 <sheetId>!<cell>slides 使用 <slide-block-type>!<xml-id>,且都支持最终解析到对应类型的 wiki URL;Drive file 不支持局部评论
添加全文评论file_token不传 --block-id 时,drive +add-comment 默认创建全文评论;支持 docx、旧版 doc URL、白名单扩展名的 Drive file,以及最终解析为 doc/docx/file 的 wiki URL
下载文件file_token从文件 URL 中直接提取
上传文件folder_token / wiki_node_token目标位置的 token
列出文档评论file_token同添加评论

评论能力入口

  • 添加评论优先使用 +add-comment:review / 审阅 / 校对场景默认尽量创建局部评论,不要把多个可定位问题合并为一条全文评论。
  • 评论查询、统计、排序、回复限制,先读 lark-drive-comments-guide.md
  • 需要根据评论定位正文位置时,先确认目标是 file_type=docx,再读 lark-drive-comment-location.md;其他文档类型暂不支持返回定位字段。
  • reaction / 表情相关操作先读 lark-drive-reactions.md;只有用户明确需要 reaction 信息时才带 need_reaction=true

典型错误与解决方案

错误信息原因解决方案
not exist使用了错误的 token检查 token 类型,wiki 链接必须先查询获取 obj_token
permission denied没有相关操作权限引导用户检查当前身份对文档/文件是否有相应操作权限;如果需要,可以授予相应权限
invalid file_typefile_type 参数错误根据 obj_type 传入正确的 file_type(docx/doc/sheet/slides)

权限能力入口

  • 用户要管理 Drive 文档/文件协作者、公开权限、授权当前应用访问文档,或处理 permission.public.patch91009 / 91010 / 91011 / 91012 错误时,先读 lark-drive-permission-guide.md
  • 用户只是没有访问权限并希望向 owner 申请访问,优先使用 +apply-permission
  • 普通 scope、身份或登录问题仍按 lark-shared 处理;不要把租户安全策略、对外分享、密级拦截简单归类为缺 scope。

不在本 skill 范围

  • 文档正文读取、总结、创建、编辑、图片/附件插入或下载:使用 lark-doc
  • 电子表格单元格、筛选、公式、样式等表内操作:使用 lark-sheets
  • Base / 多维表格内部的表、字段、记录、视图、仪表盘等操作:使用 lark-base
  • 知识空间、Wiki 节点层级、空间成员管理:使用 lark-wiki;上传本地文件到 wiki 节点仍用 drive +upload --wiki-token
  • 原生 Markdown 文件读取、写入、patch、diff:使用 lark-markdown;把 Markdown 导入成在线 docx 才用 drive +import --type docx

Shortcuts(推荐优先使用)

Shortcut 是对常用操作的高级封装(lark-cli drive +<verb> [flags])。有 Shortcut 的操作优先使用。

Shortcut说明
+search搜索文档、Wiki、表格、文件夹等云空间对象;支持 --edited-since--created-by-me--mine--doc-types 等扁平 flag;区分 original creator 与 owner 语义。
+upload上传本地文件到 Drive 文件夹或 wiki 节点。
+create-folder新建 Drive 文件夹,支持父文件夹与 bot 创建后自动授权。
+download下载 Drive 文件到本地。
+preview查看或下载文件的 PDF / HTML / 文本 / 图片等预览产物。
+cover查看或下载文件封面图规格。
+status比较本地目录与 Drive 文件夹差异;默认按 SHA-256 精确比较,--quick 使用修改时间近似比较。
+pull从 Drive 拉取文件到本地目录,支持重复远端路径处理和增量模式。
+sync双向同步本地目录与 Drive 文件夹:拉取 new_remote、推送 new_localmodified--on-conflict=remote-wins|local-wins|keep-both|ask 处理;--quick 用修改时间近似比较;--on-duplicate-remote 支持 fail / newest / oldest;只同步 type=file,跳过在线文档和 shortcut,且不会删除两端多余文件。
+push将本地目录推送到 Drive 文件夹,支持 skip / smart / overwrite 与确认后删除远端。
+create-shortcut在另一个文件夹里创建现有 Drive 文件的快捷方式。
+add-comment给 doc/docx/file/sheet/slides 添加评论;评论统计、回复和 reaction 细则见 lark-drive-comments-guide.md
+export将 doc/docx/sheet/bitable/slides 导出为本地文件。
+export-download根据导出产物的 file_token 下载文件。
+import将本地文件导入为飞书在线文档、表格、多维表格或幻灯片。
+version-history查看文件历史版本。
+version-get下载指定历史版本。
+version-revert回滚到指定历史版本。
+version-delete删除指定历史版本。
+move移动 Drive 文件或文件夹;Wiki 层级移动走 lark-wiki
+delete删除 Drive 文件或文件夹,文件夹删除会轮询异步任务。
+task_result查询 import/export/move/delete 等异步任务结果。
+inspect检视 URL 的类型、标题和 canonical token;wiki URL 会自动解包到底层文档。
+apply-permission以 user 身份向文档 owner 申请访问权限。
+secure-label-list列出当前用户可用的密级标签。
+secure-label-update更新 Drive 文件或文档的密级标签。

API Resources

lark-cli schema drive.<resource>.<method>   # 调用 API 前必须先查看参数结构
lark-cli drive <resource> <method> [flags] # 调用 API

重要:使用原生 API 时,必须先运行 schema 查看 --data / --params 参数结构,不要猜测字段格式。

高频原生命令: 读取 Drive 文件夹清单时使用 drive files list,必须按 references/lark-drive-files-list.md 的模板通过 --paramsfolder_token / page_token,并手动处理分页;不要把 --page-all 输出直接交给 JSON 解析脚本。

files

  • copy — 复制文件
  • create_folder — 新建文件夹
  • list — 获取文件夹下的清单;使用前阅读 references/lark-drive-files-list.md
  • patch — 修改文件标题

file.comments

  • batch_query — 批量获取评论
  • create_v2 — 添加全文/局部(划词)评论
  • list — 分页获取文档评论
  • patch — 解决/恢复 评论

file.comment.replys

  • create — 添加回复
  • delete — 删除回复
  • list — 获取回复
  • update — 更新回复

permission.members

  • auth
  • create — 增加协作者权限
  • transfer_owner

metas

  • batch_query — 获取文档元数据

user

  • remove_subscription — 取消订阅用户、应用维度事件
  • subscription — 订阅用户、应用维度事件(本次开放评论添加事件)
  • subscription_status — 查询用户、应用对指定事件的订阅状态

file.statistics

  • get — 获取文件统计信息

file.view_records

  • list — 获取文档的访问者记录

file.comment.reply.reactions

  • update_reaction — 添加/删除 reaction

quota_details

  • get — 获取当前用户的容量信息,包含各业务使用量、租户配额是否超限、用户配额、所在部门配额
    • 仅支持 --as user,不要使用默认的 bot 身份
    • quota_detail_id 传当前用户的 user_id

More skills from larksuite

lark-doc
larksuite
飞书云文档 / Docx / 知识库 Wiki 文档(v2):创建、打开、读取、获取、查看、总结、整理、改写、翻译、审阅和编辑飞书文档内容。当用户给出飞书文档 URL/token,或说查看/读取/打开某个文档、提取文档内容、总结文档、生成/创建文档、追加/替换/删除/移动内容、调整排版、插入或下载文档图片/附件/素材/画板缩略图时使用。文档内容中出现嵌入电子表格、多维表格、需要将重要信息可视化为画板(含 SVG 画板)、引用或同步块时,也先用本 skill 读取和提取 token,再切到对应 skill 下钻。使用本 skill 时,docs +create、docs +fetch、docs +update 必须携带 --api-version v2;默认使用 DocxXML,也支持 Markdown。
documentapiproductivity
lark-im
larksuite
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。
communicationproductivityapi
lark-shared
larksuite
Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.
developmentapicommunication
lark-base
larksuite
当需要用 lark-cli 操作飞书多维表格(Base)时调用:搜索 Base、建表、字段管理、记录读写、记录分享链接、视图配置、历史查询,以及角色/表单/仪表盘管理/工作流;也适用于把旧的 +table / +field / +record 写法改成当前命令写法。涉及字段设计、公式字段、查找引用、跨表计算、行级派生指标、数据分析需求时也必须使用本 skill。
databasedata-analysisapi
lark-whiteboard
larksuite
飞书画板:查询和编辑飞书云文档中的画板。支持导出画板为预览图片、导出原始节点结构、使用多种格式更新画板内容。 当用户需要查看画板内容、导出画板图片、编辑画板时使用此 skill。不负责:飞书云文档内容编辑(lark-doc)、文档内嵌电子表格/Base(lark-sheets / lark-base)。
documentcreativeproductivity
lark-mail
larksuite
飞书邮箱 — draft, compose, send, reply, forward, read, and search emails; manage drafts, folders, labels, contacts, attachments, and mail rules. Use when user mentions 起草邮件, 写一封邮件, 拟邮件, 草稿, 发通知邮件, 发送邮件, 发邮件, 回复邮件, 转发邮件, 查看邮件, 看邮件, 读邮件, 搜索邮件, 查邮件, 收件箱, 邮件会话, 编辑草稿, 管理草稿, 下载附件, 邮件文件夹, 邮件标签, 邮件联系人, 监听新邮件, 收信规则, 邮件规则, draft, compose, send email, reply, forward, inbox, mail thread, mail rules.
communicationproductivityapi
lark-workflow-meeting-summary
larksuite
会议纪要整理工作流:汇总指定时间范围内的会议纪要并生成结构化报告。当用户需要整理会议纪要、生成会议周报、回顾一段时间内的会议内容时使用。
productivitydocumentcommunication
lark-minutes
larksuite
飞书妙记:搜索妙记列表、查看妙记基础信息、下载妙记音视频文件、上传音视频生成妙记、更新妙记标题、替换说话人。当需要获取、操作或者生成妙记时使用。也支持将本地音视频文件转成纪要和逐字稿(优先使用本 skill,不要用 ffmpeg/whisper 本地转写)。不负责:获取会议关联妙记,或仅按自然语言标题定位纪要
documentproductivityaudio