返回顶部
f

feishu-doc-sync飞书文档同步

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
325
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

feishu-doc-sync

飞书文档工具

单一工具 feishu_doc,通过 action 参数执行所有文档操作,包括 Docx 表格创建。

Token 提取

从 URL https://xxx.feishu.cn/docx/ABC123def → doc_token = ABC123def

操作

读取文档

json
{ action: read, doc_token: ABC123def }

返回:标题、纯文本内容、块统计信息。检查 hint 字段——如果存在,则表示存在需要 list_blocks 的结构化内容(表格、图片)。

写入文档(全部替换)

json
{ action: write, doc_token: ABC123def, content: # 标题\n\nMarkdown 内容... }

用 Markdown 内容替换整个文档。支持:标题、列表、代码块、引用、链接、图片(url 自动上传)、粗体/斜体/删除线、以及 Markdown 表格

追加内容

json
{ action: append, doc_token: ABC123def, content: 附加内容 }

将 Markdown 内容追加到文档末尾。支持与 write 相同的内容类型,包括 Markdown 表格。

插入内容(定位插入)

json
{
action: insert,
doc_token: ABC123def,
afterblockid: doxcnXXX,
content: 包含表格的 Markdown 内容...
}

在指定块之后插入内容。内部使用 Descendant API,支持包括表格在内的所有块类型。

关键用法: 这是在精确位置插入内容的主要方式。先使用 listblocks 查找 afterblock_id。

创建文档

json
{ action: create, title: 新文档, owneropenid: ou_xxx }

带文件夹:

json
{
action: create,
title: 新文档,
folder_token: fldcnXXX,
owneropenid: ou_xxx
}

重要: 始终传递 owneropenid 为请求用户的 openid(来自入站元数据 senderid),以便用户自动获得所创建文档的 full_access 权限。否则,只有机器人应用有权访问。

列出块

json
{ action: listblocks, doctoken: ABC123def }

返回完整的块数据,包括表格、图片。用于读取结构化内容和查找用于定位的块 ID。

获取单个块

json
{ action: getblock, doctoken: ABC123def, block_id: doxcnXXX }

更新块文本

json
{
action: update_block,
doc_token: ABC123def,
block_id: doxcnXXX,
content: 包含粗体和代码的新文本
}

支持 Markdown 内联样式:粗体、 代码 、链接、~~删除线~~。

支持的块类型: 文本、标题、无序列表、有序列表、代码、引用、待办事项。

⚠️ 不适用于表格: 对表格单元格使用 update_block 会将内容替换为纯文本,破坏所有内联格式(内联代码、粗体等)。

删除块

json
{ action: deleteblock, doctoken: ABC123def, block_id: doxcnXXX }

创建表格

json
{
action: create_table,
doc_token: ABC123def,
row_size: 2,
column_size: 2,
column_width: [200, 200]
}

⚠️ 定位不可靠: parentblockid 和 index 参数对表格无效——表格始终出现在文档末尾。如需定位表格,请改用带 afterblockid 的 insert 操作。

写入表格单元格

json
{
action: writetablecells,
doc_token: ABC123def,
tableblockid: doxcnTABLE,
values: [
[A1, B1],
[A2, B2]
]
}

将纯文本写入表格单元格。单元格值支持 Markdown 内联样式。

注意: 此操作会清除并重建单元格子元素。适用于初始表格填充或整格替换,但不适用于部分单元格编辑。

一步创建带值的表格

json
{
action: createtablewith_values,
doc_token: ABC123def,
row_size: 2,
column_size: 2,
column_width: [200, 200],
values: [[A1, B1], [A2, B2]]
}

⚠️ 与 create_table 相同的定位问题——如需定位表格,请使用 insert 操作。

表格行/列操作

json
{ action: inserttablerow, doctoken: ..., tableblockid: ..., rowindex: -1 }
{ action: inserttablecolumn, doctoken: ..., tableblockid: ..., columnindex: -1 }
{ action: deletetablerows, doctoken: ..., blockid: ..., rowstart: 1, rowcount: 1 }
{ action: deletetablecolumns, doctoken: ..., blockid: ..., columnstart: 0, columncount: 1 }
{ action: mergetablecells, doctoken: ..., tableblockid: ..., rowstart: 0, rowend: 2, columnstart: 0, column_end: 2 }

deletetablerows 的注意事项: 使用 blockid(而非 tableblockid)、rowstart(而非 row_index)。

上传图片

json
{ action: uploadimage, doctoken: ABC123def, url: https://example.com/image.png }

或带位置控制的本地路径:

json
{
action: upload_image,
doc_token: ABC123def,
file_path: /tmp/image.png,
parentblockid: doxcnParent,
index: 5
}

或 base64 数据 URI:

json
{
action: upload_image,
doc_token: ABC123def,
image: data:image/png;base64,iVBOR...
}

注意: 图片显示大小由上传图片的像素尺寸决定。对于小图片(如 480x270),请在上传前缩放到 800px 以上宽度。

上传文件附件

json
{ action: uploadfile, doctoken: ABC123def, url: https://example.com/report.pdf }

或本地路径:

json
{ action: uploadfile, doctoken: ABC123def, file_path: /tmp/report.pdf, filename: Q1-report.pdf }

文本着色

json
{
action: color_text,
doc_token: ABC123def,
block_id: doxcnXXX,
content: 彩色文本,
color: red
}

读取工作流

  1. 1. 从 action: read 开始——获取纯文本 + 统计信息
  2. 检查响应中的 blocktypes,查找表格、图片、代码等
  3. 如果存在结构化内容,使用 action: listblocks 获取完整数据

增量同步最佳实践

何时使用增量同步 vs 全量同步

  • - 修改块数 < 5 → 增量同步(删除 + 插入单个块)
  • 修改块数 > 80% → 全量同步(使用 write 操作全部替换)
  • 单个表格修改 → 删除旧表格 + 插入新表格

表格更新策略:删除 + 插入

表格永远不应原地编辑。始终:

  1. 1. listblocks → 找到表格前的块(anchorblockid)
  2. deleteblock(blockid = oldtableid)
  3. insert(afterblockid = anchorblock_id, content = | 新 | 表格 |...)

为什么不原地编辑?

  • - 对表格单元格使用 updateblock → 剥离内联格式(内联代码、粗体、链接全部变为纯文本)
  • writetablecells → 清除并重建单元格子元素,同样导致格式丢失
  • createtable / createtablewith_values → 定位不可靠

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 feishu-doc-sync-1776206634 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 feishu-doc-sync-1776206634 技能

通过命令行安装

skillhub install feishu-doc-sync-1776206634

下载

⬇ 下载 feishu-doc-sync v1.0.0(免费)

文件大小: 4.85 KB | 发布时间: 2026-4-15 12:50

v1.0.0 最新 2026-4-15 12:50
Initial release: 飞书文档增量同步与表格操作指南。覆盖表格更新策略(delete+insert)、header_row设置、insert action、列宽算法、三阶段diff同步。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部