SuperAPI AI 工具集

lark-wiki

办公与效率

查看项目

更新于 10-13 21:32

技能介绍

lark-wiki 是一个面向 AI 智能体的飞书知识库操作技能,通过 lark-cli 的 wiki 命令集完成知识空间与节点的管理。

使用方式 开始前必须先使用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证与权限处理说明。调用原生 API 前应先通过 lark-cli schema wiki.<resource>.<method> 查看参数结构,不要猜测字段格式。技能推荐优先使用 Shortcut(lark-cli wiki +<verb> [flags])。

身份选择 知识空间和节点都是用户的个人资源,策略上应优先显式使用 --as user(CLI 的 --as 默认值为 auto,不带 --as 时常被解析成 bot,列出的是应用所属空间而非用户的)。仅当用户明确要求应用或 bot 视角时才用 --as bot。

成员管理硬限制 如果目标是“部门”,先判断身份。--as bot 对应 tenant_access_token,官方限制这种身份下不能使用部门 ID(opendepartmentid)添加知识空间成员。遇到“部门 + --as bot”时禁止先调用 lark-cli wiki +member-add 试错,应直接说明该路径不可行;若用户明确要求以 bot 身份运行且目标是部门,必须停下说明无法完成,不要静默切到 --as user。

主要能力

  • 空间:+space-list 列出可访问的知识空间,+space-create 创建知识空间(仅用户身份),+delete-space 删除知识空间并轮询异步任务。
  • 节点:+node-get 按 node_token / obj_token / 飞书 URL 解析节点详情;+node-list 列出空间或父节点下的节点(支持分页);+node-create 创建节点;+node-copy 复制节点;+node-delete 删除节点并轮询异步任务;+move 移动节点或将 Drive 文档移入 Wiki;+move-to-drive 将 Wiki 节点移出到 Drive 文件夹并轮询异步任务。
  • 成员:+member-add 添加成员,+member-remove 移除成员(须传齐原始授予时的 --member-type 和 --member-role),+member-list 列出成员(默认只取一页,多成员场景显式加 --page-all)。
  • 原生 API 资源包括 spaces(create / get / list)、members(create / delete / list)、nodes(copy / create / list)。

常见流程要点

  • 按主题或关键词查找资料并收集到知识库节点,或整理、盘点、归类、重构知识库时,必须先阅读 ../lark-drive/references/lark-drive-workflow.md,再按其中 Workflow Registry 进入对应 workflow,不要只用 Wiki 节点列表做局部遍历。
  • 将已有 Wiki 节点移出知识库到 Drive 文件夹或“我的空间”根目录,使用 wiki +move-to-drive,不要使用 wiki +move 或 drive +move。
  • 重命名节点或修改标题使用 lark-cli drive +update-title --url '<wiki_url>' --title '<new_title>',保留同一 node_token。
  • 给的是知识库 URL 且后续要查、加、删成员时,先用 wiki +node-get --node-token '<wiki_url>' --as user --format json 从 data.space_id 获取空间 ID,且节点解析与成员操作必须使用相同身份。
  • 删除知识空间只给名称或 URL 时,不能原样传给 --space-id,须先解析出真实 space_id;命中候选后无论一条或多条,都必须把候选(name + space_id + description + space_type)列给用户,由用户明确选定一个 space_id 再执行 lark-cli wiki +delete-space --space-id <ID> --yes;命中 0 条应停下询问,不要自行改名重试。
  • 创建新节点优先使用 lark-cli wiki +node-create。
  • 列出节点先用 wiki +space-list --as user 拿数字 space_id,再用 wiki +node-list --space-id <space_id>;钻子节点时 --parent-node-token 必须是 wiki node token。
  • +node-list 命中 invalid_parameters、not_found、permission_denied 时不要重复调用同一参数,按 hint 修正;只有 rate_limit 才做退避重试。
  • 添加成员前先把“人 / 群 / 部门 / 应用”解析成正确类型:用户默认 --member-type=openid,群组 --member-type=openchat,应用 --member-type=appid,部门 --member-type=opendepartmentid(当前 CLI 无 shortcut,需调用联系人部门搜索 API,且必须是 --as user)。
  • 目标语义上,“我的文档库 / 个人知识库 / my_library”应视为 Wiki personal library,先解析真实 space_id 再执行 Wiki 写操作,不要因缺少显式 space_id 就退化成 drive +move。

不在本技能范围 上传文件到知识库节点、下载 Wiki 节点对应文件、编辑文档正文、表格与多维表格数据操作、按名称搜索文档及评论与权限管理等,分别属于 lark-drive、lark-doc、lark-sheets、lark-base 等技能。

限制 部门结合 bot 身份的成员添加为已知不支持路径。定价、收费、平台支持范围、具体使用效果等资料中暂未提供。