Skip to content

Feature Request: Add wiki nodes delete command (API coverage gap) #565

@xisheng687

Description

@xisheng687

背景

当前 lark-cli 以及整个飞书 OpenAPI 服务端体系完全没有删除 wiki 节点的能力,这是一个真实的 API 覆盖空白,不仅是 CLI 问题。

证据链

  1. 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 同样缺失。

  2. 中文文档无对应页面open.feishu.cn/document/server-docs/docs/wiki-v2/space-node/ 目录下没有"删除节点"的文档页。

  3. CLI 缺失lark-cli wiki nodes 只暴露 copy / create / list,没有 delete

  4. 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 节点生效)。

  5. 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。

为什么值得加

  1. 知识库治理场景高频:任何长期使用 wiki 的团队或个人,都会有需要批量清理的时刻;目前只能 UI 手动操作,10+ 项时体验很差
  2. 内容工厂 / 自动化场景刚需:去重、脏数据清理、定期归档均需要程序化删除能力
  3. SDK 已建好脚手架DeleteSpaceMember 等 delete 方法在 wiki v2 SDK 里有模板可参照,加一个 DeleteSpaceNode 成本不高

参考

如果飞书服务端团队认可方向,后续我们可以帮忙跟进 CLI 侧的 wrapper 实现。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions