larksuite/cli
GitHub: larksuite/cli
飞书/Lark 官方 CLI 工具,为人类和 AI Agent 提供 200+ 命令覆盖 18 个业务领域的终端操作能力。
Stars: 15701 | Forks: 1146
# lark-cli
[](https://opensource.org/licenses/MIT)
[](https://go.dev/)
[](https://www.npmjs.com/package/@larksuite/cli)
[中文版](./README.zh.md) | [English](./README.md)
由[larksuite](https://github.com/larksuite)团队维护的官方[Lark/飞书](https://www.larksuite.com/) CLI工具——专为人类和 AI Agent 打造。涵盖 Messenger、文档、Base、Sheets、Slides、日历、邮箱、任务、会议、Markdown 等核心业务领域,提供 200+ 命令和 26 个 AI Agent [技能](./skills/)。
[安装](#installation--quick-start) · [AI Agent 技能](#agent-skills) · [认证](#authentication) · [命令](#three-layer-command-system) · [进阶](#advanced-usage) · [安全](#security--risk-warnings-read-before-use) · [贡献](#contributing)
## 为什么选择 lark-cli?
- **Agent 原生设计** — 开箱即用 24 个结构化[技能](./skills/),兼容主流 AI 工具——Agent 无需额外配置即可操作 Lark
- **覆盖广泛** — 18 个业务领域,200+ 精选命令,26 个 AI Agent [技能](./skills/)
- **AI 友好且经过优化** — 每个命令均经过真实 Agent 测试,具备简洁的参数、智能的默认值和结构化输出,以最大化 Agent 调用成功率
- **开源,零门槛** — MIT 许可证,即装即用,只需 `npm install`
- **3 分钟快速上手** — 一键创建应用,交互式登录,从安装到首次 API 调用仅需 3 步
- **安全可控** — 输入注入防护,终端输出净化,操作系统原生 keychain 凭据存储
- **三层架构** — 快捷指令(人类和 AI 友好)→ API 命令(与平台同步)→ 原始 API(全覆盖),根据需要选择合适的粒度
## 功能
| 类别 | 功能 |
| ------------- |-----------------------------------------------------------------------------------------------------------------------------------|
| 📅 日历 | 查看、创建和更新日程,邀请参与者,查找会议室,回复邀请,查看忙闲状态及时间建议 |
| 💬 Messenger | 发送/回复消息,创建和管理群聊,查看历史消息及话题,搜索消息,下载媒体文件 |
| 📄 文档 | 创建、读取、更新和搜索文档,读写媒体及白板 |
| 📁 Drive | 上传和下载文件,搜索文档及知识库,管理评论 |
| 📝 Markdown | 创建、获取、修补及覆盖 Drive 原生 `.md` 文件 |
| 📊 Base | 创建和管理数据表、字段、记录、视图、仪表盘、工作流、表单、角色及权限、数据汇总与分析 |
| 📈 Sheets | 创建、读取、写入、追加、查找并导出电子表格数据 |
| 🖼️ Slides | 创建和管理演示文稿,读取演示文稿内容,以及添加或删除幻灯片 |
| ✅ 任务 | 创建、查询、更新和完成任务;管理任务列表、子任务、评论及提醒 |
| 📚 知识库 | 创建和管理知识空间、节点及文档 |
| 👤 通讯录 | 按姓名/邮箱/手机号搜索用户,获取用户资料 |
| 📧 邮箱 | 浏览、搜索、阅读邮件,发送、回复、转发,管理草稿,关注新邮件 |
| 🎥 会议 | 搜索会议记录,查询会议纪要生成物及录像 |
| 🕐 考勤 | 查询个人考勤打卡记录 |
| ✍️ 审批 | 查询审批任务,同意/拒绝/转交任务,撤销及抄送实例 |
| 🎯 OKR | 查询、创建、更新 OKR;管理目标及关键结果、对齐、指标及进度。 |
| 📋 项目 | Meegle — 通过独立的 [meegle-cli](https://github.com/larksuite/meegle-cli) 管理工作项、日程和数据(需单独安装) |
| 🔗 应用 | 创建 Spark/Miaoda 应用,发布 HTML/静态站点,运行云端生成并管理访问范围 |
## 安装与快速开始
### 环境要求
在开始之前,请确保您具备:
- Node.js (`npm`/`npx`)
- Go `v1.23`+ 及 Python 3(仅在从源码构建时需要)
### 快速开始(人类用户)
#### 安装
选择以下**任意一种**方法:
**选项 1 — 通过 npm 安装(推荐):**
```
npx @larksuite/cli@latest install
```
**选项 2 — 从源码安装:**
需要 Go `v1.23`+ 及 Python 3。
```
git clone https://github.com/larksuite/cli.git
cd cli
make install
# 安装 CLI SKILL(必需)
npx skills add larksuite/cli -y -g
```
#### 配置与使用
```
# 1. 配置应用凭证(一次性,交互式引导设置)
lark-cli config init
# 2. 登录(--recommend 自动选择常用 scopes)
lark-cli auth login --recommend
# 3. 开始使用
lark-cli calendar +agenda
```
## 快速开始(AI Agent)
**第 1 步 — 安装**
```
npx @larksuite/cli@latest install
```
**第 2 步 — 配置应用凭据**
```
lark-cli config init --new
```
**第 3 步 — 登录**
```
lark-cli auth login --recommend
```
**第 4 步 — 验证**
```
lark-cli auth status
```
## Agent 技能
| 技能 | 描述 |
| ------------------------------- |----------------------------------------------------------------------------------------------------------------|
| `lark-shared` | 应用配置,认证登录,身份切换,权限范围管理,安全规则(由所有其他技能自动加载) |
| `lark-calendar` | 日历日程(创建/更新),日程视图,忙闲查询,时间建议,会议室查找,RSVP 回复 |
| `lark-im` | 发送/回复消息,群聊管理,消息搜索,上传/下载图片和文件,表情回应 |
| `lark-doc` | 创建、读取、更新、搜索文档(基于 Markdown) |
| `lark-drive` | 上传、下载文件,管理权限和评论 |
| `lark-markdown` | 创建、获取、修补及覆盖 Drive 原生 Markdown 文件 |
| `lark-sheets` | 创建、读取、写入、追加、查找、导出电子表格 |
| `lark-slides` | 创建和管理演示文稿,读取演示文稿内容,以及添加或删除幻灯片 |
| `lark-base` | 数据表、字段、记录、视图、仪表盘、数据汇总及分析 |
| `lark-task` | 任务、任务列表、子任务、提醒、成员分配 |
| `lark-mail` | 浏览、搜索、阅读邮件,发送、回复、转发,草稿管理,关注新邮件 |
| `lark-contact` | 按姓名/邮箱/手机号搜索用户,获取用户资料 |
| `lark-wiki` | 知识空间、节点、文档 |
| `lark-event` | 实时事件订阅 (WebSocket),正则路由及 Agent 友好格式 |
| `lark-vc` | 搜索会议记录,查询会议纪要(摘要、待办事项、转录文本) |
| `lark-whiteboard` | 白板/图表 DSL 渲染 |
| `lark-minutes` | 纪要元数据及 AI 生成物(摘要、待办、章节);上传音视频以生成纪要,下载媒体 |
| `lark-openapi-explorer` | 从官方文档探索底层 API |
| `lark-skill-maker` | 自定义技能创建框架 |
| `lark-attendance` | 查询个人考勤打卡记录 |
| `lark-approval` | 查询审批任务,同意/拒绝/转交任务,撤销及抄送实例 |
| `lark-workflow-meeting-summary` | 工作流:会议纪要汇总及结构化报告 |
| `lark-workflow-standup-report` | 工作流:日程及待办事项摘要 |
| `lark-okr` | 查询、创建、更新 OKR;管理目标及关键结果、对齐和指标。 |
## 认证
| 命令 | 描述 |
| ------------- | -------------------------------------------------------------- |
| `auth login` | 交互式选择 scope 或通过 CLI 标志进行 OAuth 登录 |
| `auth logout` | 登出并移除已存储的凭据 |
| `auth status` | 显示当前登录状态及已授予的 scope |
| `auth check` | 验证特定 scope(退出码 0 = 正常,1 = 缺失) |
| `auth scopes` | 列出该应用所有可用的 scope |
| `auth list` | 列出所有已认证的用户 |
```
# 交互式登录(TUI 引导选择 domain 和权限级别)
lark-cli auth login
# 按 domain 过滤
lark-cli auth login --domain calendar,task
# 推荐自动批准的 scopes
lark-cli auth login --recommend
# 精确 scope
lark-cli auth login --scope "calendar:calendar:read"
# Agent mode:立即返回验证 URL,非阻塞
lark-cli auth login --domain calendar --no-wait
# 稍后恢复轮询
lark-cli auth login --device-code
# 身份切换:以用户或 bot 身份执行命令
lark-cli calendar +agenda --as user
lark-cli im +messages-send --as bot --chat-id "oc_xxx" --text "Hello"
```
## 三层命令系统
CLI 提供了三个级别的粒度,涵盖从快速操作到完全自定义 API 调用的所有需求:
### 1. 快捷指令
以 `+` 为前缀,设计对人类和 AI 都很友好,具备智能的默认值、表格输出及试运行(dry-run)预览。
```
lark-cli calendar +agenda
lark-cli im +messages-send --chat-id "oc_xxx" --text "Hello"
lark-cli docs +create --doc-format markdown --content $'Weekly Report \n# Progress\n- Completed feature X'
```
运行 `lark-cli --help` 查看所有快捷指令。
### 2. API 命令
从 Lark OAPI 元数据自动生成,经过评估和质量控制精选——100+ 命令与平台端点 1:1 映射。
```
lark-cli calendar calendars list
lark-cli calendar events instance_view --params '{"calendar_id":"primary","start_time":"1700000000","end_time":"1700086400"}'
```
### 3. 原始 API 调用
直接调用任何 Lark 开放平台端点,覆盖 2500+ API。
```
lark-cli api GET /open-apis/calendar/v4/calendars
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\"}"}'
```
## 进阶用法
### 输出格式
```
--format json # Full JSON response (default)
--format pretty # Human-friendly formatted output
--format table # Readable table
--format ndjson # Newline-delimited JSON (for piping)
--format csv # Comma-separated values
```
### 分页
```
--page-all # Auto-paginate through all pages
--page-limit 5 # Max 5 pages
--page-delay 500 # 500ms between page requests
```
### 试运行
对于可能产生副作用的命令,先使用 --dry-run 预览请求:
```
lark-cli im +messages-send --chat-id oc_xxx --text "hello" --dry-run
```
### Schema 自省
使用 schema 检查任何 API 方法的参数、请求体、响应结构、支持的身份及 scope:
```
lark-cli schema
lark-cli schema calendar.events.instance_view
lark-cli schema im.messages.delete
```
## 安全与风险警告(使用前必读)
该工具可由 AI Agent 调用,以自动化操作 Lark/飞书开放平台,并带有固有风险,如模型幻觉、不可预测的执行和提示词注入。在您授权 Lark/飞书权限后,AI Agent 将在授权范围内以您的用户身份行事,这可能导致敏感数据泄露或未经授权的操作等高风险后果。请谨慎使用。
为降低这些风险,该工具在多层启用了默认安全防护。然而,这些风险依然存在。我们强烈建议您不要主动修改任何默认安全设置;一旦相关限制被放宽,风险将显著增加,后果将由您自行承担。
我们建议将集成了此工具的 Lark/飞书机器人作为私人对话助手使用。请勿将其添加到群聊中或允许其他用户与之交互,以避免权限滥用或数据泄露。
请充分了解所有使用风险。使用此工具即表示您自愿承担所有相关责任。
## 许可证
本项目基于 **MIT 许可证** 授权。
运行时,它会调用 Lark/飞书开放平台 API。要使用这些 API,您必须遵守以下协议及隐私政策:
- [飞书用户服务条款](https://www.feishu.cn/terms)
- [飞书隐私政策](https://www.feishu.cn/privacy)
- [飞书开放平台应用服务商安全管理规范](https://open.feishu.cn/document/uAjLw4CM/uMzNwEjLzcDMx4yM3ATM/management-practice/app-service-provider-security-management-specifications)
- [Lark 用户服务条款](https://www.larksuite.com/user-terms-of-service)
- [Lark 隐私政策](https://www.larksuite.com/privacy-policy)
标签:EVTX分析, Go, MITM代理, Ruby工具, 办公自动化, 协同办公, 日志审计, 暗色界面, 逆向工具, 飞书