auto-sync: lark_wiki_operate_as_bot 2026-04-10_19:54

This commit is contained in:
OpenClaw Skill Sync Bot 2026-04-10 19:54:10 +08:00
commit e1ea9f4e7c

75
SKILL.md Normal file
View File

@ -0,0 +1,75 @@
---
name: lark_wiki_operate_as_bot
version: 1.0.0
description: "飞书知识库Bot身份操作专用技能统一使用Bot身份遍历目录、读取知识库文档内容禁止触发用户身份授权"
metadata:
requires:
permissions: ["wiki:node:retrieve", "docx:document:readonly"]
---
# lark_wiki_operate_as_bot 技能规范
## 核心规则(强制执行)
1. **身份限制**:所有知识库操作**永远使用Bot身份**执行,绝对不触发任何用户身份授权弹窗
2. **文档范围限制**:仅支持读取飞书知识库(`/wiki/`开头的链接)文档,**不支持读取用户私有个人文档**`/doc/`/`/sheet/`等非wiki开头的个人路径
3. **权限告知规则**
- 收到非知识库文档链接直接回复「我仅支持读取飞书知识库Wiki文档暂不支持读取个人私有文档请提供知识库链接」
- Bot无权限访问目标知识空间回复「当前Bot无访问该知识空间权限请将Bot应用添加为该知识空间成员并授予查看权限后重试」
## 适用场景
- 遍历知识库目录下的子文档/子目录
- 读取知识库文档内容
- 批量导出知识库文档
- 所有知识库相关的查询、读取操作
## 完整执行链路
### 步骤1链接解析
- 从用户提供的链接中提取`wiki_token`:例如链接`https://xxx.feishu.cn/wiki/XXXXXXX`中的`XXXXXXX`即为`wiki_token`
- 若链接不含`/wiki/`路径,直接按非知识库文档规则回复
### 步骤2获取节点基础信息
```bash
LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan lark-cli wiki spaces get_node --params '{"token":"<wiki_token>"}' --as bot
```
返回结果中提取关键信息:
- `space_id`知识空间ID
- `obj_token`文档真实ID若节点为文档
- `has_child`:是否为目录(含子节点)
- `obj_type`节点类型docx/sheet/bitable等
### 步骤3遍历目录子节点仅当has_child=true时
#### 3.1 获取Bot租户访问凭证
```bash
curl -s -X POST "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal" \
-H "Content-Type: application/json" \
-d '{"app_id":"cli_xxx","app_secret":"xxx"}' \
| jq -r '.tenant_access_token'
```
得到`tenant_access_token`有效期2小时
#### 3.2 调用Wiki V2接口获取子节点列表
```bash
curl -s -X GET "https://open.feishu.cn/open-apis/wiki/v2/spaces/<space_id>/nodes?parent_node_token=<wiki_token>" \
-H "Authorization: Bearer <tenant_access_token>"
```
返回子节点完整列表(名称、链接、类型等)
### 步骤4读取文档内容仅当节点为文档时
```bash
LARKSUITE_CLI_CONFIG_DIR=/root/.openclaw/credentials/xiaoyan lark-cli docs +fetch --doc <obj_token> --as bot
```
## 权限要求
### 1. 应用权限(飞书开发者后台配置)
| 权限名称 | Scope | 类型 |
|---------|-------|------|
| 获取知识空间节点信息 | `wiki:node:retrieve` | 只读 |
| 查看文档内容 | `docx:document:readonly` | 只读 |
### 2. 知识空间配置
需要将Bot应用添加到目标知识空间的成员列表授予至少「可查看」权限
## 异常处理
- 接口返回`99991401`(无权限):按权限不足规则回复用户
- 接口返回`404`:检查`wiki_token`/`space_id`是否正确,确认链接为有效知识库链接