飞书知识库与云文档导入AIS教程
本文介绍如何将飞书中的知识库、云空间、在线文档、电子表格和多维表格接入独立部署的 TorchV AIS 知识库。
本文面向以下场景:
- 将飞书知识库按原目录结构迁移或同步到 AIS;
- 将飞书云空间中的 Word、Excel、PDF、PPT 等普通文件导入 AIS;
- 将飞书在线文档导出为 DOCX,或转换为 Markdown 后导入 AIS;
- 将飞书电子表格导出为 XLSX,或按工作表转换为结构化文本;
- 将飞书多维表格按数据表、字段和记录加工成适合检索、问答和 Agent 使用的知识;
- 建立每日增量同步、权限映射、失败重试和审计机制。
本教程以飞书企业自建应用和服务端 OpenAPI 为基础。示例中的 App ID、App Secret、空间ID和文档Token均使用占位符,不要把真实密钥写入代码仓库或教程文件。
一、整体架构

飞书知识库和云空间不是两套完全独立的正文系统:
- 知识库负责组织知识空间和节点目录;
- 知识库节点会指向真实的文档、电子表格、多维表格或文件;
- 云空间负责文件夹、普通文件和各类云文档资源的存储管理;
- 获取正文时,必须根据真实资源类型调用对应接口。
二、内容类型与AIS接入方式
| 飞书资源 | 常见类型 | 推荐接入方式 | AIS中的形态 |
|---|---|---|---|
| 知识库 | wiki节点 | 遍历节点,解析真实资源类型 | AIS目录结构 |
| 普通文件 | file | 直接下载原文件 | DOCX、PDF、XLSX、PPTX等 |
| 新版在线文档 | docx | 快速方案导出DOCX;长期方案读取Block转Markdown | DOCX或Markdown |
| 旧版在线文档 | doc | 使用导出任务导出DOCX/PDF | DOCX或PDF |
| 电子表格 | sheet | 导出XLSX;重要表格可附加Markdown摘要 | XLSX+Markdown |
| 多维表格 | bitable | 读取数据表、字段、记录并生成结构化Markdown | 按表或按记录生成Markdown |
| 文件夹 | folder | 递归遍历并保留路径 | AIS目录 |
| 快捷方式 | shortcut | 解析目标资源后去重 | 不单独重复导入 |
为什么多维表格不应只导出为Excel
Excel适合保留原始数据,但对于问答和Agent执行,下面这种结构更容易被检索和理解:
# 客户:XXXXX联合银行
- 客户编号:C202608001
- 行业:银行
- 项目阶段:概要设计
- 负责人:卢向东
- 当前风险:部署准入尚未确定
- 下次行动:组织技术架构评审会议
- 最后更新时间:2026-08-24 15:30:00
- 飞书来源:<原记录链接>
因此,生产方案推荐“原文件+结构化知识”并存。
三、准备条件
1. 创建飞书企业自建应用
进入飞书开放平台,创建企业自建应用,记录:
- App ID;
- App Secret。
根据需要申请只读权限。常见权限包括:
- 知识库只读:
wiki:wiki:readonly; - 云空间只读:
drive:drive:readonly; - 新版文档只读:
docx:document:readonly; - 电子表格只读;
- 多维表格只读:
bitable:app:readonly。
飞书管理后台实际展示的权限名称可能是中文,应以开放平台当前权限页面和接口要求为准,只申请本项目需要的最小只读权限。
完成权限申请后:
- 创建应用版本;
- 提交发布;
- 由企业管理员审批;
- 确认应用已在目标企业生效。
2. 给应用授予文档访问权限
仅开通API权限,不代表应用自动拥有企业内所有文档的访问权。还需要把应用加入目标资源的协作范围。
常见做法:
- 知识库:在知识空间设置中,将应用或包含应用机器人的群组加入知识库成员或管理员;
- 云空间文件夹:将目标文件夹分享给应用可访问的协作对象;
- 在线文档、电子表格和多维表格:在“添加文档应用”中加入该企业自建应用;
- 生产环境只授权需要同步的知识空间或根文件夹,不要默认开放全部企业文档。
3. 本地目录
mkdir -p /Users/lu/Documents/Codex/feishu-ais-sync/{staging,state,logs}
cd /Users/lu/Documents/Codex/feishu-ais-sync
本教程使用以下变量:
export FEISHU_BASE_URL="https://open.feishu.cn/open-apis"
export FEISHU_APP_ID="<飞书App ID>"
export FEISHU_APP_SECRET="<飞书App Secret>"
export FEISHU_SYNC_DIR="/Users/lu/Documents/Codex/feishu-ais-sync"
export AIS_KB_BIN="/Users/lu/Documents/Codex/.agents/bin/ais-kb.sh"
export AIS_TARGET_PATH="/卢向东的个人知识库/飞书知识导入目录"
生产环境应通过密钥管理服务、容器Secret或系统钥匙串注入App Secret,不要提交到Git。
检查基础工具:
curl --version
jq --version
file --version
四、获取飞书访问凭证
企业自建应用通常使用 tenant_access_token 代表应用访问本企业已授权的数据。
TOKEN_RESPONSE="$(curl -sS \
-X POST "$FEISHU_BASE_URL/auth/v3/tenant_access_token/internal" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -n \
--arg app_id "$FEISHU_APP_ID" \
--arg app_secret "$FEISHU_APP_SECRET" \
'{app_id:$app_id, app_secret:$app_secret}')")"
printf '%s' "$TOKEN_RESPONSE" | jq -e '.code == 0' >/dev/null
export FEISHU_ACCESS_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" | jq -r '.tenant_access_token')"
验证Token不为空,但不要打印完整Token:
test -n "$FEISHU_ACCESS_TOKEN" && echo "飞书访问凭证获取成功"
访问凭证会过期。生产程序应缓存Token,并根据接口返回的有效期提前刷新,不能每处理一个文件都重新申请。
五、导入飞书知识库
1. 获取知识空间列表
curl -sS -G "$FEISHU_BASE_URL/wiki/v2/spaces" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=50" \
| tee "$FEISHU_SYNC_DIR/state/wiki-spaces.json" \
| jq .
从真实返回中找到目标 space_id:
export FEISHU_WIKI_SPACE_ID="<目标知识空间space_id>"
如果返回 has_more=true,使用 page_token 继续分页,直到全部读取完成。不要默认选择列表中的第一个空间。
2. 获取知识库根节点
curl -sS -G \
"$FEISHU_BASE_URL/wiki/v2/spaces/$FEISHU_WIKI_SPACE_ID/nodes" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=50" \
| tee "$FEISHU_SYNC_DIR/state/wiki-root-nodes.json" \
| jq .
3. 获取某个节点的子节点
export FEISHU_PARENT_NODE_TOKEN="<父节点node_token>"
curl -sS -G \
"$FEISHU_BASE_URL/wiki/v2/spaces/$FEISHU_WIKI_SPACE_ID/nodes" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "parent_node_token=$FEISHU_PARENT_NODE_TOKEN" \
--data-urlencode "page_size=50" \
| jq .
生产程序需要完成:
- 所有分页;
- 有界递归;
- 节点去重;
- 路径保存;
- 最大深度和最大节点数保护。
4. 解析知识库节点的真实资源
export FEISHU_NODE_TOKEN="<知识库node_token>"
curl -sS -G "$FEISHU_BASE_URL/wiki/v2/spaces/get_node" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "token=$FEISHU_NODE_TOKEN" \
| tee "$FEISHU_SYNC_DIR/state/wiki-node.json" \
| jq .
重点保存:
node_token:知识库节点ID;obj_token:真实文档或表格Token;obj_type:真实资源类型;title:节点标题;parent_node_token:父节点;has_child:是否包含子节点。
后续应按 obj_type 分流:
doc/docx → 在线文档
sheet → 电子表格
bitable → 多维表格
file → 普通文件
不要把知识库的 node_token 直接当作在线文档的 document_id。
六、导入飞书云空间
1. 确定目标文件夹Token
飞书文件夹链接通常类似:
https://example.feishu.cn/drive/folder/<folder_token>
应通过链接或API返回取得真实 folder_token,不要猜测。
export FEISHU_FOLDER_TOKEN="<目标文件夹folder_token>"
2. 列出文件夹内容
curl -sS -G "$FEISHU_BASE_URL/drive/v1/files" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "folder_token=$FEISHU_FOLDER_TOKEN" \
--data-urlencode "page_size=50" \
| tee "$FEISHU_SYNC_DIR/state/drive-files.json" \
| jq .
重点读取:
token:资源Token;name:文件或文档名称;type:file、folder、docx、sheet、bitable等;parent_token:父文件夹;url:飞书原始链接;shortcut_info:快捷方式指向的真实资源。
有 next_page_token 或 has_more 时继续分页。
3. 下载普通文件
只有 type=file 的普通二进制文件使用直接下载接口:
export FEISHU_FILE_TOKEN="<普通文件file_token>"
export LOCAL_FILE="$FEISHU_SYNC_DIR/staging/文件名.pdf"
curl -fL \
"$FEISHU_BASE_URL/drive/v1/files/$FEISHU_FILE_TOKEN/download" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
-o "$LOCAL_FILE"
检查结果:
test -s "$LOCAL_FILE"
file "$LOCAL_FILE"
shasum -a 256 "$LOCAL_FILE"
在线文档、电子表格和多维表格不能当作普通二进制文件下载,应使用后续章节的读取或导出流程。
七、导入飞书在线文档
在线文档有两种主要策略。
策略A:导出为DOCX
适合快速上线和保留文档版式。
1. 创建导出任务
export FEISHU_DOC_TOKEN="<obj_token或document_id>"
EXPORT_RESPONSE="$(curl -sS \
-X POST "$FEISHU_BASE_URL/drive/v1/export_tasks" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -n \
--arg token "$FEISHU_DOC_TOKEN" \
'{file_extension:"docx", token:$token, type:"docx"}')")"
printf '%s' "$EXPORT_RESPONSE" | jq .
export FEISHU_EXPORT_TICKET="$(printf '%s' "$EXPORT_RESPONSE" | jq -r '.data.ticket')"
旧版文档的 type 可能是 doc,新版文档通常是 docx。必须使用节点或文件元数据返回的真实类型,不能固定写死。
2. 查询导出任务
curl -sS -G \
"$FEISHU_BASE_URL/drive/v1/export_tasks/$FEISHU_EXPORT_TICKET" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "token=$FEISHU_DOC_TOKEN" \
| tee "$FEISHU_SYNC_DIR/state/export-result.json" \
| jq .
当 data.result.job_status=0 时,保存返回的导出产物 file_token。如果尚未完成,应采用有上限的退避轮询,不要无限循环。
3. 下载导出结果
export FEISHU_EXPORT_FILE_TOKEN="<导出结果file_token>"
curl -fL \
"$FEISHU_BASE_URL/drive/v1/export_tasks/file/$FEISHU_EXPORT_FILE_TOKEN/download" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
-o "$FEISHU_SYNC_DIR/staging/文档名称.docx"
飞书导出产物是临时文件,任务成功后应及时下载。
策略B:读取正文并生成Markdown
适合长期同步、精细切分、保留标题层级以及让Agent引用具体章节。
1. 获取纯文本
export FEISHU_DOCUMENT_ID="<新版文档document_id>"
curl -sS \
"$FEISHU_BASE_URL/docx/v1/documents/$FEISHU_DOCUMENT_ID/raw_content" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
| tee "$FEISHU_SYNC_DIR/state/doc-raw-content.json" \
| jq .
纯文本适合验证和快速接入,但会损失标题、表格、图片、附件和富文本结构。
2. 获取文档Block
curl -sS -G \
"$FEISHU_BASE_URL/docx/v1/documents/$FEISHU_DOCUMENT_ID/blocks" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=100" \
| tee "$FEISHU_SYNC_DIR/state/doc-blocks.json" \
| jq .
生产转换器应将Block映射为Markdown:
| 飞书Block | Markdown |
|---|---|
| 标题1~9 | #~######### |
| 正文 | 普通段落 |
| 有序/无序列表 | Markdown列表 |
| 代码块 | 围栏代码块 |
| 引用 | > 引用 |
| 表格 | Markdown表格或HTML表格 |
| 图片 | 下载资源后使用相对链接 |
| 附件 | 下载附件,并在正文保留文件链接 |
长期方案建议同时保存原飞书链接、文档版本号和更新时间。
八、导入飞书电子表格
策略A:导出为XLSX
创建导出任务:
export FEISHU_SPREADSHEET_TOKEN="<电子表格spreadsheet_token>"
curl -sS \
-X POST "$FEISHU_BASE_URL/drive/v1/export_tasks" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
-H "Content-Type: application/json; charset=utf-8" \
-d "$(jq -n \
--arg token "$FEISHU_SPREADSHEET_TOKEN" \
'{file_extension:"xlsx", token:$token, type:"sheet"}')" \
| jq .
然后沿用“查询导出任务结果 → 下载导出文件”的流程。
如果只导出某个工作表为CSV,需要传入对应的 sub_id。缺少 sub_id 时,CSV导出可能返回参数错误。
策略B:读取工作表并生成结构化文本
1. 获取工作表列表
curl -sS \
"$FEISHU_BASE_URL/sheets/v3/spreadsheets/$FEISHU_SPREADSHEET_TOKEN/sheets/query" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
| tee "$FEISHU_SYNC_DIR/state/sheets.json" \
| jq .
保存每个工作表的:
sheet_id;title;index;hidden。
2. 读取单元格范围
export FEISHU_SHEET_ID="<sheet_id>"
export FEISHU_RANGE="$FEISHU_SHEET_ID!A1:Z1000"
curl -sS \
"$FEISHU_BASE_URL/sheets/v2/spreadsheets/$FEISHU_SPREADSHEET_TOKEN/values/$FEISHU_RANGE" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
| tee "$FEISHU_SYNC_DIR/state/sheet-values.json" \
| jq .
实际范围应根据工作表元数据或业务规则确定,不应对超大表格一次请求无限范围。
AIS加工建议
对于数据量较小的说明表,可转换为Markdown表格;对于大型业务表,应:
- 第一行作为字段名;
- 每一行转换为带字段名的文本;
- 按业务主键或固定行数分块;
- 在每块中保留表格名、工作表名、行号和来源链接;
- 同时保留原始XLSX作为附件。
九、导入飞书多维表格
多维表格Token通常称为 app_token。一个多维表格中可能包含多个数据表,每个数据表具有独立 table_id。
1. 获取数据表列表
export FEISHU_BITABLE_APP_TOKEN="<多维表格app_token>"
curl -sS -G \
"$FEISHU_BASE_URL/bitable/v1/apps/$FEISHU_BITABLE_APP_TOKEN/tables" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=100" \
| tee "$FEISHU_SYNC_DIR/state/bitable-tables.json" \
| jq .
2. 获取字段定义
export FEISHU_BITABLE_TABLE_ID="<table_id>"
curl -sS -G \
"$FEISHU_BASE_URL/bitable/v1/apps/$FEISHU_BITABLE_APP_TOKEN/tables/$FEISHU_BITABLE_TABLE_ID/fields" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=100" \
| tee "$FEISHU_SYNC_DIR/state/bitable-fields.json" \
| jq .
字段定义非常重要,应保存:
- 字段ID;
- 字段名称;
- 字段类型;
- 是否为主字段;
- 选项、人员、关联记录和附件等配置。
3. 获取记录
curl -sS -G \
"$FEISHU_BASE_URL/bitable/v1/apps/$FEISHU_BITABLE_APP_TOKEN/tables/$FEISHU_BITABLE_TABLE_ID/records" \
-H "Authorization: Bearer $FEISHU_ACCESS_TOKEN" \
--data-urlencode "page_size=100" \
| tee "$FEISHU_SYNC_DIR/state/bitable-records.json" \
| jq .
必须根据 has_more 和 page_token 读取全部记录。
4. 将记录转换为AIS知识
可按两种粒度生成Markdown。
一张数据表生成一个文档
适合记录较少、需要整体比较的表格:
# 项目风险台账
## 风险 R-001:后端部署准入
- 类别:技术风险
- 影响等级:高
- 责任人:肖玉民
- 当前状态:处理中
- 影响:可能导致项目交付延期
- 建议措施:组织架构、开发和安全部门联合评审
## 风险 R-002:前端React框架准入
...
每条记录生成一个文档
适合客户、项目、产品、案例、合同和风险等实体型数据:
飞书多维表格/项目管理/项目风险台账/R-001-后端部署准入.md
这种方式更适合增量更新、权限控制和Agent按实体检索。
5. 特殊字段处理
| 字段类型 | 建议处理 |
|---|---|
| 人员 | 转换为姓名,必要时保留用户ID |
| 单选/多选 | 输出选项文本 |
| 日期 | 转为带时区的可读时间 |
| 关联记录 | 展开为目标记录标题和ID,避免无限递归 |
| 附件 | 下载附件并上传AIS,在正文保留关系 |
| 公式 | 保存计算后的显示值,必要时附加公式定义 |
| 链接 | 保留显示文本和URL |
| 富文本 | 转换为Markdown |
对于敏感人员字段和附件,应先完成权限评估再导入。
十、上传到TorchV AIS
1. 检查目标目录
"$AIS_KB_BIN" \
"kb tree 卢向东的个人知识库/飞书知识导入目录/ --depth 2 --limit 50"
如果目标目录尚未创建,应先在AIS中创建或由AIS Skill创建。
2. 上传Office或PDF文件
"$AIS_KB_BIN" \
--upload-file "$FEISHU_SYNC_DIR/staging/文档名称.docx" \
--path-name "$AIS_TARGET_PATH"
电子表格:
"$AIS_KB_BIN" \
--upload-file "$FEISHU_SYNC_DIR/staging/表格名称.xlsx" \
--path-name "$AIS_TARGET_PATH"
3. 上传加工后的Markdown
"$AIS_KB_BIN" \
--upload-file "$FEISHU_SYNC_DIR/staging/项目风险台账.md" \
--path-name "$AIS_TARGET_PATH"
4. 验证AIS结果
保存上传接口返回的AIS文档编码,然后读回:
"$AIS_KB_BIN" "kb cat --code <AIS文档编码> --head 160"
端到端成功需要同时满足:
- 飞书接口返回成功;
- 所有分页读取完成;
- 下载或生成的本地文件存在且大小正常;
- AIS返回稳定文档编码;
- 文件出现在正确目录;
- AIS知识加工完成并能读回正文;
- 关键标题、正文、表格字段和记录抽样核对正确。
十一、同步清单设计
每个源对象建议记录:
{
"sourceSystem": "feishu",
"sourceContainerType": "wiki",
"spaceId": "<wiki space_id>",
"nodeToken": "<wiki node_token>",
"objectToken": "<obj_token>",
"objectType": "docx",
"sourcePath": "产品知识库/安装部署/私有化部署指南",
"sourceTitle": "私有化部署指南",
"sourceUrl": "https://example.feishu.cn/wiki/xxxxx",
"sourceUpdatedAt": "2026-08-24T15:30:00+08:00",
"sourceVersion": 18,
"localFile": "staging/私有化部署指南.docx",
"sha256": "<本地文件SHA-256>",
"aisDirectoryCode": "<AIS目录编码>",
"aisDocumentCode": "<AIS文档编码>",
"syncStatus": "SUCCESS",
"lastSyncedAt": "2026-08-24T16:00:00+08:00"
}
源对象主键建议:
| 内容 | 主键 |
|---|---|
| 知识库节点 | space_id + node_token |
| 云空间资源 | type + token |
| 在线文档 | document_id 或真实 obj_token |
| 电子表格 | spreadsheet_token |
| 多维表格数据表 | app_token + table_id |
| 多维表格记录 | app_token + table_id + record_id |
不要只使用文件名作为主键。
十二、增量同步方案

建议采用:
- 文档:
obj_token + revision_id/版本号 + update_time; - 普通文件:
file_token + size + update_time + SHA-256; - 电子表格:
spreadsheet_token + update_time,必要时计算规范化内容哈希; - 多维表格记录:
record_id + last_modified_time; - 同步失败:保持上次成功版本,不覆盖为损坏或空文档。
十三、权限与删除策略
1. 权限不能只在导入时检查一次
飞书资源权限可能随时变化。生产同步应定期检查:
- 应用是否仍有知识空间访问权;
- 文件夹或文档是否取消共享;
- 文档是否启用高级权限或水印;
- AIS目标目录是否具有匹配的访问范围。
2. ACL映射
推荐在同步清单中保存源权限摘要:
{
"sourceAcl": {
"visibility": "restricted",
"departments": ["产品部"],
"users": ["ou_xxx"],
"groups": ["oc_xxx"]
}
}
如果AIS无法一一映射飞书ACL,应按照更严格的权限创建独立知识库或目录,不能直接降级为全员可见。
3. 删除策略
初期建议:
- 飞书源文档删除:AIS中标记“源已删除”并告警;
- 飞书权限收回:暂停服务该文档并告警;
- 不自动物理删除AIS内容;
- 管理员确认后执行归档或软删除。
十四、常见问题
1. 能列出知识库,但读取文档报无权限
API权限和资源权限是两层控制。需要确认:
- 应用版本已经发布和审批;
- 已申请对应文档类型的只读权限;
- 应用已加入目标知识库或文档协作范围;
- 使用的Token身份与授权方式一致。
2. 为什么知识库node_token不能直接读取正文
知识库节点是组织层标识。需要先调用节点信息接口取得 obj_token 和 obj_type,再调用文档、表格或多维表格接口。
3. 普通文件和在线文档有什么区别
普通文件有可直接下载的二进制内容;在线文档是云端结构化对象,需要读取内容API或创建导出任务。
4. 导出任务为什么不能立即下载
飞书云文档导出是异步任务,需要先创建任务,再轮询状态,获得导出产物的 file_token 后下载。
5. 电子表格应该上传XLSX还是转Markdown
建议两者并存:
- XLSX保留原始数据和版式;
- Markdown保留字段语义,方便问答和Agent检索。
6. 多维表格应该按表还是按记录生成文档
- 记录少、需要整体分析:按数据表生成;
- 客户、项目、产品、风险等实体数据:按记录生成;
- 可以同时生成表级说明和记录级知识。
7. 如何避免快捷方式导致重复导入
解析 shortcut_info 指向的真实Token,使用真实资源Token去重,路径关系单独保留。
8. 是否可以直接全企业扫描
不建议。应明确知识空间、根文件夹、最大深度、最大页数和最大文件数,从小范围只读POC开始。
十五、建议的实施顺序
第一阶段:POC
选择:
- 一个小型飞书知识库;
- 一个云空间测试文件夹;
- 一篇在线文档;
- 一个电子表格;
- 一个多维表格。
完成“发现 → 读取/导出 → 上传AIS → 读回验证”。
第二阶段:增量同步
增加:
- 定时任务;
- 分页与递归;
- 同步清单;
- 哈希与版本判断;
- 失败重试;
- AIS稳定编码映射。
第三阶段:企业级治理
增加:
- 飞书ACL到AIS权限映射;
- 敏感内容识别;
- 删除和权限收回处理;
- 审计日志;
- 知识健康检查;
- 文档版本合并;
- 同步质量看板。
十六、官方参考资料
- 一、整体架构
- 二、内容类型与AIS接入方式
- 为什么多维表格不应只导出为Excel
- 三、准备条件
- 1. 创建飞书企业自建应用
- 2. 给应用授予文档访问权限
- 3. 本地目录
- 四、获取飞书访问凭证
- 五、导入飞书知识库
- 1. 获取知识空间列表
- 2. 获取知识库根节点
- 3. 获取某个节点的子节点
- 4. 解析知识库节点的真实资源
- 六、导入飞书云空间
- 1. 确定目标文件夹Token
- 2. 列出文件夹内容
- 3. 下载普通文件
- 七、导入飞书在线文档
- 策略A:导出为DOCX
- 1. 创建导出任务
- 2. 查询导出任务
- 3. 下载导出结果
- 策略B:读取正文并生成Markdown
- 1. 获取纯文本
- 2. 获取文档Block
- 八、导入飞书电子表格
- 策略A:导出为XLSX
- 策略B:读取工作表并生成结构化文本
- 1. 获取工作表列表
- 2. 读取单元格范围
- AIS加工建议
- 九、导入飞书多维表格
- 1. 获取数据表列表
- 2. 获取字段定义
- 3. 获取记录
- 4. 将记录转换为AIS知识
- 一张数据表生成一个文档
- 每条记录生成一个文档
- 5. 特殊字段处理
- 十、上传到TorchV AIS
- 1. 检查目标目录
- 2. 上传Office或PDF文件
- 3. 上传加工后的Markdown
- 4. 验证AIS结果
- 十一、同步清单设计
- 十二、增量同步方案
- 十三、权限与删除策略
- 1. 权限不能只在导入时检查一次
- 2. ACL映射
- 3. 删除策略
- 十四、常见问题
- 1. 能列出知识库,但读取文档报无权限
- 2. 为什么知识库node_token不能直接读取正文
- 3. 普通文件和在线文档有什么区别
- 4. 导出任务为什么不能立即下载
- 5. 电子表格应该上传XLSX还是转Markdown
- 6. 多维表格应该按表还是按记录生成文档
- 7. 如何避免快捷方式导致重复导入
- 8. 是否可以直接全企业扫描
- 十五、建议的实施顺序
- 第一阶段:POC
- 第二阶段:增量同步
- 第三阶段:企业级治理
- 十六、官方参考资料