larksuite/cli

GitHub: larksuite/cli

飞书/Lark 官方 CLI 工具,为人类和 AI Agent 提供 200+ 命令覆盖 18 个业务领域的终端操作能力。

Stars: 15701 | Forks: 1146

# lark-cli [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Go Version](https://img.shields.io/badge/go-%3E%3D1.23-blue.svg)](https://go.dev/) [![npm version](https://img.shields.io/npm/v/@larksuite/cli.svg)](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工具, 办公自动化, 协同办公, 日志审计, 暗色界面, 逆向工具, 飞书