别再手写 curl 调飞书接口了:这个官方 CLI 让人和 AI 都能用一条命令干活
从一个小需求说起上礼拜我想搞个自动化的东西每天早上把我在飞书里的当天日程拉下来整理成一句话扔进群里。放到以前这条路是这样的先去飞书开放平台建个自建应用就是给公司/个人在飞书后台注册一个程序身份调接口都用它的名义然后翻 API 文档、拼请求头、处理 token 过期再写百来行胶水代码专门把几个系统粘在一起、没什么业务逻辑的那种代码最后还得找台机器挂着跑。写到一半我想起之前刷到过飞书官方自己出的命令行工具lark-cli就顺手装了一下。结果发现上面那件事装好配置完核心就是一两条命令的事。所以这篇不聊宏大叙事就说说这东西是什么、怎么用、哪些人值得装以及我踩着看到的几个注意点。项目地址https://github.com/larksuite/cli协议MIT可以随便改随便用包括商用数据截至 2026 年 10 月17.5k Star / 1.4k Fork最新版本 v1.0.979 月底发的更新挺勤它到底是个啥飞书的万能遥控器一句话lark-cli 是飞书/Lark 官方出的命令行工具把发消息、查日程、建文档、改表格这些操作变成了终端里的一条条命令。打个比方飞书的各个功能像一台台电器开放平台 API飞书官方暴露出来、允许外部程序调用的功能入口就是每台电器背后的插座——能用但电压规格各不相同每次都得看说明书。lark-cli 相当于给你一个万能遥控器按键是标准化的按下就行不用关心背后接的是哪根线。我翻了下它的 README覆盖 11 个业务域、200 多条命令大概是这么个盘子业务域能干嘛举几个例子IM消息发消息、回消息、搜聊天记录、管群成员、传图传文件日历查日程、建日程、忙闲查询、找会议室文档 Docs用 Markdown 建文档、读写改文档多维表格 Base建表、增删字段和记录、视图、仪表盘电子表格 Sheets读写单元格、追加、导出云盘 Drive上传下载文件、管权限和评论邮箱 Mail收发、搜索邮件、管草稿任务 Tasks待办、清单、子任务、提醒知识库 Wiki空间、节点、文档通讯录 Contact按姓名/邮箱/手机号找人会议 Meetings查会议记录、分析妙记逐字稿三分钟上手装好到跑通第一条命令实测三步。前提是有 npmNode.js 自带的包管理器不懂就当命令行版的应用商店。# 1. 安装 npm install -g larksuite/cli # 2. 配置应用凭证交互式引导帮你创建或绑定一个飞书自建应用 lark-cli config init # 3. 登录授权--recommend 会自动勾选一组常用权限不用一个个找 lark-cli auth login --recommend # 验证登录状态 lark-cli auth status # 第一条命令看看今天的日程 lark-cli calendar agenda两个提醒要有飞书租户的管理员配合。自建应用要开权限公司账号可能得走管理员审批个人版自己就是管理员没这个问题。想给 Cursor、Claude Code 这类 AI 编程工具用的话官方还要求装一套 Skill 包后面细说npx skills add larksuite/cli -y -g最有意思的设计三层命令体系这是我觉得这项目最值得说的部分。同样一件事它给你三种力度层级长什么样什么时候用快捷命令 Shortcutslark-cli calendar agenda日常办事。开头内置智能默认值和好看的表格输出API 命令lark-cli calendar calendars list跟平台接口一一对应100 条精选命令适合要精确对齐文档的场景通用调用 Raw APIlark-cli api GET /open-apis/...前两层覆盖不到的直接裸调能覆盖 2500 个开放接口拿同一个发消息/查数据举例三层长这样# 快捷命令发一条群消息 lark-cli im messages-send --chat-id oc_xxx --text Hello # API 命令列出我的日历 lark-cli calendar calendars list # 通用调用直接裸调接口 lark-cli api POST /open-apis/im/v1/messages --params {receive_id_type:chat_id} --data {receive_id:oc_xxx,msg_type:text,content:{\text\:\Hello\}}感受一下区别第一条人话就能看懂第三条就是 API 文档里的原始样子参数全自己拼。平时用第一层兜底用第三层——这个分层比一个工具硬塞两千个命令舒服多了。给 AI 准备的那一半这个项目 README 的第一句话是 Built for humans and AI Agents——一半给人用一半给 AI Agent能自己规划步骤、调用工具完成任务的 AI 程序比如 Cursor、Claude Code用。给 AI 的部分是 23 个 Agent Skill我数了下 README 里的表格。装好之后AI 写代码时就知道这些命令怎么调不用它自己瞎猜——这解决的是个很实际的痛点让 AI 调飞书接口最常见的幺蛾子就是它一本正经地编一个不存在的接口。挑几个实用的Skill干嘛的lark-calendar日程增删改、忙闲、会议室lark-im发消息、管群、搜记录、传文件lark-doc/lark-sheets/lark-base文档、电子表格、多维表格全家桶lark-mail/lark-task邮件、待办lark-meeting会议记录、妙记逐字稿分析lark-okrOKR 查询与更新lark-openapi-explorer让 AI 自己去官方文档翻接口完整 23 个的清单直接看仓库 README 的 Agent Skills 一节。几个我觉得贴心的细节输出格式随便切方便脚本和 AI 解析--format json # 完整 JSON默认 --format pretty # 人性化排版 --format table # 人看的表格 --format ndjson # 一行一个 JSON适合管道处理 --format csv顺带记一个坑JSON 模式下判断命令成功没成功要看ok字段是不是true或者进程退出码别去判断code 0——这跟飞书原始接口的习惯不一样README 专门强调过。身份切换同一条命令可以在我和机器人两种身份之间切lark-cli calendar agenda --as user lark-cli im messages-send --as bot --chat-id oc_xxx --text Hello怕误操作就先彩排# --dry-run 只打印将要发出的请求不真发 lark-cli im messages-send --chat-id oc_xxx --text hello --dry-run翻页不用自己写循环--page-all一口气拉完所有页还能用--page-limit、--page-delay控制最多翻几页、每页间隔多久。忘记参数直接问它不用开浏览器查文档lark-cli schema im.messages.delete它会把这个接口的参数、请求体、需要的权限范围全列出来。泼点冷水安全这件事得自己上心这部分 README 自己写得挺直白我觉得必须转述。lark-cli 授权之后AI 在授权范围内就是以你的身份在操作飞书——它能读你的消息也能以你的名义发消息。由此带来几个真实的风险AI 会犯错。模型幻觉AI 一本正经地说错话可能让它调错接口、发错内容提示词注入。如果有人往群消息、文档里塞了恶意指令AI 读到之后可能照做所以官方明确建议别把接了这个工具的机器人拉进不可信的群聊也别随手放宽默认安全策略。另外授权是按 scope权限范围可以理解成这把钥匙能开哪几扇门来的--recommend图省事授权的那组常用权限可能比你实际需要的宽。我的建议个人玩随意公司环境里按最小权限来——先跑lark-cli auth scopes看看都有什么再挑真正用得到的。顺带一提新版本默认给本地凭证启用了 DPoP一种给访问凭证加防伪签名的机制凭证被偷了别人也冒用不了这点做得挺到位。适合谁用想把飞书日常操作脚本化的人日程汇总、群通知、表格同步这类活要给 AI 工具配飞书能力的团队官方 Skill 比自己从零写封装省太多事经常对接飞书接口的后端第三层的裸调用可以直接当调试器使。不太适合的只是自己用飞书、完全没有自动化需求的普通用户——装它纯属多余。名词速查表名词一句话解释CLI命令行工具在终端那个黑窗口里敲命令干活的程序Open API / 开放平台接口飞书官方暴露出来的、允许外部程序调用的功能入口自建应用在飞书管理后台创建的程序身份调接口都用它的名义OAuth一种授权方式你点头同意后程序拿到临时通行证去访问你的数据Scope权限范围类似一把钥匙能开哪几扇门Token访问凭证可以理解为临时通行证AI Agent能自己规划步骤、调用工具完成任务的 AI 程序Agent Skill预先写好的使用说明书让 AI 知道某类工具该怎么调npmNode.js 的包管理器命令行版的应用商店多维表格Base飞书里类似 Airtable 的表格 数据库混合体DPoP给访问凭证加防伪签名的机制防止凭证被冒用Dry-run彩排模式只显示会做什么不真做相关链接GitHub 仓库https://github.com/larksuite/clinpm 包https://www.npmjs.com/package/larksuite/cli中文 READMEhttps://github.com/larksuite/cli/blob/main/README.zh.md飞书开放平台https://open.feishu.cn/

相关新闻

CentOS 7安装VS Code开发HTML网页全指南

CentOS 7安装VS Code开发HTML网页全指南

1. 项目概述:为什么在CentOS 7上装VS Code写HTML不是“多此一举”很多人看到这个标题第一反应是:“Linux下写HTML?用vim不香吗?”——这话放在十年前可能成立,但今天真不是一句玩笑就能打发的。我带过好几个某高校计算…

2026/10/13 12:54:06 阅读更多 →
Linux故障排查神器atop:从安装配置到日志回放的全方位实战指南

Linux故障排查神器atop:从安装配置到日志回放的全方位实战指南

如果你负责过一台跑业务的 Linux 实例,大概率经历过这种尴尬:白天一切正常,一到凌晨就有一台机器 CPU 飙到 100%,等你 SSH 上去的时候负载已经自己降下来了。top 看一秒、htop 看十秒,都看不到十分钟之前发生了什么。这…

2026/10/13 12:54:06 阅读更多 →
高数多元函数与重积分学习笔记:可执行的思维脚手架

高数多元函数与重积分学习笔记:可执行的思维脚手架

1. 项目概述:这是一份真正能“用起来”的高数笔记,不是抄书,也不是堆砌公式你有没有过这样的经历:翻开《高等数学》教材,每一页都密密麻麻全是推导和符号,定理像天书,例题解法像谜题&#xff0c…

2026/10/13 12:53:05 阅读更多 →

最新新闻

数据结构期末试卷拆解:高频考点与手写算法提分策略

数据结构期末试卷拆解:高频考点与手写算法提分策略

简介:湖北大学《数据结构》2022—2023学年第一学期期末试卷(A卷),面向计算机相关专业本科生,适合期末复习、考研自测及教学参考。试卷为闭卷考试,覆盖判断分析题、简答题与应用分析题,重点涉及带…

2026/10/13 13:34:15 阅读更多 →
LiteLLM:统一LLM API网关的工程实践与生产落地

LiteLLM:统一LLM API网关的工程实践与生产落地

1. 项目概述:LiteLLM 是什么,它解决的到底是什么问题?LiteLLM 这个名字乍一听像是某个轻量级模型,但其实它压根不训练模型、不压缩参数、也不做推理加速——它是个“协议翻译器”,更准确地说,是一个统一 AP…

2026/10/13 13:34:15 阅读更多 →
Win7下部署PaddleOCR-json:离线OCR服务实战指南

Win7下部署PaddleOCR-json:离线OCR服务实战指南

简介:面向Windows 7 64位环境的PaddleOCR离线部署压缩包,适合需要在本地快速搭建文字识别能力的开发者和企业用户,可免去自行编译和下载模型的繁琐步骤。包内含PaddleOCR-json主程序、动态链接库运行环境、PP-OCRv3系列文本检测、方向分类与文…

2026/10/13 13:34:15 阅读更多 →
图数据库标签计数实战:从全表扫描到索引直读的避坑指南

图数据库标签计数实战:从全表扫描到索引直读的避坑指南

1. 从一次数据盘点需求说起:为什么“数标签”这件事没那么简单刚接触图数据库那会儿,我接到的第一个真实需求就是“把库里所有标签的数量统计出来”。当时心想,这不就是一句MATCH (n) RETURN labels(n), count(*)的事吗?结果跑出来…

2026/10/13 13:34:15 阅读更多 →
Elasticsearch 7.6.2 + IK分词器Docker部署全避坑指南

Elasticsearch 7.6.2 + IK分词器Docker部署全避坑指南

1. 为什么7.6.2版本的IK分词器在Docker里总“不认中文”?——从一次线上搜索失效说起 上周帮某高校实验室调试一个文献检索Demo,后端用的是Elasticsearch 7.6.2,前端输入“机器学习”“深度神经网络”这类词,返回结果全是空——不…

2026/10/13 13:34:15 阅读更多 →
DRF接口设计实战:十大接口标准化写法与视图家族选型指南

DRF接口设计实战:十大接口标准化写法与视图家族选型指南

1. 从“能跑通”到“敢上线”:DRF接口设计的真实分水岭刚接触Django REST Framework(后面统一叫DRF)的人,几乎都会经历同一个阶段:照着文档把序列化器、视图、路由拼起来,接口能返回JSON,就觉得…

2026/10/13 13:33:14 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →