lark-wiki-writer
v3将 Markdown 格式内容解析并写入飞书知识库,支持标题、多级列表、富文本、代码块和本地图片自动上传插入。
运行时依赖
安装命令
点击复制技能文档
Lark Wiki Writer
飞书知识库文档写入器 - 支持 Markdown 解析、富文本、标题识别。
快速开始 步骤 1:创建飞书应用 访问 飞书开放平台 点击"创建企业自建应用" 填写应用名称和描述 记录 应用 ID 和 应用 Secret 步骤 2:配置应用权限
在应用管理页面,添加以下权限:
✅ 知识库 → 查看、编辑和管理知识空间 ✅ 文档 → 查看、编辑和管理文档 步骤 3:获取知识库 Space ID 打开飞书知识库 在浏览器地址栏找到 Space ID(长数字串) 例如:https://xxx.larksuite.com/wiki/space/7603663680785370844 Space ID 就是 7603663680785370844 步骤 4:获取父节点 令牌(可选)
如果要在特定目录下创建文档:
打开目标目录 在地址栏找到 node_令牌 例如:https://xxx.larksuite.com/wiki/JieGwPB0MiKhPbkkq9cltbPIgid 父节点 令牌 就是 JieGwPB0MiKhPbkkq9cltbPIgid 步骤 5:配置环境变量 导出 LARK_应用_ID="命令行工具_xxxxxxxxxx" 导出 LARK_应用_SECRET="xxxxxxxxxxxxxx" 导出 LARK_SPACE_ID="7603663680785370844" 导出 LARK_WIKI_DOMAIN="your-domAIn.larksuite.com" # 可选 导出 LARK_PARENT_NODE="JieGwPB0MiKhPbkkq9cltbPIgid" # 可选
或者创建配置文件 config.json:
{ "应用_id": "命令行工具_xxxxxxxxxx", "应用_secret": "xxxxxxxxxxxxxx", "space_id": "7603663680785370844", "wiki_domAIn": "your-domAIn.larksuite.com" }
步骤 6:验证配置 python3 lark_wiki_writer.py 验证 \ --应用-id YOUR_应用_ID \ --应用-secret YOUR_应用_SECRET \ --space-id YOUR_SPACE_ID
输出示例:
📊 配置验证结果
应用_ID: ✅ 应用_SECRET: ✅ Space ID: ✅ 令牌 获取: ✅ 知识库访问: ✅
核心功能
- 标题识别
根据 # 数量自动识别标题级别:
Markdown 飞书 Block # 标题 heading1
二级标题 heading2
三级标题 heading3
... ... ###### 六级标题 heading6- 富文本支持
行内代码 行内代码
链接 链接
- 列表支持
- 无序列表项 1
- 无序列表项 2
- 有序列表项 1
- 有序列表项 2
- 代码块
def hello():
print("Hello World")
支持的语言:python, javascript, typescript, go, rust, java, c, cpp, shell, bash, sql, html, css, json, yaml, xml, markdown
- 分隔线
或
使用方法 方式 1:命令行参数 # 创建文档 python3 lark_wiki_writer.py 创建 "文档标题" "# 内容" \ --应用-id YOUR_应用_ID \ --应用-secret YOUR_应用_SECRET \ --space-id YOUR_SPACE_ID \ --parent YOUR_PARENT_NODE
# 从文件写入 python3 lark_wiki_writer.py write_file "文档标题" /path/to/file.md \ --应用-id YOUR_应用_ID \ --应用-secret YOUR_应用_SECRET \ --space-id YOUR_SPACE_ID
方式 2:环境变量 # 设置环境变量 导出 LARK_应用_ID="命令行工具_xxx" 导出 LARK_应用_SECRET="xxx" 导出 LARK_SPACE_ID="xxx" 导出 LARK_PARENT_NODE="xxx"
# 使用 python3 lark_wiki_writer.py 创建 "文档标题" "# 内容" python3 lark_wiki_writer.py write_file "文档标题" 报告.md
方式 3:Python API from lark_wiki_writer 导入 LarkWikiWriter
# 初始化 writer = LarkWikiWriter( 应用_id="命令行工具_xxx", 应用_secret="xxx", space_id="xxx", wiki_domAIn="your-domAIn.larksuite.com" )
# 创建并写入 doc = writer.创建_and_write( title="我的文档", content=""" # 主标题
二级标题
这是加粗和斜体*内容。
列表
- 项目1
- 项目2
代码
bash python3 lark_wiki_writer.py 创建 "测试文档" "# Hello Worldprint("Hello")""", parent_node_令牌="YOUR_PARENT_NODE" )
print(f"文档链接: {doc['url']}")
完整示例
示例 1:创建简单文档
这是一个测试文档。
功能
- 支持 Markdown
- 支持富文本
- 支持代码块" \
示例 2:从 Markdown 文件创建
创建文件 报告.md:
# 研究报告
摘要
这是一份关于 Polymarket 的研究报告。
主要发现
- 市场规模持续增长
- 用户活跃度提升
- 技术架构稳定
数据分析
bash python3 lark_wiki_writer.py write_file "Polymarket 研究报告" 报告.md \ --应用-id 命令行工具_xxx \ --应用-secret xxx \ --space-id xxx \ --parent JieGwPB0MiKhPbkkq9cltbPIgid导入 pandas as pddata = pd.read_csv("data.csv") print(data.head())
结论
Polymarket 是一个值得关注的预测市场平台。
报告完成于 2026-03-11
写入飞书:
故障排查 问题 1:应用_ID 或 应用_SECRET 错误
错误信息:
❌ 配置错误: 应用_ID 或 应用_SECRET 错误,请检查配置
解决方法:
检查 应用 ID 和 应用 Secret 是否正确 确认应用状态是否正常 重新获取凭证 问题 2:应用权限不足
错误信息:
❌ 配置错误: 应用权限不足,请在飞书开放平台添加知识库权限
解决方法:
进入飞书开放平台 选择你的应用 添加"知识库"和"文档"权限 重新获取 访问_令牌 问题 3:找不到知识库
错误信息:
❌ 知识库访问: ❌ space not found
解决方法:
检查 Space ID 是否正确 确认应用有访问该知识库的权限 确认知识库未被删除 问题 4:缺少配置
错误信息:
❌ 配置错误: 缺少 LARK_应用_ID,请通过参数或环境变量提供
解决方法:
通过 --应用-id 参数提供 或设置 LARK_应用_ID 环境变量 技术细节 API 端点 功能 端点 获取 令牌 POST /open-APIs/auth/v3/tenant_访问_令牌/internal 创建文档 POST /open-APIs/wiki/v2/spaces/{space_id}/nodes 获取 blocks 获取 /open-APIs/docx/v1/documents/{obj_令牌}/blocks 写入 blocks POST /open-APIs/docx/v1/documents/{obj_令牌}/blocks/{block_id}/children Block Type 对照 Block Type 说明 2 段落文本 3-11 heading1-heading9 12 无序列表 13 有序列表 14 代码块 22 分隔线 写入策略 将 Markdown 解析为 block 结构 批量写入(每批 10 个 blocks) 块之间间隔 300ms 避免 API 限制 注意事项 ⚠️ 令牌 有效期:访问_令牌 有效期 2 小时,过期需重新获取 ⚠️ API 限速:建议每秒不超过 10 次请求 ⚠️ 内容长度:单个 block 内容不要超过 5000 字符 ⚠️ 图片功能:当前版本图片功能为占位符,实际上传功能待完善 常见问题 Q: 如何获取飞书域名?
A: 在浏览器中打开飞书知识库,地址栏中的域名就是你的飞书域名。例如:
https://omq113gwol.sg.larksuite.com/ → 域名是 omq113gwol.sg.larksuite.com Q: 父节点 令牌 是必需的吗?
A: 不是必需的,但建议提供。如果不提供,需要设置 LARK_PARENT_NODE 环境变量。
Q: 支持哪些 Markdown 语法?
A: 支持标题、加粗、斜体、删除线、行内代码、链接、列表、代码块、分隔线。
Q: 可以更新已有文档吗?
A: 当前版本只支持创建新文档,不支持更新已有文档。
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull 请求!
更新日志 v1.0.0 (2026-03-11) ✅ 支持 Markdown 解析 ✅ 支持富文本格式 ✅ 支持标题识别 ✅ 支持列表和代码块 ✅ 添加配置验证命令 ✅ 改进错误提示