飞书 Lark CLI 正式开源:AI Agent 终于能直接操控你的工作数据了!
飞书 Lark CLI 正式开源:AI Agent 终于能直接操控你的工作数据了!
前言
2026年3月28日,一则消息在开发者圈炸开了锅——飞书官方正式开源了 Lark CLI,这是一款专为 AI Agent 设计的命令行工具,采用 MIT 协议,覆盖消息、文档、日历、邮件等 11 大业务域,支持 19 个 AI Agent Skills,Claude Code、Cursor 等主流 Agent 工具装上即用。
如果你曾经为"让 AI 真正干实事"而发愁——让 AI 帮你查飞书日历、写会议纪要、发钉钉消息……这一切,现在只需要几分钟配置就能搞定。
本文将带你深入了解 Lark CLI 的架构原理、安装使用全流程,以及如何将它集成到你的 AI Agent 工作流中,实现企业级办公自动化。
一、Lark CLI 是什么?
1.1 核心定位
Lark CLI(lark-cli)是飞书官方推出的命令行接口工具,其核心设计理念是:
让 AI Agent 像操作文件系统一样自然地操作飞书
传统的飞书 API 调用需要开发者自行封装 HTTP 请求、处理鉴权、解析返回值,流程繁琐。而 Lark CLI 将这一切打包成了结构化的命令行调用,AI Agent 可以直接通过自然语言描述来执行飞书操作。
1.2 核心数据
| 指标 | 数值 |
|---|---|
| 开源协议 | MIT(免费商用) |
| 编程语言 | Go |
| 覆盖业务域 | 11 个 |
| 精选命令数 | 200+ |
| AI Agent Skills | 19 个 |
| GitHub Stars(首周) | 8,000+ |
1.3 支持的业务域
✅ 消息(IM) ✅ 文档(Docs) ✅ 多维表格(Bitable) ✅ 日历(Calendar) ✅ 邮件(Mail) ✅ 任务(Task) ✅ 审批(Approval) ✅ Wiki 知识库 ✅ 云盘(Drive) ✅ 人事(HR) ✅ 会议(Meeting) 二、为什么说这是 AI Agent 的里程碑?
2.1 AI Agent 落地的最大痛点
2026 年,AI Agent 已经从"能聊天"进化到"能写代码",但距离"真正干实事"仍然有一道鸿沟:数据孤岛问题。
企业的核心数据(会议记录、项目文档、团队日历)大多锁在飞书/钉钉/Notion 这类 SaaS 工具里,AI Agent 无法直接读写,只能靠人工复制粘贴,导致:
- 🔴 AI 写完方案,还要人工粘贴到飞书文档
- 🔴 AI 总结完会议,还要人工发送到群聊
- 🔴 AI 规划好日程,还要人工录入日历
Lark CLI 的出现,彻底打通了这道墙。
2.2 与 MCP 协议的关系
Lark CLI 基于 MCP(Model Context Protocol) 规范设计,与 Anthropic 推出的工具调用标准高度兼容。这意味着:
- Claude Code 可以直接调用 Lark CLI 的 Skills
- Cursor Agent 模式下可以零配置接入
- 任何支持 MCP 的 AI 框架都可以无缝集成
AI Agent
Claude/Cursor/OpenAI
MCP协议层
Lark CLI
飞书 OpenAPI
企业数据
消息/文档/日历
三、快速上手:5分钟接入你的 AI Agent
3.1 安装 Lark CLI
方式一:Go 安装(推荐)
# 安装 Go 1.21+ go install github.com/larksuite/cli@latest # 验证安装 lark --version方式二:二进制下载
# macOS / Linuxcurl-sL https://github.com/larksuite/cli/releases/latest/download/lark-$(uname-s)-$(uname-m)-o /usr/local/bin/lark chmod +x /usr/local/bin/lark # Windows (PowerShell) winget install larksuite.lark-cli 3.2 创建飞书应用并获取凭证
- 前往 飞书开放平台 创建企业自建应用
- 开启所需权限(消息、文档、日历等)
- 获取
App ID和App Secret
3.3 配置认证
# 初始化配置 lark auth init # 输入以下信息:# App ID: cli_xxxxxxxxxxxxxx# App Secret: xxxxxxxxxxxxxxxxxxxxxx# 飞书域名: feishu.cn (国内) / larksuite.com (国际)3.4 第一个命令:发送消息
# 发送文本消息到指定用户 lark message send --to"[email protected]"--text"Hello from Lark CLI!"# 发送到群聊 lark message send --to"chat_id:oc_xxxxxxxx"--text"这是AI发送的消息"# 发送富文本卡片 lark message send-card --template-id "your_template_id"\--variables'{"title":"任务完成", "content":"AI已自动完成数据分析"}'四、19个 AI Agent Skills 详解
这是 Lark CLI 最核心的功能——为 AI Agent 预置的 19 个结构化技能,每个 Skill 都经过优化,让 LLM 能精准理解其语义并调用。
4.1 消息类 Skills(3个)
# skill: send_message描述: 发送飞书消息给用户或群组 参数:-recipient: 接收者(邮箱/open_id/群ID) -message: 消息内容 -message_type: text|rich_text|card 示例调用:"帮我发消息给张三,说今天的会议延期到明天下午3点"# skill: read_messages 描述: 读取并汇总指定会话的消息 参数:-chat_id: 群聊ID -time_range: 时间范围(如"今天", "最近1小时") -limit: 消息数量上限 示例调用:"帮我总结产品群今天的讨论内容"# skill: create_group_chat描述: 创建新群聊并添加成员 参数:-name: 群名称 -members: 成员列表 -description: 群描述 4.2 文档类 Skills(4个)
# skill: create_document描述: 创建飞书文档 参数:-title: 文档标题 -content: 文档内容(支持Markdown) -folder_id: 存放目录 示例调用:"根据今天的会议录音,创建一份会议纪要文档"# skill: read_document描述: 读取飞书文档内容 参数:-doc_url: 文档链接 -format: 返回格式(text|markdown) # skill: update_document描述: 更新现有文档的内容 参数:-doc_id: 文档ID -content: 新内容 -update_mode: append|replace # skill: search_documents描述: 搜索飞书知识库中的文档 参数:-query: 搜索关键词 -scope: 范围(my|team|all) 4.3 日历类 Skills(3个)
# skill: check_calendar描述: 查询日历空闲时段 参数:-date_range: 查询日期范围 -attendees: 参与者列表(可选) 示例调用:"查一下我和李四明天下午都有空的时间段"# skill: create_event描述: 创建日历事件 参数:-title: 事件标题 -start_time: 开始时间 -end_time: 结束时间 -attendees: 参与者 -description: 描述 # skill: get_schedule描述: 获取指定日期的日程安排 参数:-date: 日期 -person: 查询对象(self|email) 4.4 多维表格 Skills(4个)
# skill: read_bitable描述: 读取多维表格数据 参数:-table_url: 表格链接 -filter: 过滤条件(支持SQL-like语法) -fields: 返回字段 # skill: write_bitable描述: 向多维表格写入数据 参数:-table_url: 表格链接 -records: 写入数据(JSON格式) # skill: create_bitable描述: 创建新多维表格 参数:-name: 表格名称 -fields: 字段定义 -folder_id: 存放目录 # skill: update_bitable_record描述: 更新多维表格中的记录 参数:-table_url: 表格链接 -record_id: 记录ID -fields: 更新字段 4.5 其他 Skills(5个)
# skill: send_email # 发送飞书邮件# skill: create_approval # 发起审批流程# skill: query_hr_info # 查询员工信息(需权限)# skill: upload_file # 上传文件到云盘# skill: create_wiki # 创建Wiki页面五、实战案例:搭建智能工作日助手
下面演示如何用 Claude Code + Lark CLI 搭建一个每天早上自动执行的工作日助手。
5.1 场景描述
每天早上 9 点,AI 自动:
- 读取今日日历,整理待参会议
- 汇总昨日群聊讨论中的 Action Items
- 创建"今日工作看板"文档
- 发送日程通知到个人
5.2 Claude Code 集成配置
在 ~/.claude/settings.json 中添加:
{"tools":{"lark_cli":{"command":"lark","description":"操作飞书的命令行工具","capabilities":["send_message","read_messages","check_calendar","create_document","read_bitable","create_event"]}}}5.3 自动化脚本
#!/bin/bash# daily-assistant.sh - 每日工作日助手DATE=$(date +%Y-%m-%d)echo"🤖 启动每日工作日助手: $DATE"# Step 1: 获取今日日程echo"📅 获取今日日程..."SCHEDULE=$(lark calendar get-schedule --date today --format json)# Step 2: 汇总重要群聊消息echo"💬 汇总昨日消息..."MESSAGES=$(lark message read\ --chat-id "oc_product_team_chat_id"\ --time-range "yesterday"\--limit100\--format json)# Step 3: 用AI生成工作看板(调用AI API)DAILY_PLAN=$(echo"{\"schedule\": $SCHEDULE, \"messages\": $MESSAGES}"|\ claude-cli "根据今日日程和昨日群聊,生成今日工作重点和Action Items,Markdown格式")# Step 4: 创建飞书文档DOC_URL=$(lark document create \--title"📊 工作看板 - $DATE"\--content"$DAILY_PLAN"\--folder"work_dashboard_folder_id")# Step 5: 发送通知 lark message send \--to"self"\--text"✅ 今日工作看板已就绪:$DOC_URL"echo"🎉 每日助手执行完毕!"5.4 运行效果
🤖 启动每日工作日助手: 2026-03-29 📅 获取今日日程... ✅ 发现3个会议 💬 汇总昨日消息... ✅ 处理87条消息 📝 生成工作看板... ✅ 识别出12个Action Items 📄 创建飞书文档... ✅ https://feishu.cn/docs/xxxx 📨 发送通知... ✅ 🎉 每日助手执行完毕!(耗时 4.2s) 六、与其他工具的对比
| 功能 | Lark CLI | 传统API封装 | Zapier/n8n |
|---|---|---|---|
| AI Agent 友好度 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| 开发成本 | 极低(即装即用) | 高(需自行封装) | 中(可视化配置) |
| 灵活性 | 高 | 极高 | 中 |
| 协议支持 | MCP原生 | 自定义 | 部分支持 |
| 开源协议 | MIT | - | 商业/开源混合 |
| 部署方式 | 本地CLI | 服务端 | 云端SaaS |
| 学习曲线 | 低 | 高 | 中 |
七、进阶:多 Agent 协作工作流
7.1 架构设计
┌─────────────────────────────────────────┐ │ Orchestrator Agent │ │ (Claude Code / OpenAI Codex) │ └─────────────────┬───────────────────────┘ │ 分发任务 ┌──────────┼──────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 消息 │ │ 文档 │ │ 数据 │ │ Agent │ │ Agent │ │ Agent │ └────┬────┘ └────┬────┘ └────┬────┘ └──────────┴──────────┘ │ Lark CLI │ 飞书 OpenAPI 7.2 多Agent任务分配示例
# multi_agent_workflow.pyimport subprocess import json deflark(command:str,**kwargs)->dict:"""封装Lark CLI调用""" args =["lark"]+ command.split()for k, v in kwargs.items(): args.extend([f"--{k}",str(v)]) result = subprocess.run(args, capture_output=True, text=True)return json.loads(result.stdout)classOrchestratorAgent:defhandle_task(self, task:str):"""主编排器:解析任务并分发到子Agent"""if"发消息"in task or"通知"in task:return MessageAgent().execute(task)elif"文档"in task or"纪要"in task:return DocumentAgent().execute(task)elif"数据"in task or"表格"in task:return DataAgent().execute(task)classMessageAgent:defexecute(self, task:str)->str:# 解析接收者和内容 result = lark("message send", to="[email protected]", text=task)returnf"消息已发送: {result['message_id']}"classDocumentAgent:defexecute(self, task:str)->str:# 创建会议纪要 content = self._generate_content(task) result = lark("document create", title="会议纪要", content=content)returnf"文档已创建: {result['url']}"def_generate_content(self, task:str)->str:# 调用LLM生成内容returnf"# 会议纪要\n\n{task}"classDataAgent:defexecute(self, task:str)->str:# 读取并分析多维表格数据 data = lark("bitable read", table_url="https://feishu.cn/base/xxx",filter="status=active")return json.dumps(data, ensure_ascii=False)# 主流程 orchestrator = OrchestratorAgent() result = orchestrator.handle_task("帮我把今天的销售数据整理成报告,发给所有销售经理")print(result)八、安全与权限管理
8.1 最小权限原则
配置 Lark CLI 时,建议按照最小权限原则配置飞书应用权限:
# 推荐权限配置(按需开启)minimal_permissions:- im:message:send_as_bot # 发消息- docs:document:create # 创建文档- calendar:calendar:read # 读取日历- bitable:table:read # 读取表格# 谨慎开启的权限sensitive_permissions:- contact:user:read_as_app # 读取员工信息- admin:department:read # 读取部门信息8.2 环境变量安全存储
# 不要在代码中硬编码凭证!# 推荐使用环境变量exportLARK_APP_ID="cli_xxxxxxxxxxxxxx"exportLARK_APP_SECRET="xxxxxxxxxxxxxxxxxxxxxx"# 或使用 .env 文件(加入 .gitignore)echo"LARK_APP_ID=cli_xxx">> .env echo"LARK_APP_SECRET=xxx">> .env # 然后在 shell 配置中加载source .env 九、常见问题 FAQ
Q1:Lark CLI 支持国际版飞书(Lark)吗?
✅ 支持!配置时选择域名larksuite.com即可,国内版使用feishu.cn
Q2:并发调用会触发限流吗?
⚠️ 飞书 OpenAPI 有频率限制,建议:消息发送 ≤ 50 次/分钟,文档操作 ≤ 100 次/分钟。Lark CLI 内置了自动重试和指数退避机制。
Q3:如何让 Cursor 直接使用 Lark CLI?
在 Cursor 的Agent Tools配置中添加lark命令路径即可,Cursor 会自动发现 19 个 Skills 的 JSON Schema。
Q4:可以用于自动化测试吗?
✅ 完全可以,Lark CLI 支持 --dry-run 参数,模拟执行但不真实调用 API,适合测试 Agent 工作流。十、总结与展望
飞书 Lark CLI 的开源,是 AI Agent 工程化落地的一个重要里程碑。它解决了工具与数据之间的最后一公里问题,让 AI 不再只是"说说而已",而是真正能够在企业环境中自主执行任务。
核心价值总结:
| 价值维度 | 描述 |
|---|---|
| 🎯 开发效率 | 从零到一集成飞书 Agent,时间从几天压缩到几分钟 |
| 🤖 Agent 能力 | 19 个开箱即用 Skills,覆盖企业核心场景 |
| 🔒 安全合规 | MIT 协议,本地部署,数据不出企业 |
| 🌐 生态兼容 | MCP 原生支持,接入成本趋近于零 |
对于前端开发者而言,Lark CLI 提供了一个绝佳的切入点——你可以用它来构建智能工作台、自动化日报工具、团队协作机器人,让你的技术价值在业务层面得到更大的放大。
现在就行动:
# 一行命令开始体验 go install github.com/larksuite/cli@latest && lark --help本文所有技术细节基于飞书官方文档和开源代码验证。如有错误,欢迎在评论区指正。