
什么是 lark-approval
用飞书的人应该都熟悉审批这个功能——请假、报销、采购、合同盖章,什么都要走审批。日常工作里打开飞书刷审批流是家常便饭:待办列表里一堆红点,点进去看详情、点同意或拒绝、偶尔还要转交给别人。一天下来,光处理审批就能花掉不少时间。
lark-approval 就是专门处理这个事情的。它是飞书官方 CLI 工具集(larksuite/cli)里的一个 Skill,让你在命令行里完成飞书审批的所有操作——查待办、看详情、同意、拒绝、转交、加签、撤回、催办,全部不用打开飞书界面。
截至 2026 年 8 月,lark-approval 的下载量已超过 7.7 万次。它解决了什么?说白了就是一句话:把审批从“在飞书里点来点去”变成“在终端里敲命令”。
核心功能
lark-approval 的能力覆盖了飞书审批的全流程,从查询到操作到发起,命令行全部搞定。
查询待办与已办
你可以随时查看自己名下的审批待办列表和已办列表。支持按不同主题筛选——待办、已办、未读、已读。不用打开飞书翻半天,一条命令就能看到所有等着你处理的审批单。
查看审批详情
拿到一个审批实例之后,可以查看它的完整信息——表单内容、当前进度、走到了哪个节点、审批意见记录。在做出同意或拒绝的决定之前,先把情况看清楚。
处理审批任务
这是 lark-approval 最核心的操作能力。支持对审批任务执行以下动作:
同意:批准一个审批申请
拒绝:驳回申请
转交:把审批任务转给其他人处理
退回:退回给发起人修改
加签:在审批流程中增加额外的审批人
抄送:把审批信息抄送给相关人员
撤回:撤回已提交的审批申请
催办:提醒审批人尽快处理
搜索与发起审批
如果你需要发起一个新的审批——比如请假、报销、出差申请——lark-approval 支持先搜索可发起的审批定义,查看定义详情,然后发起原生审批实例。它会先让你确认审批定义、表单内容和节点参数,确认无误后再真正提交。
Schema 引导的 API 调用
lark-approval 的一个设计特点是“不猜字段”。在执行任何审批请求之前,它会先通过 lark-cli schema approval.<resource>.<method> 查看所需的参数结构和数据格式。这意味着你不用去翻飞书的 API 文档,也不用担心参数传错。
安装方法
lark-approval 的安装依赖 Node.js 环境和一个 AI 编程助手(Claude Code、Cursor、Codex 等均可)。
环境准备
首先确保你的机器上有 Node.js 16 或更高版本:
node --version
如果没装,去 Node.js 官网下载安装。
安装 lark-approval Skill
方式一:通过 npx 安装(推荐)
在终端执行以下命令:
npx skills add https://github.com/larksuite/cli --skill lark-approval
npx bzskills add larksuite/cli --skill lark-approval
npx skills add larksuite/cli -y -g
方式三:在 OpenClaw 中安装
npx clawhub@latest install lark-approval验证安装
安装完成后,可以在终端中运行以下命令确认环境正常:
lark-cli approval --help认证配置
lark-approval 需要先完成飞书 CLI 的认证。所有命令默认以用户身份执行(--as user),因为审批本质上是人的动作。认证方式可以参考 lark-shared 文档中的说明。
适用场景
批量处理审批
每天早上一打开飞书,待办审批堆了十几条。一条一条点开、看详情、点同意,手都点酸了。用 lark-approval,先查待办列表,然后批量同意——一条命令处理一批,效率翻倍。
自动化审批流程
有些审批是规则明确的——比如金额低于某个数的报销自动过、常规采购申请自动批。把这些规则写成脚本,用 lark-approval 自动执行同意操作,不需要人工介入。
审批状态监控与催办
提交了一个审批,等了半天没动静,不知道卡在谁那里了。用 lark-approval 查审批实例的当前进度,看看到了哪个节点,然后直接给当前审批人发催办。不用在飞书里翻聊天记录找人。
与 CI/CD 流水线集成
把审批集成到部署流水线里。比如生产环境发布需要运维审批——流水线跑到发布步骤时停下来,自动发起一个飞书审批,审批通过了再继续往下跑。lark-approval 的命令行特性让这种集成变得非常简单。
离职交接资产盘点
员工离职的时候,需要盘点他名下的文档、群主、审批等各类资产。有开发者基于 lark-cli 构建了离职交接工具,用 asyncio.gather 并行调用 lark-cli,单次运行就能覆盖文档、审批、IM群主、任务、日程五类资产。审批资产盘点只是其中一环。
使用案例
案例一:查看所有待办审批
想知道今天有哪些审批等着你处理:
lark-cli approval tasks query --topic 1
--topic 1 表示查询待办列表。命令会返回所有待你处理的审批单的概要信息——审批名称、发起人、提交时间等。
案例二:查看某个审批的详情
待办列表里有一条看不明白的审批,想先看看具体内容再决定怎么处理:
lark-cli approval instances get --instance_code <审批实例编码>
这条命令会返回审批的完整信息——表单内容、当前节点、审批进度、历史意见等。
案例三:同意一个审批
看完详情确认没问题,直接同意:
lark-cli approval tasks approve --task_id <任务ID> --instance_code <审批实例编码>
同意之前可以先加 --dry-run 参数预览请求,确认无误后再实际执行。
案例四:发起一个请假审批
想提交一个请假申请。lark-approval 的标准流程是:
搜索可发起定义:
lark-cli approval approvals search,找到“请假审批”对应的approval_code查看定义详情:
lark-cli approval approvals get --approval_code <code>,确认表单和流程发起审批实例:
lark-cli approval instances create --approval_code <code> --data <表单数据> --yes
在真正执行 instances create 之前,lark-approval 会让你确认最终的定义、表单值和节点参数,确认无误后加 --yes 才真正提交。
案例五:催办一个审批
提交的报销审批等了三天没动静:
lark-cli approval tasks remind --instance_code <审批实例编码>
系统会自动给当前节点的审批人发送催办通知。
案例六:转交审批任务
你收到一个审批,但这事儿不该你批,应该转给财务负责人:
lark-cli approval tasks transfer --task_id <任务ID> --user_id <接收人的open_id>
所有人员类参数默认使用 open_id。如果用户给的是姓名或邮箱,lark-approval 会先调用 lark-contact 技能解析成 open_id。
注意事项
审批待办不是飞书任务。 lark-approval 的文档里反复强调这一点——飞书里的“待办”分为审批类和非审批类。审批待办走 lark-approval,非审批类的普通任务走 lark-task。用错了工具,查不到东西。
不负责创建审批定义。 lark-approval 只能发起原生审批实例,不能创建或修改审批流程的定义。三方审批定义也不走原生提单。
执行写操作前先确认。 同意、拒绝、转交、发起审批这些都是写操作,会影响真实的业务流程。lark-approval 的设计要求在真正执行之前先让用户确认,然后显式传 --yes 参数。
不要猜字段。 lark-approval 的官方文档明确要求:调用前先按需读取 references 下对应的文件查看参数结构,不要猜字段。references 是第一信息源。只有在 reference 未覆盖的场景下,才用 lark-cli ... --help 或 lark-cli schema 补充确认。


◯ 评论 0