跳转到内容
灵墨笔记

OpenClaw自动写入飞书文档踩坑记录

更新于:
编辑本页

最近我的小龙虾OpenClaw终于能干一些活了。由于我的小龙虾是养在mac mini上的虚机里面的,就想着如何把它的产出及时共享出来,方便我在其他设备上查看和审核。前后折腾了小半天,说实话,这个过程中踩的坑比我想象的多得多,写下来让后来人少走弯路。

写入 iCloud 直接同步到电脑和手机

我的思路:虚机也是macOS,那让 AI 助手直接把文档写到本地 iCloud 目录,利用 iCloud 的自动同步功能就能在所有设备间共享了…

优点(或者说我的愿景)

  • Mac 电脑和 iPhone 随时可以访问
  • 可以用 iCloud 上的笔记工具,例如 Obsidian,随时打开和编辑

缺点

  • 权限问题配置复杂

踩坑:OpenClaw 无权限访问 iCloud 目录,目前还没找到方法。

通过 SSH/SFTP 拉取文档(OpenClaw 给出的备选方案)

OpenClaw 的思路:把文档写到 Mac mini 指定目录,然后远程电脑通过 SSH 或 SFTP 协议远程拉取…

优点

  • 实现简单

缺点

  • 由于没有公网 IP,需要借助其他网络工具实现远程访问 Mac mini
  • 手机上访问更麻烦

踩坑记录

  • 无坑,这个方案本身没问题,只是使用起来不够方便

我最终的选择:写入飞书文档

我的思路:飞书文档 skill 在对接飞书 channel 的时候就自动安装了的,那为何不让 OpenClaw 直接在飞书里创建和编辑文档呢…

可以预想到的优点

  • ✅ 多人协作能力强,团队实时同步
  • ✅ 飞书客户端体验好,全平台支持
  • ✅ 权限管理精细,可以精确控制谁能看、谁能编辑
  • ✅ 支持评论、@提醒等功能,方便沟通
  • ✅ 文档可以和飞书的其他功能集成(日程、任务等)

缺点

  • ❌ 配置最复杂,需要申请权限、调试 API
  • ❌ API 调用有频率限制,不能太频繁

踩坑记录

坑1: 权限不存在

看了错误信息才发现:缺少 docx:document:create 权限。我之前只开通了 docx:document 基础权限。

说实话,第一次在飞书开放平台申请权限时,真的没仔细看权限描述,把这个关键的给漏了。

还有个坑:有些教程里提到的 docs:document.content:write 权限根本不存在,估计是老版本的权限名称,照着配置会踩坑。

一番搜索发现飞书的权限系统是分层设计的:

  • docx:document - 基础权限,允许访问文档 API
  • docx:document:create - 创建文档的独立权限
  • docx:document:readonly - 读取文档内容
  • docx:document:write_only - 写入文档内容

一通配置这些权限,再试。

坑2:文档只有查看权限

好不容易解决创建问题,文档倒是创建成功了,但我打开一看——只有”查看”权限,不能编辑。

这个问题折腾了好久。我让 OpenClaw 给我编辑权限,但一直没生效。在对话里反复测试,创建了好几个文档,结果都一样。

此时小龙虾有点脑抽了,他竟然让我自己编辑权限。误导太厉害了!一番追问下,发现 OpenClaw 创建文档时无法自动识别我的飞书用户身份,所以没法给我自动授权。飞书的权限系统需要明确知道谁是要授权的用户(open_id),但 AI 助手只知道我在”让它写文档”,不知道我的 open_id 是什么。

其实这不是根本问题。根本问题还是给应用分配的权限不足——要管理文档权限成员,需要 docs:permission.member 相关的权限。这个权限不在文档操作权限组里,而是在”权限管理”类别下。

完整权限清单

折腾了半天,总共申请了 4 次权限,从最初的 29 个权限加到 70 个权限。

如果一开始就知道需要这些权限,能省好多事:

基础文档权限:

  • docx:document - 文档基础权限(访问 API)
  • docx:document:create - 创建文档(容易漏)
  • docx:document:readonly - 读取文档内容(容易漏)
  • docx:document:write_only - 写入文档内容

权限管理:

  • docs:permission.member - 管理文档成员权限(容易漏)
  • docs:permission.share - 分享文档(可选)

其他可能需要的:

  • drive:drive - 如果需要操作云盘文件
  • contact:user.base:readonly - 如果需要查询用户信息(获取 open_id)

建议第一次申请权限时,把这些权限都一起申请了。审核虽然慢点,但省得反复折腾。

附上我完整的权限列表,共享给需要的人

去飞书开放平台导入即可:飞书开放平台

{
  "scopes": {
    "tenant": [
      "docs:doc",
      "docs:doc:readonly",
      "docs:event:subscribe",
      "docs:permission.member",
      "docs:permission.member:auth",
      "docs:permission.member:create",
      "docs:permission.member:delete",
      "docs:permission.member:retrieve",
      "docs:permission.member:transfer",
      "docs:permission.member:update",
      "docs:permission.setting",
      "docs:permission.setting:read",
      "docs:permission.setting:readonly",
      "docs:permission.setting:write_only",
      "aily:file:read",
      "aily:file:write",
      "application:application.app_message_stats.overview:readonly",
      "application:application.self_manage",
      "application:bot.menu:write",
      "cardkit:card:write",
      "contact:user.employee_id:readonly",
      "corehr:file:download",
      "docs:document.comment:create",
      "docs:document.comment:read",
      "docs:document.comment:update",
      "docs:document.comment:write_only",
      "docs:document.content:read",
      "docs:document.media:download",
      "docs:document.media:upload",
      "docs:document.subscription",
      "docs:document.subscription:read",
      "docs:document:copy",
      "docs:document:export",
      "docs:document:import",
      "docs:event.document_deleted:read",
      "docs:event.document_edited:read",
      "docs:event.document_opened:read",
      "docx:document",
      "docx:document.block:convert",
      "docx:document:create",
      "docx:document:readonly",
      "docx:document:write_only",
      "event:ip_list",
      "im:chat",
      "im:chat.access_event.bot_p2p_chat:read",
      "im:chat.members:bot_access",
      "im:chat.members:read",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.group_msg",
      "im:message.p2p_msg:readonly",
      "im:message:readonly",
      "im:message:send_as_bot",
      "im:resource",
      "sheets:spreadsheet",
      "sheets:spreadsheet:create",
      "sheets:spreadsheet:write_only",
      "slides:presentation:create",
      "slides:presentation:write_only",
      "space:document.event:read",
      "space:document:delete",
      "space:document:move",
      "space:document:retrieve",
      "space:document:shortcut",
      "space:folder:create",
      "wiki:space:write_only",
      "wiki:wiki:readonly"
    ],
    "user": [
      "aily:file:read",
      "aily:file:write",
      "im:chat.access_event.bot_p2p_chat:read"
    ]
  }
}

你给 AI 助手开通飞书权限时踩过坑吗?评论区聊聊。


编辑本页
扫描二维码分享
打开应用扫一扫,即可分享