用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Ocean326/Butler --skill feishu-doc-read命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | feishu-doc-read |
| description | 读取飞书云文档内容(纯文本/富文本块/Markdown)。当用户分享飞书文档链接、要求获取/阅读/抓取/解析飞书云文档时使用。基于飞书开放平台 docx/v1 API,独立于主代码。 |
| family_id | feishu-doc |
| family_label | 飞书文档族 |
| family_summary | 处理飞书云文档的读取、同步与双向落盘;命中后再区分读取还是写回。 |
| family_trigger_examples | 飞书文档, 云文档读取, 文档同步 |
| risk_level | low |
| variant_rank | 10 |
| metadata | {"category":"feishu"} |
基于 飞书开放平台 - 新版文档 docx/v1 实现:读取飞书云文档的纯文本、富文本块、或转换后的 Markdown 内容,供 Agent 或主程序按需调用。
requests(与 butler_bot 主项目一致)与 feishu_chat_history 完全一致:
app_id / app_secret(优先)config_provider() -> dict(复用主进程 CONFIG)FEISHU_APP_ID / FEISHU_APP_SECRETbutler_main/butler_bot_code/configs/butler_bot.json 读取需要在飞书开放平台为应用开通以下任一权限:
docx:document:readonly(查看新版文档)— 推荐docx:document(创建及编辑新版文档)同时,调用身份(tenant_access_token)需有目标文档的阅读权限:
from butler_bot_agent.skills.feishu_doc_read import (
read_feishu_doc,
download_doc_to_file,
parse_document_id,
)
# 一站式读取(支持传 URL 或 document_id)
doc = read_feishu_doc(
"https://xxx.feishu.cn/docx/QvXLdALtMoJcZrxL34vcsI1ynvT",
mode="raw", # "raw" | "markdown" | "blocks"
)
print(doc["title"]) # 文档标题
print(doc["content"]) # 纯文本 / Markdown 内容
# 导出到本地文件
path = download_doc_to_file(
"https://xxx.feishu.cn/docx/QvXLdALtMoJcZrxL34vcsI1ynvT",
output_path="./工作区/feishu_docs/会议纪要.md",
mode="markdown",
)
# 只解析 document_id
doc_id = parse_document_id()
| 能力 | 函数 | 说明 |
|---|---|---|
| 解析 URL/ID | parse_document_id | 从完整 URL 或纯 ID 中提取 document_id |
| 获取 tenant token | get_tenant_token | 内部鉴权用,也可供其他飞书 API 复用 |
| 文档基本信息 | get_document_meta | 标题、revision_id 等 |
| 纯文本内容 | get_document_raw_content | 调用 raw_content 接口,返回纯字符串 |
| 富文本块(分页) | get_document_blocks | 自动分页拉取全部 block |
| Block → Markdown | blocks_to_markdown | 将 block 列表转为可读 Markdown |
| 一站式读取 | read_feishu_doc | 解析 URL → 获取 meta → 按 mode 取内容 |
| 导出到文件 | download_doc_to_file | 读取后保存到本地 .md / .txt / .json |
| mode | 返回 | 适合场景 |
|---|---|---|
raw | 纯文本字符串 | 快速获取文本、做摘要/检索 |
markdown | Block 转 Markdown | 保留标题/列表/代码块/链接结构 |
blocks | 原始 block JSON | 需要精确样式/布局信息 |
Markdown 转换支持:标题(1-9级)、文本、有序/无序列表、代码块、引用、待办事项、分割线、图片/文件/表格(占位标记)、公式、链接、@用户/@文档、加粗/斜体/删除线/行内代码。
docx:document:readonly 或 docx:document 权限raw_content 接口有文档大小上限(飞书限制)| skill | 职责 |
|---|---|
feishu-doc-sync | 写:创建/更新云文档 |
feishu_doc_read | 读:获取云文档内容到本地 |
feishu_chat_history | 获取聊天历史消息 |
三者共享同一套凭证解析逻辑,可直接复用 butler_bot.json 中的 app_id / app_secret。
/docx/ 或 /wiki/ 路径的飞书链接。feishu_chat_history 排查流程,检查 butler_bot.json 或环境变量。./工作区/with_user/feishu_docs/./工作区/feishu_docs/