用途
feishu-cli-read 是一个只读操作技能,用于从飞书云文档、知识库或电子表格读取内容,转换为 Markdown 格式后进行分析和展示,不会修改文档内容。适用于用户请求查看、阅读、分析、读取、打开飞书文档、知识库或电子表格的场景。支持普通 docx、普通 sheet、知识库 docx 和知识库 sheet 四类资源。
前置条件
- feishu-cli:如尚未安装,需前往 riba2534/feishu-cli 获取安装方式。
- 已完成认证:feishu-cli auth login。
- App 权限:普通文档需要 docx:document 或 docx:document:readonly;知识库需要 wiki:wiki:readonly。
Token 解析对所有读命令通用:doc export / wiki export / sheet export 等读类命令统一采用"User 优先 + Tenant 兜底"策略,优先使用 token.json 中的 User Token,未找到时回落 App Token。因此读取他人文档时只要 auth login 一次,后续不用再传 --user-access-token。
核心概念:Markdown 作为中间态,本地文档与飞书云文档之间通过 Markdown 格式转换,中间文件存储在 /tmp 目录。
主要能力
文档读取(doc export)
将普通文档导出为 Markdown,支持下载图片。命令示例:
feishu-cli doc export <document_id> --output /tmp/feishu_doc.md --download-images --assets-dir /tmp/feishu_assets
文档内嵌电子表格块默认自动展开为 Markdown 表格;如需保留标签用于 roundtrip,追加 --expand-sheets=false。
文档元信息(doc get)
读取文档基本信息(document_id、revision_id、title),用于 export 前确认目标,或拿 revision_id 作为后续 API 调用参数。支持 URL 直接读取,输出格式可选 json。
文档块列表(doc blocks)
当 doc export 拿不到结构化块树时,用 doc blocks 列出所有块。默认列出第一页(500 块),加 --all 自动分页拉完,--raw 可输出飞书 API 原始 JSON。
知识库读取(wiki get / nodes / spaces)
知识库的目录结构遍历三件套,配合 wiki export 完成"找到节点 → 读内容"的链路:
- wiki get:查节点元信息,返回 space_id / node_token / obj_token / obj_type / title / has_child。
- wiki nodes:列出空间或父节点的子节点。
- wiki spaces:列出当前身份可见的所有知识空间。
电子表格读取(sheet export / read / list-sheets)
- sheet export --format markdown 适合整表导出阅读。
- sheet list-sheets 列出电子表格的所有工作表,返回 sheet_id / title / 索引 / 隐藏状态。
- sheet read 读指定范围单元格,范围语法如 SheetID!A1:C10;支持 --value-render(ToString / FormattedValue / Formula / UnformattedValue)和 --datetime-render。
使用方式
执行流程:解析参数 → 判断 URL 类型(/docx/ 用 doc export,/wiki/ 用 wiki export,Token 按格式判断)→ 导出为 Markdown(含图片下载)→ 读取文本内容 → 读取并理解图片内容 → 报告结果。
导出后使用 Read 工具读取 Markdown 文件,分析文档结构和文本内容;检查 --assets-dir 指定目录是否有下载的图片,逐个读取图片(支持多模态理解)并整合到分析中。
重要:务必使用 --download-images 参数下载文档中的图片到本地,否则只能看到 feishu://media/<token> 引用,无法理解图片内容。
可选参数:--user-access-token、--front-matter、--highlight、--expand-mentions、--expand-sheets。
适用场景
- 读取普通飞书文档并分析。
- 遍历知识库节点并逐个导出子文档。
- 导出电子表格为 Markdown 阅读,或按范围精确读取单元格。
- 分析文档块结构、定位特定块、查看原始 API 响应。
支持的 URL 格式包括飞书(xxx.feishu.cn)与 Lark(xxx.larkoffice.com)的 /docx/、/sheets/、/wiki/ 路径。
限制
- 属于只读操作,不修改文档内容。
- 需要 feishu-cli 安装并完成认证。
- 权限不足时,需在飞书开放平台开通相应只读权限并重新授权。
- 部分未知块类型会显示为 <!-- Unknown block type: XX -->。
- 超过 1000 个块的文档可能需要分页获取。
- 目录节点的内容是子节点列表,不是实际文档内容,需特殊处理。