引言
"Built for humans and AI Agents."
这是「一天一个开源项目」系列的第 62 篇文章。今天介绍的项目是 lark-cli(GitHub)。
需要在终端或 AI 工作流里操作飞书/Lark?lark-cli 是 larksuite 团队维护的官方 CLI:11 个业务域、200+ 命令、19 个 AI Agent Skills,三层指令体系(Shortcuts → API Commands → Raw API),参数为 Agent 优化、结构化输出,支持 OAuth 登录、user/bot 身份切换、dry-run 与安全默认。MIT 开源,npm install -g @larksuite/cli 即可使用。
你将学到什么
- lark-cli 的定位:人 + Agent 双场景
- 三层命令体系与典型用法
- 19 个 Agent Skills 覆盖哪些能力
- 认证、Scope、
--as user/bot身份切换 - 安全提示与使用边界
前置知识
- 有飞书或 Lark 租户与开放平台应用(自建应用)概念
- 熟悉终端、npm 更佳(可选)
项目背景
项目简介
lark-cli 是 Lark / 飞书 官方命令行工具,用于在本地通过开放平台 API 操作日历、即时消息、云文档、云盘、多维表格、电子表格、任务、知识库、通讯录、邮箱、视频会议等。设计上强调 Agent-Native:自带结构化 Skills,与 Cursor、Claude 等工具兼容,减少代理「瞎调 API」的成本。
维护方
- 团队:larksuite(官方)
- 语言:Go(源码构建需 Go 1.23+);分发以 npm
@larksuite/cli为主 - 配套:需安装 CLI SKILL(
npx skills add larksuite/cli -y -g)
项目数据
- ⭐ GitHub Stars: 约 6k+(见 仓库)
- 📄 License: MIT
- 📦 npm: @larksuite/cli
- 🌐 产品: Lark / 飞书开放平台
主要功能
核心作用
用一个工具覆盖 Messenger、Docs、Drive、Base、Sheets、Calendar、Mail、Tasks、Wiki、Contact、Meetings 等;人类用户用 + 快捷指令快速办事,进阶用户用 API 命令 对齐平台元数据,需要兜底时用 lark-cli api 直调用 2500+ Open API。输出支持 json / pretty / table / ndjson / csv,适合脚本与 Agent 解析。
使用场景
- 日程与会议:
calendar +agenda、创建日程、忙闲查询、会议妙记/纪要相关能力(配合对应 Skill) - IM 与群聊:发消息、搜消息、管理群成员、传图传文件
- 文档与表格:Markdown 建文档、读写单元格、导出表格
- 多维表格 Base:建表、字段、记录、视图、仪表盘(配合
lark-baseSkill) - 邮箱与任务:起草/发送邮件、待办与清单
快速开始
# 安装 CLI
npm install -g @larksuite/cli
# 安装 CLI SKILL(官方要求,供 Agent 使用)
npx skills add larksuite/cli -y -g
# 一次性配置应用凭证(交互引导)
lark-cli config init
# 登录(推荐使用常用 scope 组合)
lark-cli auth login --recommend
# 验证状态
lark-cli auth status
# 示例:查看日程
lark-cli calendar +agenda
从源码构建(需 Go 1.23+、Python 3):
git clone https://github.com/larksuite/cli.git && cd cli
make install
npx skills add larksuite/cli -y -g
核心特性
- 三层体系:
+Shortcuts → 领域 API 子命令 →lark-cli api原始 HTTP - 19 Agent Skills:如
lark-calendar、lark-im、lark-doc、lark-base、lark-mail、lark-vc等 - 身份切换:
--as user/--as bot在同一应用下切换调用身份 - Schema 自省:
lark-cli schema查看参数、body、权限范围 - 安全默认:输入注入防护、终端输出脱敏、系统钥匙链存凭证(设计目标;使用前仍应阅读官方安全说明)
- 分页与 dry-run:
--page-all、--dry-run降低误操作风险
项目优势
| 对比项 | lark-cli | 手写 curl/SDK | 仅网页操作 |
|---|---|---|---|
| 上手 | 一条命令 + OAuth | 需查文档、拼 URL | 无代码 |
| Agent | Skills + 结构化输出 | 需自建封装 | 无法自动化 |
| 覆盖面 | 200+ 命令 + 2500+ API 兜底 | 自维护 | 视界面而定 |
| 许可 | MIT 开源 | 视 SDK 而定 | — |
为什么选它?
- 官方维护,与 OpenAPI 元数据对齐
- 同时服务人与 Agent,减少重复造轮子
- MIT,可集成进内部工具链
项目详细剖析
三层命令体系
| 层级 | 形式 | 用途 | |
|---|---|---|---|
| Shortcuts | lark-cli <域> +<动作> | 人类与 Agent 友好,默认值与表格输出 | |
| API Commands | lark-cli calendar calendars list 等 | 与平台接口 1:1 映射,100+ 精选命令 | |
| Raw API | `lark-cli api GET | POST ...` | 任意 Open Platform 路径,全覆盖 |
Agent Skills(节选)
| Skill | 能力摘要 |
|---|---|
lark-shared | 配置、登录、身份、scope、权限与安全问题 |
lark-calendar | 日程、忙闲、时间建议 |
lark-im | 消息、群聊、搜索、媒体 |
lark-doc / lark-drive / lark-sheets / lark-base | 文档、文件、表格、多维表格 |
lark-mail / lark-task / lark-contact / lark-wiki | 邮件、任务、通讯录、知识库 |
lark-event / lark-vc / lark-minutes | 事件订阅、会议记录、妙记 |
lark-openapi-explorer | 从官方文档探索底层 API |
lark-workflow-* | 会议摘要、站会日程+待办等工作流 |
完整列表见仓库 README - Agent Skills。
认证与 Agent 流程
lark-cli config init/config init --new:创建或绑定开放平台应用lark-cli auth login --recommend:推荐范围一键授权- Agent 模式:
auth login --no-wait返回验证 URL,用户浏览器完成后可device-code续轮询
安全与风险(务必阅读官方说明)
CLI 可被 AI 代操作,存在幻觉、注入、超范围操作等风险;授权后 Agent 在 granted scope 内等同于你的身份。不要将集成该工具的 bot 暴露给不可信群聊;勿随意放宽默认安全策略。使用前请阅读仓库中的 Security & Risk Warnings。
项目地址与资源
官方资源
- 🌟 GitHub: github.com/larksuite/c…
- 📦 npm: www.npmjs.com/package/@la…
- 📚 中文 README: README.zh.md
- 🐛 Issues: github.com/larksuite/c…
适用人群
- 需脚本化/自动化飞书/Lark 的开发者与运维
- 在 Cursor、Claude 等环境中为 Agent 配置 Lark 能力的团队
- 希望少写胶水代码、直接对齐官方 API 语义的用户
欢迎来我中的个人主页找到更多有用的知识和有趣的产品