← ClaudeAtlas

feishu-docslisted

读写飞书云文档(sheet / docx / 多维表格)。当请求里出现飞书链接(*.feishu.cn/wiki|sheets|docx|base)或要求把内容写进飞书文档、回填飞书表格、从飞书文档取数时自动使用。
njh20030605-code/claude-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill njh20030605-code/claude-skills
# 飞书云文档读写 只要用户消息里出现飞书链接,或提到「写进飞书 / 回填飞书表格 / 从飞书文档取数 / 更新飞书 sheet」,就走这套流程。 **三条路,按优先级:A 沙箱 curl → B 浏览器直调 open-apis → C 富文本剪贴板粘贴。** A 走不通不要停下来找用户,**直接降级到 B**(2026-09-11 实测 B 完全可用且不需要改任何设置)。 --- ## 0. 选路(每次第一步) ```bash curl -s -o /dev/null -w "%{http_code}\n" --max-time 10 https://open.feishu.cn/ ``` | 结果 | 走哪条 | |---|---| | `200/4xx` | **路线 A**(沙箱 curl,最省事) | | `000` + `CONNECT tunnel failed 403` / `host_not_allowed` | **路线 B**(浏览器直调) | | B 也不行(没凭证 / 应用没协作者权限) | **路线 C**(剪贴板粘贴,只能写值和底色) | 🔴 **403 是组织 egress 策略拒绝,不要重试、不要找镜像域名。** 注意:白名单里**即使已经有 `open.feishu.cn`,本会话沙箱可能仍然 403** —— 出网策略是容器启动时抓的快照,会话中途改不生效。这种情况别让用户反复去改设置,直接走 B。 --- ## 1. 凭证(A / B 共用) 自建应用的 `app_id` / `app_secret`。按顺序找: 1. 环境变量 `FEISHU_APP_ID` / `FEISHU_APP_SECRET` 2. `~/.feishu-app.env`(`KEY=VALUE` 两行) 3. 都没有 → 问用户 - **不要主动去飞书开发者后台把 secret 翻出来**,让用户自己给。 - **绝不把 secret 写进 skill、项目文档、memory,或在对话里回显。** - 提醒用户:贴在对话里会留在记录中,介意就用完去后台重置。 - token 有效期 2h,长任务中途要重新取。 ## 2. 权限(最常见的失败原因) - 应用权限点:`sheets:spreadsheet`、`docx:document`、`bitable:app`、`wiki:wiki:readonly`,加完要**发版并等审核通过**。 - 🔴 **文档本身必须把应用加成协作者**:文档右上「⋯」→ 添加文档应用 → 搜应用名 → 给「可编辑」。 只有权限点没加协作者 → `1310213 permission denied`,极易误判成 token 问题。 ## 3. 解析链接 → token(wiki 链接必须先解一层) | 链接形态 | 说明 | |---|---| | `…/wiki/<node_token>?sheet=<sheetId>` | **wiki 节点,不是 spreadsheetToken**,必须先调 get_node | | `…/sheets/<spreadsheetToken>?sheet=<sheetId>` | 直接可用 | | `…/docx/<document_id>` | 直接可用 | | `…/base/<app_token>` | 多维表格 | `GET /open-apis/wiki/v2/spaces/get_node?token=<node