Install
openclaw skills install lejian-feishu-sheet乐荐飞书电子表格。乐荐飞书电子表格(Sheets)完整操作。当需要创建、读取或编辑飞书电子表格时激活此 skill。 支持:创建表格、读写单元格、追加数据、图片插入、样式设置、合并单元格、行列操作、查找替换。 基于官方 feishu-sheet 1.2.0 修复了 v2 API 读取问题。 需要飞书应用凭证:channels.feishu.appId 和 channels.feishu.appSecret(配置在 ~/workspace/agent/openclaw.json 中)。 飞书应用需开通 sheets:spreadsheet 权限。建议使用仅含表格权限的最小化飞书应用。
openclaw skills install lejian-feishu-sheet通过 exec 调用 ~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh 脚本操作飞书电子表格。
~/workspace/agent/openclaw.json 中必须配置 channels.feishu,包含 appId 和 appSecretsheets:spreadsheet)curl、python3、bash凭证自动从 openclaw.json 读取,无需手动配置。可通过 OPENCLAW_CONFIG 环境变量指定配置文件路径。
操作返回 success: false 时,返回值中会包含字段说明当前权限状态:
| 返回字段 | 含义 |
|---|---|
error: PERMISSION_DENIED | 权限不足,不是代码问题 |
detail: read_only | 当前只有只读权限 |
hint | 友好的中文说明,告知实际需要什么权限 |
常见错误码:
| 错误码 | 含义 | 解决方案 |
|---|---|---|
91403 / Forbidden | 表格只有只读权限,需要编辑权限 | 将表格分享给飞书应用的机器人,或换用有编辑权限的账号 |
99991668 | Token 无效或已过期 | 重启 OpenClaw 或刷新应用凭证 |
标准表格链接:
从 URL https://feishu.cn/sheets/shtcnABC123 → spreadsheet_token = shtcnABC123
乐荐 Wiki 链接(特殊说明):
乐荐的飞书电子表格链接常显示为 wiki 地址,如 https://lejian.feishu.cn/wiki/NaSRwUsZMixAiGkfaIAc4eADnvf。
这种链接的 token 就是 wiki token 本身(如 NaSRwUsZMixAiGkfaIAc4eADnvf),不需要额外转换,直接作为 spreadsheet_token 使用即可正常调用 meta/write 等所有操作。
判断方式:链接中出现 /wiki/ 且后面没有 /sheets/ → 直接取 wiki token 作为表格 token
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh create '表格标题'"
返回 spreadsheet_token 和 URL。可选第二参数 folder_token。
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh meta shtcnABC123"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh read TOKEN 'sheetId!A1:C10'"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh read_multi TOKEN 'sheetId!A1:C10' 'sheetId!E1:F5'"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A1:C2' '[[\"表头1\",\"表头2\",\"表头3\"],[\"数据1\",100,true]]'"
values 是 JSON 二维数组。字符串用引号,数字和布尔值不用。
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh append TOKEN 'sheetId!A1:C1' '[[\"新行1\",\"新行2\",\"新行3\"]]'"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh prepend TOKEN 'sheetId!A1:C1' '[[\"插入行1\",\"插入行2\",\"插入行3\"]]'"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh insert_image TOKEN 'sheetId!E1:E1' /path/to/image.png"
图片会填充到指定单元格内。Range 必须是单个单元格。
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh float_image TOKEN sheetId /path/to/image.png 'sheetId!F1:F1' 400 300"
参数:token, sheet_id, 文件路径, 锚点单元格(可选), 宽度(可选), 高度(可选)
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh float_image_url TOKEN sheetId 'https://example.com/image.png' 'sheetId!F1:F1' 400 300"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh style TOKEN 'sheetId!A1:D1' '{\"bold\":true,\"foreColor\":\"#FFFFFF\",\"backColor\":\"#4472C4\",\"fontSize\":14}'"
支持的样式属性:
bold (bool) — 加粗italic (bool) — 斜体foreColor (string) — 字体颜色,如 #FF0000backColor (string) — 背景颜色,如 #FFFF00fontSize (int) — 字号,如 14horizontalAlign (int) — 水平对齐:0=左, 1=中, 2=右verticalAlign (int) — 垂直对齐:0=上, 1=中, 2=下textDecoration (int) — 0=无, 1=下划线, 2=删除线, 3=两者都有exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh style_batch TOKEN '{\"data\":[{\"ranges\":\"sheetId!A1:D1\",\"style\":{\"bold\":true}},{\"ranges\":\"sheetId!A2:D10\",\"style\":{\"fontSize\":12}}]}'"
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh merge TOKEN 'sheetId!A1:D1' MERGE_ALL"
合并类型:MERGE_ALL(全部合并)、MERGE_ROWS(按行合并)、MERGE_COLUMNS(按列合并)
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh unmerge TOKEN 'sheetId!A1:D1'"
# 添加工作表
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh add_sheet TOKEN '工作表名称'"
# 删除工作表
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh delete_sheet TOKEN sheetId"
# 复制工作表
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh copy_sheet TOKEN sourceSheetId '副本名称'"
# 末尾加 10 行
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh add_rows TOKEN sheetId 10"
# 末尾加 5 列
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh add_cols TOKEN sheetId 5"
# 在第3行前插入到第5行(0-indexed)
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh insert_rows TOKEN sheetId 3 5"
# 删除第3到第5行
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh delete_rows TOKEN sheetId 3 5"
# 删除第2到第4列
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh delete_cols TOKEN sheetId 2 4"
# 查找
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh find TOKEN sheetId '关键词'"
# 替换
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh replace TOKEN sheetId '旧文本' '新文本'"
# 1. 创建表格
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh create '月度报表'"
# → 得到 spreadsheet_token
# 2. 获取 sheet_id
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh meta TOKEN"
# → 得到 sheet_id
# 3. 写入表头
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A1:D1' '[[\"项目\",\"负责人\",\"进度\",\"备注\"]]'"
# 4. 设置表头样式(加粗+蓝底白字)
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh style TOKEN 'sheetId!A1:D1' '{\"bold\":true,\"backColor\":\"#4472C4\",\"foreColor\":\"#FFFFFF\",\"fontSize\":13}'"
# 5. 写入数据
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A2:D4' '[[\"功能A\",\"张三\",\"80%\",\"进行中\"],[\"功能B\",\"李四\",\"100%\",\"已完成\"],[\"功能C\",\"王五\",\"30%\",\"延期\"]]'"
# 6. 插入图片
exec command="~/workspace/agent/skills/lejian-feishu-sheet/scripts/feishu-sheet.sh float_image_url TOKEN sheetId 'https://example.com/chart.png' 'sheetId!F1:F1' 500 300"
以下操作属于高危操作,执行前必须先向用户确认:
| 操作 | 命令 | 确认要求 |
|---|---|---|
| 删除工作表 | delete_sheet | 必须确认 sheetId 和表格 TOKEN |
| 删除行 | delete_rows | 必须确认 sheetId、起始行、结束行 |
| 删除列 | delete_cols | 必须确认 sheetId、起始列、结束列 |
| 查找替换 | replace | 必须向用户展示将被替换的内容 |
| 合并单元格 | merge | 必须确认范围 |
| 拆分单元格 | unmerge | 必须确认范围 |
确认格式示例:
⚠️ 即将删除工作表「sheetId: abc123」在表格「TOKEN: xxx」中,此操作不可恢复。是否确认?
只有在用户明确回复「确认」「好的」「是」时才执行。
sheetId 前缀,用 meta 命令获取insert_image 的 range 必须是单个单元格(如 A1:A1)~/workspace/agent/openclaw.json 的 channels.feishu 读取,无需手动配置