Install
openclaw skills install feishu-doc-reviewer为智能体提供飞书文档读写能力:导出全文、读取评论与段落、写回修改并回复评论。
openclaw skills install feishu-doc-reviewer本技能为 Claude Code / OpenClaw 等智能体提供飞书文档的读写工具,便于在对话中基于全文上下文与批注要求完成修改并写回。
delete_block: 清空整个块内容delete_text_from_block: 只删除选中的文本(保留块中其他内容)⭐在对话中,您可以直接下达指令,例如:
"请审阅文档
doxcnABC123,只处理包含'格式错误'的评论,并将修改后的语气调整为正式商务风格。"
在 Claude Code / OpenClaw 的对话过程中,通常希望由宿主模型完成"怎么改"的推理,本技能只负责"读/写飞书"。
可用的原子工具:
get_comments(document_token): 获取评论列表get_block(document_id, block_id): 获取指定块的文本内容update_block(document_id, block_id, new_text): 更新块内容delete_block(document_id, block_id): 清空整个块内容delete_text_from_block(document_id, block_id, text_to_delete): 只删除块中选中的文本⭐reply_comment(file_token, comment_id, content): 回复评论resolve_comment(file_token, comment_id): 标记评论为已解决技能提供命令行工具,可直接处理评论:
cd /path/to/.openclaw/workspace/skills/feishu-doc-reviewer
# ⭐ 推荐:只删除批注选中的内容(保留块中其他内容)
python3 process_comment.py <document_token> <comment_id> --action delete_selected
# 删除整个段落(清空块)
python3 process_comment.py <document_token> <comment_id> --action delete
# 修改段落内容
python3 process_comment.py <document_token> <comment_id> --action modify --new-content "新内容"
# 仅回复评论(自定义处理)
python3 process_comment.py <document_token> <comment_id> --action custom
# 指定块 ID(不传则自动识别)
python3 process_comment.py <document_token> <comment_id> --block-id doxcnXXX
核心代码位于 src/ 目录下:
src/feishu_api.py: 飞书接口层,封装了认证、获取评论、读取/更新/删除文档块等 API 调用。src/config.py: 配置管理,读取环境变量。process_comment.py: 评论处理工具,实现评论处理的完整流程(获取评论→处理块→回复→标记解决)。请确保项目根目录下的 .env 文件包含以下配置:
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=xxx
使用 pip 安装所需依赖:
pip install -r requirements.txt
| 方法 | 功能 | 使用场景 |
|---|---|---|
delete_block | 清空整个块内容 | 整个段落都需要删除 |
delete_text_from_block | 只删除块中选中的文本 | 只删除批注选中的部分,保留块中其他内容 ⭐ |
delete_text_from_block 实现说明:
quote 字段获取要删除的文本PATCH 更新块# 只删除选中的文本
result = api.delete_text_from_block(document_id, block_id, text_to_delete)
if result.get("ok"):
print(f"删除后内容:{result.get('new_content')}")
必须使用 PATCH 方法,使用 PUT 会返回 404。
# 正确 ✅
response = requests.patch(url, headers=headers, json={"is_solved": True})
# 错误 ❌
response = requests.put(url, headers=headers, json={"is_solved": True}) # 返回 404
A: 可能的原因:
docx:document:write 权限 → 在飞书开放平台添加权限PATCH 而非 DELETEA: process_comment.py 工具已实现自动识别逻辑:
quote 字段获取选中的文本如果自动识别失败,可以手动指定 --block-id。
A:
delete_selected(推荐):只删除批注选中的文本,保留块中其他内容delete:清空整个块内容例如,如果一个块包含 A+B+C 三段内容,批注只选中了 B:
delete_selected → 删除 B,保留 A+Cdelete → 删除 A+B+C(整个块清空)