——会自己读论文、写摘要、推送到群的那种
📌 关注公众号
后台回复 【AI】
领 Win11 纯净安装包(VS Code + CC Switch)
先说一个场景,你看看熟不熟悉。
你有一个研究方向,需要持续跟踪arXiv上最新的paper。每天早上起来,你希望有个东西已经帮你做好了三件事——把今天新出的相关论文挑出来、用中文写好摘要、推送到你的飞书群里。你不用去翻arXiv,不用去读英文摘要,不用手动复制粘贴。
如果你觉得"这听起来像个需要雇一个人来干的事"——那恭喜你,你已经理解AI Agent是什么了。
AI Agent 不是聊天机器人。
它是自己能干活的东西。
而飞书,恰好为这件事提供了目前国内最完整的工具链。今天这篇文章,我就手把手带你搭一个飞书科研助手AI Agent——从零开始,到它每天早上自动往群里推论文。
—— · ——
🚀 飞书CLI:让你的AI Agent长出"手"
先交代一下背景——为什么用飞书做AI Agent这件事现在特别合适。
飞书官方在GitHub上开源了一个叫lark-cli的工具,地址是 github.com/larksuite/cli。这个东西本质上是一个命令行工具——但不是一个普通的命令行工具。它覆盖了飞书的11个核心业务域,暴露了200多个命令,包含20多个预置的AI Agent Skills。
飞书CLI覆盖的业务域
💬 即时通讯 (IM) 📄 文档 (Docx) 📊 多维表格 (Base)
📈 电子表格 (Sheets) 📅 日历 (Calendar) ✉ 邮箱 (Mail)
✅ 任务 (Task) 📝 妙记 (Minutes) 👥 通讯录 (Contact)
🗃 审批 (Approval) 🌐 云盘 (Drive)
这意味着什么?意味着之前你需要登录飞书网页版、点鼠标、填表、发送的所有操作——现在全部可以通过一行命令完成。对AI Agent来说,这就是它的"手"。AI不再只是一个跟你聊天的对话框——它可以实实在在地帮你发消息、建文档、查日历、管理任务。
🏗 飞书CLI的架构分层
lark-im send-message、lark-doc get-content、lark-calendar search-events…… | |
一句话总结飞书CLI和普通API的区别:普通API是你需要在代码里写HTTP请求;飞书CLI是你直接在终端敲一行命令就完事了。这对AI Agent特别友好——因为大模型生成命令行比生成HTTP请求代码更稳定、更不容易出错。
—— · ——
🛠 第一步:搭建基础环境
在开始造科研助手之前,你需要先把"基础设施"搭好。只做一次,后面就一劳永逸了。
🚀 1. 安装飞书CLI
飞书CLI是用Go写的,安装非常简单。Mac用户用Homebrew,Windows用户直接下载二进制文件:
# macOS / Linux
brew install larksuite/tap/lark-cli
# 或者直接下载二进制(Windows用户从这里开始)
# 从 github.com/larksuite/cli/releases 下载对应平台的压缩包
# 解压后把 lark-cli 放到你的 PATH 目录下即可
Windows用户注意:建议在Git Bash或WSL环境下使用,体验和Mac/Linux一致。
🔑 2. 认证授权
装好之后的第一件事,是让CLI获得操作你飞书账号的权限:
# 浏览器登录飞书账号,授权CLI
lark-cli auth login
# 查看当前登录状态
lark-cli auth status
执行后会跳转浏览器,你确认授权就行了。整个过程30秒。
✉ 3. 验证:发一条测试消息
# 先查一下你有权限的群聊列表
lark-im list-chats
# 往某个群里发一条消息测试
lark-im send-message --chat-id "oc_xxxxx" --content "🤖 AI科研助手已上线!"
如果群里弹出了这条消息——恭喜,你的AI Agent已经拥有了"发消息"这只手。
—— · ——
🧠 第二步:理解AI Agent的"大脑"架构
在开始写代码之前,我们先弄清楚AI Agent到底怎么工作的。这很重要——因为如果你不理解原理,你永远只能复制别人的代码。
一个AI Agent由三部分组成
大脑 —— 大语言模型(LLM)
负责"理解你要什么"和"决定怎么做"。比如你发了一句"帮我搜一下本周arXiv上多模态方向的论文",LLM会理解你的意图、生成搜索关键词、决定调用哪个arXiv API。
手 —— 工具(Tools)
让Agent有能力做事情的接口。飞书CLI就是这里最关键的工具集——发消息、建文档、查日历。另外还有arXiv API(搜论文)、翻译API(写中文摘要)等外部工具。
记忆 —— 上下文(Context + Skill Prompt)
Agent需要知道"我是谁""我能干什么""我的工作流程是什么"。这些信息写在一个叫Skill Prompt的文件里——AI每次启动都会读它。它相当于一份"员工岗位说明书"。
💡 简单理解:LLM是大脑,工具集是手脚,Skill Prompt是岗前培训。
人类给一份"岗位说明书"(提示词)+一堆"工具权限"(API/CLI)→ AI Agent就能独立工作。
—— · ——
📝 第三步:写一份"科研助手的岗位说明书"
好的,现在动手了。我们先定义这个科研助理Agent到底要做什么。
一份标准的Agent Skill Prompt包含这几个部分:身份定义 → 核心能力 → 工作流程 → 可用工具 → 输出格式。
📋 research-assistant/SKILL.md
## 身份
你是一个飞书科研助手Agent。你的工作是为研究团队自动追踪最新学术论文,
生成中文摘要,并推送到指定飞书群。
## 核心能力
1. 从arXiv API检索指定领域的最新论文(支持多关键词和多分类)
2. 对检索到的论文,调用LLM生成准确的中文摘要(200字以内)
3. 将论文信息(标题、作者、链接、中文摘要)格式化为飞书消息卡片
4. 通过飞书CLI将消息推送到指定群聊
5. 将检索结果同步保存到飞书多维表格,方便后续检索和回顾
## 工作流程
当用户输入"今天的论文"或设定定时任务触发时:
Step 1: 调用 arXiv API,检索用户设定的关键词(默认:"multimodal learning")
Step 2: 筛选最近24小时新增的论文,根据相关性排序,取Top 5
Step 3: 逐篇调用LLM生成中文摘要,格式:标题 + 作者 + 一句话创新点 + 中文摘要
Step 4: 使用飞书消息卡片模板,格式化输出
Step 5: 调用 lark-im send-message 推送到目标群
Step 6: 调用 lark-base 命令将结果追加到多维表格
## 可用工具
- lark-im: 发消息、查群聊、上传文件
- lark-base: 读写飞书多维表格
- lark-doc: 创建/编辑飞书文档
- arXiv API: 论文检索 (http://export.arxiv.org/api/query)
- LLM API: 摘要生成和翻译
## 输出约束
- 每条论文摘要不超过200字
- 使用飞书交互卡片格式(interactive card),包含标题、链接、按钮
- 如果今天没有新论文,如实告知"今日无新论文"
👀 这就是一份Skill Prompt的完整模板。AI Agent就是靠读这个来"上岗"的。
—— · ——
⌨ 第四步:写核心工作流脚本
有了岗位说明书,接下来写Agent实际干活用的脚本。我们用Python来写,因为它生态最好、AI相关的库最全。
核心脚本:paper_agent.py
# paper_agent.py —— 飞书科研助手核心脚本
# 流程: 搜arXiv → 筛Top5 → 生成中文摘要 → 推飞书群 → 存多维表格
import subprocess, json, requests, xml.etree.ElementTree as ET
from datetime import datetime, timedelta
# ===== 配置区 =====
CHAT_ID = "oc_你的飞书群ID"
KEYWORDS = ["multimodal learning", "vision language model"]
MAX_PAPERS = 5
# ===== 第1步:搜arXiv =====
def search_arxiv(keyword, days=1):
url = f"http://export.arxiv.org/api/query?search_query=all:{keyword}&start=0&max_results=20&sortBy=submittedDate&sortOrder=descending"
resp = requests.get(url)
root = ET.fromstring(resp.text)
papers = []
for entry in root.findall('{http://www.w3.org/2005/Atom}entry'):
title = entry.find('{http://www.w3.org/2005/Atom}title').text.strip()
link = entry.find('{http://www.w3.org/2005/Atom}id').text.strip()
summary = entry.find('{http://www.w3.org/2005/Atom}summary').text.strip()
papers.append({"title": title, "link": link, "abstract": summary[:500]})
return papers[:MAX_PAPERS]
# ===== 第2步:LLM生成中文摘要 =====
def generate_cn_summary(paper):
prompt = f"""请帮我把下面这篇英文论文摘要翻译并概括为一小段中文(150字以内),
要求:突出创新点和核心方法。不要大段翻译,要精炼总结。...
标题:{paper['title']}
摘要:{paper['abstract']}"""
# 调用你使用的LLM API(Claude/GPT/DeepSeek等),此处省略具体HTTP请求
cn_summary = llama_api(prompt) # 替换为你的LLM调用
return cn_summary
# ===== 第3步:飞书CLI推送 =====
def push_to_feishu(papers):
card = build_feishu_card(papers) # 构建飞书消息卡片JSON
subprocess.run([
"lark-im", "send-message",
"--chat-id", CHAT_ID,
"--card", json.dumps(card, ensure_ascii=False)
], check=True)
# ===== 主流程 =====
def main():
all_papers = []
for keyword in KEYWORDS:
papers = search_arxiv(keyword)
for p in papers:
p['cn_summary'] = generate_cn_summary(p)
all_papers.extend(papers)
push_to_feishu(all_papers)
print(f"✅ 已推送 {len(all_papers)} 篇论文到飞书群")
if __name__ == "__main__": main()
⚠ 以上为简化示意代码,展示核心逻辑。完整版需补充LLM API调用和飞书卡片模板构建。
—— · ——
⏰ 第五步:让它每天早上自动跑
Agent写好了,但你不可能每天早上手动敲一次 python paper_agent.py。你需要让它自动运行。
方案一:服务器定时任务(最简单)
如果你有一台服务器(哪怕是云服务商最便宜的轻量服务器),直接用Linux的cron:
# 每天早上8:30执行一次
30 8 * * * cd /home/user/research-agent && python3 paper_agent.py >> logs.txt 2>&1
方案二:GitHub Actions(免费,零服务器)
如果你没有服务器——GitHub Actions完全免费。把代码推到GitHub仓库,然后在 .github/workflows/paper_agent.yml 里配置定时触发:
# .github/workflows/paper_agent.yml
on:
schedule:
- cron: "30 0 * * *" # UTC 0:30 = 北京时间 8:30
workflow_dispatch: # 也支持手动触发
方案三:飞书机器人触发(最高级)
如果你想要"在飞书群里@一下机器人,它就立刻去搜论文"——这需要飞书应用 + Webhook + 后台服务。搭建步骤:
在飞书开放平台创建一个"企业自建应用",开通机器人能力,获取App ID和App Secret
配置消息事件订阅(im.message.receive_v1),把Webhook地址指向你的后端服务
后端收到消息后解析用户指令 → 调用paper_agent.py → 把结果发回群里
同时保留GitHub Actions定时触发——每天自动推 + 临时@触发,双保险
—— · ——
🔥 进阶玩法:抄几个现成的高分作业
不想从零开始写?没问题。GitHub上已经有几个做得不错的飞书科研助手开源项目,可以直接Fork来用或者参考改造:
🎯 功能:每天自动从arXiv抓取论文 → AI生成中文摘要+作者单位 → 推送到飞书群 → 附带本地静态阅读网站
🔗 地址:github.com/genggng/hermes-arxiv-agent
💡 亮点:这个项目文章在知乎上火了,作者把整个方案写得非常详细,包括飞书机器人配置、arXiv API调用、DeepSeek翻译摘要的完整链路。特别适合拿来当模板。
🎯 功能:每周论文发现,支持"偏好学习"——你给论文打分,AI记住你的偏好,越推越准
🔗 地址:github.com/zifangchen/skill-find-papers
💡 亮点:不是简单的关键词匹配——用了偏好学习的思路。你看过哪些、点过赞的、收藏了的,AI用这些信号来优化推荐算法。相当于一个越来越懂你的私人学术秘书。
🎯 功能:20个飞书日常工作流Skill合集——会议纪要整理、日程待办摘要、审批处理……
🔗 地址:github.com/liangdabiao/lark-workflow-feishu-cli
💡 亮点:不只是科研——日常办公的各种自动化场景都有。看到"飞书CLI能做到什么"的最佳参考。
—— · ——
最后一句
写这篇文章的时候,我自己的飞书助手Agent已经稳定跑了快一个月。
这种感觉很奇妙——你写了一个程序,然后它每天早上替你上班。不是ChatGPT那种"你说一句它回一句"的互动,而是一个真正的Agent:它知道自己什么时候该干活、该干什么、干完之后该把结果放在哪里。
飞书CLI把这件事的门槛从"你要会调十几个API"降到了"你能写几行Python就能搭一个Agent"。200多个预制命令让AI有了操作飞书的双手。而你要做的,就是给这双手配上一个好用的脑子。
GitHub上那些已经搭好的开源项目,是你的起跑线。不用从零写——fork一个,把关键词改成你的研究方向,把群ID改成你的群,跑起来就是你的Agent。
这个暑假,你花三天搭一个科研助手——开学之后,它替你干一年。
🧠 LLM是大脑
💬 飞书CLI是手脚
📝 Skill Prompt是岗位说明书
三样东西凑齐
你就创造了一个每天早上替你干活的AI员工
🤖
一个每天早上被Agent叫醒看论文的中年少女
Agent替我上班 · 我只负责读paper
— END —
📌 关注公众号,后台回复 【AI】
免费领取 Win11 纯净安装包(VS Code + CC Switch)
💬 你搭过AI Agent吗?或者想看什么方向的Agent教程?评论区告诉我
夜雨聆风