feishu-cli-read by riba2534/feishu-cli
npx skills add https://github.com/riba2534/feishu-cli --skill feishu-cli-read从飞书云文档或知识库读取内容,转换为 Markdown 格式后进行分析和展示。
feishu-cli auth login)docx:document 或 docx:document:readonly(普通文档)、wiki:wiki:readonly(知识库)feishu-cli auth login --scopes "docx:document:readonly offline_access" 授权,doc export 会自动读取保存的 User TokenMarkdown 作为中间态 :本地文档与飞书云文档之间通过 Markdown 格式进行转换,中间文件存储在 /tmp 目录中。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
/feishu-read <document_id>
/feishu-read <node_token>
/feishu-read <url>
解析参数
/docx/ → 普通文档,使用 doc export/wiki/ → 知识库文档,使用 wiki export导出为 Markdown(含图片下载)
普通文档 :
feishu-cli doc export <document_id> --output /tmp/feishu_doc.md --download-images --assets-dir /tmp/feishu_assets
doc export 会自动解析 User Access Token(如已登录),解析优先级:
1. `--user-access-token` 命令行参数
2. `FEISHU_USER_ACCESS_TOKEN` 环境变量
3. `~/.feishu-cli/token.json`(通过 `auth login` 保存)
4. `config.yaml` 中的 `user_access_token`
找到 User Token 时使用用户身份访问,未找到时回退为 App Access Token(租户身份)。
若遇到 code=1770032 forBidden(App 无权限且未登录)或 code=99991679 Unauthorized(User Token 缺少 scope),需先完成 User Token 授权:
feishu-cli auth login --scopes "docx:document:readonly offline_access"
知识库文档 :
feishu-cli wiki export <node_token> --output /tmp/feishu_wiki.md --download-images --assets-dir /tmp/feishu_assets
重要 :务必使用 --download-images 参数下载文档中的图片到本地,否则只能看到 feishu://media/<token> 引用,无法理解图片内容。
可选参数 :
* `--user-access-token`:手动指定 User Access Token(不填则自动从 `~/.feishu-cli/token.json` 读取)
* `--front-matter`:在 Markdown 顶部添加 YAML front matter(含标题和文档 ID)
* `--highlight`:保留文本颜色和背景色(输出为 HTML `<span>` 标签)
* `--expand-mentions`:展开 @用户为友好格式(默认开启,需要 contact:user.base:readonly 权限)
3. 读取文本内容
* 使用 Read 工具读取导出的 Markdown 文件
* 分析文档结构和文本内容
4. 读取并理解图片内容
* 检查 `--assets-dir` 指定的目录是否有下载的图片
* **使用 Read 工具逐个读取图片文件** (Claude 支持多模态,可直接理解图片内容)
* 将图片内容整合到文档分析中
# 列出下载的图片
ls /tmp/feishu_assets/
# 使用 Read 工具查看图片
# Read /tmp/feishu_assets/image_1.png
# Read /tmp/feishu_assets/image_2.png
5. 报告结果
* 提供文档摘要(包含图片内容描述)
* 保留 Markdown 文件和图片供用户进一步操作
向用户报告:
| URL 格式 | 类型 | 命令 |
|---|---|---|
https://xxx.feishu.cn/docx/<id> | 普通文档 | doc export |
https://xxx.feishu.cn/wiki/<token> | 知识库 | wiki export |
https://xxx.larkoffice.com/docx/<id> | 普通文档 | doc export |
https://xxx.larkoffice.com/wiki/<token> | 知识库 | wiki export |
# 读取普通文档
/feishu-read <document_id>
/feishu-read https://xxx.feishu.cn/docx/<document_id>
# 读取知识库文档
/feishu-read <node_token>
/feishu-read https://xxx.feishu.cn/wiki/<node_token>
导出的 Markdown 支持以下飞书特有块类型的转换:
| 飞书块类型 | Markdown 表现 |
|---|---|
| Callout 高亮块 | > [!NOTE]、> [!WARNING] 等 6 种 GitHub-style alert |
| 块级/行内公式 | $formula$(LaTeX 格式) |
| 画板 (Board) | [画板/Whiteboard](feishu://board/...) 链接 |
| ISV 块 (Mermaid) | 画板链接 |
| QuoteContainer | > 引用语法(支持嵌套) |
| AddOns/SyncedBlock | 透明展开子块内容 |
| Iframe | <iframe> HTML 标签 |
使用 --highlight 参数时,带颜色的文本输出为 <span style="color:..."> 标签。
知识库文档可能是目录节点 (包含子节点),需要特殊处理。
当导出知识库文档时,如果 Markdown 内容显示为:
[Wiki 目录 - 使用 'wiki nodes <space_id> --parent <node_token>' 获取子节点列表]
说明这是一个Wiki 目录节点 (block_type=42),子文档列表存储在知识库元数据中。
# 1. 先获取节点信息,记录 space_id
feishu-cli wiki get <node_token>
# 2. 列出该节点下的子节点
feishu-cli wiki nodes <space_id> --parent <node_token>
# 步骤 1:尝试导出文档
feishu-cli wiki export <node_token> -o /tmp/doc.md
# 步骤 2:检查内容
# 如果显示 "[Wiki 目录...]",说明是目录节点
# 步骤 3:获取节点信息
feishu-cli wiki get <node_token>
# 记录 space_id 和 has_child 字段
# 步骤 4:获取子节点
feishu-cli wiki nodes <space_id> --parent <node_token>
# 步骤 5:逐个导出子节点
feishu-cli wiki export <child_node_token_1> -o /tmp/child1.md
feishu-cli wiki export <child_node_token_2> -o /tmp/child2.md
| 错误 | 原因 | 解决 |
|---|---|---|
code=1770032, msg=forBidden | App Token 无权限访问该文档 | 通过 auth login --scopes "docx:document:readonly offline_access" 授权 User Token,doc export 会自动读取 |
code=99991679, msg=Unauthorized | User Token 缺少 docx:document:readonly scope | 重新执行 feishu-cli auth login --scopes "docx:document:readonly offline_access" |
code=131002, param err | 参数错误 | 检查 token 格式 |
code=131001, node not found | 节点不存在 | 检查 token 是否正确 |
code=131003, no permission | 无权限访问 | 确认应用有 wiki:wiki:readonly 权限 |
code=131004, space not found | 知识空间不存在 | 检查 space_id 是否正确 |
空内容或 Unknown block type | 特殊块类型 | 见「高级:Wiki 目录节点处理」章节 |
情况 1:文档内容为空
情况 2:图片下载失败
--assets-dir 目录是否可写情况 3:部分块类型无法识别
<!-- Unknown block type: XX -->情况 4:大型文档
feishu-cli doc blocks <doc_id> --all 自动分页如果遇到网络错误或 API 限流:
# 添加 --debug 查看详细错误信息
feishu-cli wiki export <token> --debug
# 等待几秒后重试
sleep 5 && feishu-cli wiki export <token>
Q: 提示权限不足 /no permission / forBidden
确认应用已获得 docx:document:readonly(普通文档)或 wiki:wiki:readonly(知识库)权限
如果是他人文档且 App 没有被添加为协作者,需要使用 User Token:
feishu-cli auth login --scopes "docx:document:readonly offline_access"
授权后 doc export 会自动读取,无需额外参数
Q: 文档不存在 /node not found
document_id 和 node_token)/docx/ 后为 document_id,/wiki/ 后为 node_token)Q: Token 过期 / 认证失败
feishu-cli auth status 检查当前认证状态feishu-cli auth login 重新认证FEISHU_APP_ID 和 FEISHU_APP_SECRET 环境变量是否正确Weekly Installs
217
Repository
GitHub Stars
497
First Seen
Feb 8, 2026
Security Audits
Installed on
claude-code159
codex120
kimi-cli116
amp116
github-copilot116
opencode116
从飞书云文档或知识库读取内容,转换为 Markdown 格式后进行分析和展示。
feishu-cli auth login)docx:document 或 docx:document:readonly(普通文档)、wiki:wiki:readonly(知识库)feishu-cli auth login --scopes "docx:document:readonly offline_access" 授权,doc export 会自动读取保存的 User TokenMarkdown 作为中间态 :本地文档与飞书云文档之间通过 Markdown 格式进行转换,中间文件存储在 /tmp 目录中。
/feishu-read <document_id>
/feishu-read <node_token>
/feishu-read <url>
解析参数
/docx/ → 普通文档,使用 doc export/wiki/ → 知识库文档,使用 wiki export导出为 Markdown(含图片下载)
普通文档 :
feishu-cli doc export <document_id> --output /tmp/feishu_doc.md --download-images --assets-dir /tmp/feishu_assets
doc export 会自动解析 User Access Token(如已登录),解析优先级:
1. `--user-access-token` 命令行参数
2. `FEISHU_USER_ACCESS_TOKEN` 环境变量
3. `~/.feishu-cli/token.json`(通过 `auth login` 保存)
4. `config.yaml` 中的 `user_access_token`
找到 User Token 时使用用户身份访问,未找到时回退为 App Access Token(租户身份)。
若遇到 code=1770032 forBidden(App 无权限且未登录)或 code=99991679 Unauthorized(User Token 缺少 scope),需先完成 User Token 授权:
feishu-cli auth login --scopes "docx:document:readonly offline_access"
知识库文档 :
feishu-cli wiki export <node_token> --output /tmp/feishu_wiki.md --download-images --assets-dir /tmp/feishu_assets
重要 :务必使用 --download-images 参数下载文档中的图片到本地,否则只能看到 feishu://media/<token> 引用,无法理解图片内容。
可选参数 :
* `--user-access-token`:手动指定 User Access Token(不填则自动从 `~/.feishu-cli/token.json` 读取)
* `--front-matter`:在 Markdown 顶部添加 YAML front matter(含标题和文档 ID)
* `--highlight`:保留文本颜色和背景色(输出为 HTML `<span>` 标签)
* `--expand-mentions`:展开 @用户为友好格式(默认开启,需要 contact:user.base:readonly 权限)
3. 读取文本内容
* 使用 Read 工具读取导出的 Markdown 文件
* 分析文档结构和文本内容
4. 读取并理解图片内容
* 检查 `--assets-dir` 指定的目录是否有下载的图片
* **使用 Read 工具逐个读取图片文件** (Claude 支持多模态,可直接理解图片内容)
* 将图片内容整合到文档分析中
# 列出下载的图片
ls /tmp/feishu_assets/
# 使用 Read 工具查看图片
# Read /tmp/feishu_assets/image_1.png
# Read /tmp/feishu_assets/image_2.png
5. 报告结果
* 提供文档摘要(包含图片内容描述)
* 保留 Markdown 文件和图片供用户进一步操作
向用户报告:
| URL 格式 | 类型 | 命令 |
|---|---|---|
https://xxx.feishu.cn/docx/<id> | 普通文档 | doc export |
https://xxx.feishu.cn/wiki/<token> | 知识库 | wiki export |
https://xxx.larkoffice.com/docx/<id> | 普通文档 | doc export |
https://xxx.larkoffice.com/wiki/<token> |
# 读取普通文档
/feishu-read <document_id>
/feishu-read https://xxx.feishu.cn/docx/<document_id>
# 读取知识库文档
/feishu-read <node_token>
/feishu-read https://xxx.feishu.cn/wiki/<node_token>
导出的 Markdown 支持以下飞书特有块类型的转换:
| 飞书块类型 | Markdown 表现 |
|---|---|
| Callout 高亮块 | > [!NOTE]、> [!WARNING] 等 6 种 GitHub-style alert |
| 块级/行内公式 | $formula$(LaTeX 格式) |
| 画板 (Board) | [画板/Whiteboard](feishu://board/...) 链接 |
| ISV 块 (Mermaid) | 画板链接 |
| QuoteContainer | > 引用语法(支持嵌套) |
| AddOns/SyncedBlock | 透明展开子块内容 |
| Iframe | <iframe> HTML 标签 |
使用 --highlight 参数时,带颜色的文本输出为 <span style="color:..."> 标签。
知识库文档可能是目录节点 (包含子节点),需要特殊处理。
当导出知识库文档时,如果 Markdown 内容显示为:
[Wiki 目录 - 使用 'wiki nodes <space_id> --parent <node_token>' 获取子节点列表]
说明这是一个Wiki 目录节点 (block_type=42),子文档列表存储在知识库元数据中。
# 1. 先获取节点信息,记录 space_id
feishu-cli wiki get <node_token>
# 2. 列出该节点下的子节点
feishu-cli wiki nodes <space_id> --parent <node_token>
# 步骤 1:尝试导出文档
feishu-cli wiki export <node_token> -o /tmp/doc.md
# 步骤 2:检查内容
# 如果显示 "[Wiki 目录...]",说明是目录节点
# 步骤 3:获取节点信息
feishu-cli wiki get <node_token>
# 记录 space_id 和 has_child 字段
# 步骤 4:获取子节点
feishu-cli wiki nodes <space_id> --parent <node_token>
# 步骤 5:逐个导出子节点
feishu-cli wiki export <child_node_token_1> -o /tmp/child1.md
feishu-cli wiki export <child_node_token_2> -o /tmp/child2.md
| 错误 | 原因 | 解决 |
|---|---|---|
code=1770032, msg=forBidden | App Token 无权限访问该文档 | 通过 auth login --scopes "docx:document:readonly offline_access" 授权 User Token,doc export 会自动读取 |
code=99991679, msg=Unauthorized | User Token 缺少 docx:document:readonly scope | 重新执行 feishu-cli auth login --scopes "docx:document:readonly offline_access" |
code=131002, param err |
情况 1:文档内容为空
情况 2:图片下载失败
--assets-dir 目录是否可写情况 3:部分块类型无法识别
<!-- Unknown block type: XX -->情况 4:大型文档
feishu-cli doc blocks <doc_id> --all 自动分页如果遇到网络错误或 API 限流:
# 添加 --debug 查看详细错误信息
feishu-cli wiki export <token> --debug
# 等待几秒后重试
sleep 5 && feishu-cli wiki export <token>
Q: 提示权限不足 /no permission / forBidden
确认应用已获得 docx:document:readonly(普通文档)或 wiki:wiki:readonly(知识库)权限
如果是他人文档且 App 没有被添加为协作者,需要使用 User Token:
feishu-cli auth login --scopes "docx:document:readonly offline_access"
授权后 doc export 会自动读取,无需额外参数
Q: 文档不存在 /node not found
document_id 和 node_token)/docx/ 后为 document_id,/wiki/ 后为 node_token)Q: Token 过期 / 认证失败
feishu-cli auth status 检查当前认证状态feishu-cli auth login 重新认证FEISHU_APP_ID 和 FEISHU_APP_SECRET 环境变量是否正确Weekly Installs
217
Repository
GitHub Stars
497
First Seen
Feb 8, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykWarn
Installed on
claude-code159
codex120
kimi-cli116
amp116
github-copilot116
opencode116
LarkSuite Whiteboard CLI 工具:自动化生成专业图表与画板,支持DSL和Mermaid
15,500 周安装
| 知识库 |
wiki export |
| 参数错误 |
| 检查 token 格式 |
code=131001, node not found | 节点不存在 | 检查 token 是否正确 |
code=131003, no permission | 无权限访问 | 确认应用有 wiki:wiki:readonly 权限 |
code=131004, space not found | 知识空间不存在 | 检查 space_id 是否正确 |
空内容或 Unknown block type | 特殊块类型 | 见「高级:Wiki 目录节点处理」章节 |