背景
当前 lark-cli 以及整个飞书 OpenAPI 服务端体系完全没有删除 wiki 节点的能力,这是一个真实的 API 覆盖空白,不仅是 CLI 问题。
证据链
-
SDK 层缺失:larksuite/oapi-sdk-python/lark_oapi/api/wiki/v2/resource/space_node.py 只定义了 copy / create / list / move / move_docs_to_wiki / update_title,没有 delete 方法。Go/Java SDK 同样缺失。
-
中文文档无对应页面:open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/ 目录下没有"删除节点"的文档页。
-
CLI 缺失:lark-cli wiki nodes 只暴露 copy / create / list,没有 delete。
-
drive delete 对 wiki 节点不可用:实测用 lark-cli drive +delete --type docx --file-token <wiki_doc_obj_token>(user token)返回 1061004 forbidden,bot token 返回 99991672 Permission denied(即便加上 drive:drive + space:document:delete scope 也未必解决——官方没承诺 drive delete 对 wiki 节点生效)。
-
DELETE /open-apis/wiki/v2/spaces/{space_id}/nodes/{node_token} 返回 404 page not found,endpoint 本身不存在。
用户场景
知识库整理过程中会产生一些空占位文档、重复文件、废弃草稿。用户可以通过 +move 把它们集中到"归档/准备删除"之类的临时文件夹,但最后一步的"彻底删除"目前只能手动在飞书 Web/客户端 UI 里一项项点右键删除——这对批量治理不友好,也让自动化工作流(比如内容工厂的去重 / 清理任务)无法闭环。
期望能力
# 删除一个 wiki 节点(移入空间回收站或彻底删除,behavior 按官方设计)
lark-cli wiki nodes delete --space-id <sp> --node-token <nt>
# 如果不适合默认硬删,至少提供 move-to-trash 语义
lark-cli wiki nodes trash --space-id <sp> --node-token <nt>
底层需要飞书官方在 wiki v2 OpenAPI 上补一个删除/回收站 endpoint。
为什么值得加
- 知识库治理场景高频:任何长期使用 wiki 的团队或个人,都会有需要批量清理的时刻;目前只能 UI 手动操作,10+ 项时体验很差
- 内容工厂 / 自动化场景刚需:去重、脏数据清理、定期归档均需要程序化删除能力
- SDK 已建好脚手架:
DeleteSpaceMember 等 delete 方法在 wiki v2 SDK 里有模板可参照,加一个 DeleteSpaceNode 成本不高
参考
如果飞书服务端团队认可方向,后续我们可以帮忙跟进 CLI 侧的 wrapper 实现。
背景
当前
lark-cli以及整个飞书 OpenAPI 服务端体系完全没有删除 wiki 节点的能力,这是一个真实的 API 覆盖空白,不仅是 CLI 问题。证据链
SDK 层缺失:
larksuite/oapi-sdk-python/lark_oapi/api/wiki/v2/resource/space_node.py只定义了copy / create / list / move / move_docs_to_wiki / update_title,没有delete方法。Go/Java SDK 同样缺失。中文文档无对应页面:
open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/目录下没有"删除节点"的文档页。CLI 缺失:
lark-cli wiki nodes只暴露copy / create / list,没有delete。drive delete 对 wiki 节点不可用:实测用
lark-cli drive +delete --type docx --file-token <wiki_doc_obj_token>(user token)返回1061004 forbidden,bot token 返回99991672 Permission denied(即便加上drive:drive+space:document:deletescope 也未必解决——官方没承诺 drive delete 对 wiki 节点生效)。DELETE
/open-apis/wiki/v2/spaces/{space_id}/nodes/{node_token}返回404 page not found,endpoint 本身不存在。用户场景
知识库整理过程中会产生一些空占位文档、重复文件、废弃草稿。用户可以通过
+move把它们集中到"归档/准备删除"之类的临时文件夹,但最后一步的"彻底删除"目前只能手动在飞书 Web/客户端 UI 里一项项点右键删除——这对批量治理不友好,也让自动化工作流(比如内容工厂的去重 / 清理任务)无法闭环。期望能力
底层需要飞书官方在 wiki v2 OpenAPI 上补一个删除/回收站 endpoint。
为什么值得加
DeleteSpaceMember等 delete 方法在 wiki v2 SDK 里有模板可参照,加一个DeleteSpaceNode成本不高参考
larksuite/oapi-sdk-python/lark_oapi/api/wiki/v2/resource/space_node.py(无 delete)larksuite/oapi-sdk-python/lark_oapi/api/wiki/v2/model/(无 delete_space_node_request.py)如果飞书服务端团队认可方向,后续我们可以帮忙跟进 CLI 侧的 wrapper 实现。