

科研工具|手把手搭建文献解析AI智能体
文 / 刘海宁


编者按
惟创新者进,惟善智者强。当下人工智能浪潮席卷各行各业,正成为驱动行业变革、赋能管理升级的核心动能。
山东大学齐鲁医院人事处持续深耕学习型组织建设,立足岗位实际、紧跟时代步伐,齐鲁医院HR特开设《 智见》AI 专题分享栏目。栏目聚焦智能技术与医院管理的深度融合,分享实操经验、解析应用场景、探讨发展思路,旨在搭建思维碰撞、技术交流、实践共研的全新平台。
诚邀各位同仁一同探索 AI 价值、研习数字技能,以科技之力简化流程、以创新思维激发潜能,以智慧赋能优化服务,携手推动医院管理工作提质增效、行稳致远!

引言
阅读文献是科研人的必修课,当然,也是限速环节:检索、下载、读摘要,再加上非母语者的阅读速度,常常让人感到力不从心。
如今 GitHub 有不少开源 AI 智能体工具,搭配 Cherry Studio 平台就能搭建专属文献阅读助手,整套配置成本 5 元以内,单篇论文解析仅需 0.2-0.4 元,五分钟就能完成一篇文献深度拆解。这套智能体由大模型、开源技能包、MCP 外部接口三部分构成,三者组合即可实现 AI 自动读论文。
1
智能体“大脑”长什么样?


要实现智能体辅助阅读文献,我们需要先构建/组装这个大脑,它由三部分组成:
1.大模型——就像神经网络 + ATP 供能,比如 DeepSeek、GPT、Gemini 等。
2.技能(Skill)——人通过学习获得技能,智能体只需要一个“能力包”,通常是训练好的代码,可以从 GitHub 等开源平台下载,比如会做 PPT、会写小红书推文等。
3.MCP——巧妇难为无米之炊,再牛的科研人员没有仪器设备也寸步难行。MCP 就是智能体接入外界的接口,比如连接 SQL 数据库、接入小红书等。
一句话总结:基于一个大模型平台,配置好以上三部分,你的文献阅读助手就诞生了。
2
具体配置步骤


1.下载工具 Cherry Studio 聚合 300+大模型,支持智能体、MCP 扩展 下载链接:https://cherryai.com.cn/
2.配置大模型并创建智能体
①选用 DeepSeek V4 Pro,前往官网申领 API 密钥
②在Cherry Studio模型设置填入密钥完成接入
③安装 Git Bash,新建智能体并绑定该模型
3.安装论文解读技能paper-digest
①GitHub 搜索paper-digest,下载项目压缩包;
②软件内【设置-技能】,通过 ZIP 文件完成安装。
4.配置本地MCP(实现本地读取 PDF)
①环境准备:打开 PowerShell,安装依赖 python --version pip install PyMuPDF mcp
②新增 MCP 服务:设置→MCP 服务→添加(stdio 类型)
命令:填写本机 python.exe 路径
参数:填写local_mcp_server.py 存放路径
③获取脚本:复制文末完整代码,保存为 local_mcp_server.py 放到对应文件夹
④开启权限:保存配置,打开 MCP 总开关与智能体 MCP 工具权限
5.一切就绪后,就可以让Agent利用 paper-digest 技能分析文献啦!
补充说明
local_mcp_server.py 完整代码放在文末,复制粘贴即可使用。
3
local_mcp_server.py 完整代码


#!/usr/bin/envpython3
"""
本地MCP服务器-提供run_shell和run_python
"""
importsys
importos
importsubprocess
importtraceback
LOG=open(r"G:\OneDrive\桌面\mcp_debug.log","w",encoding="utf-8")
deflog(msg):
LOG.write(f"[MCP]{msg}\n")
LOG.flush()
log("===Starting===")
try:
frommcp.serverimportServer,InitializationOptions
importmcp.server.stdio
importmcp.typesastypes
log("importsOK")
server=Server("local-commands")
@server.list_tools()
asyncdefhandle_list_tools()->list[types.Tool]:
return[
types.Tool(
name="run_shell",
description="在本地执行shell命令并返回输出",
inputSchema={
"type":"object",
"properties":{
"command":{"type":"string","description":"要执行的命令"}
},
"required":["command"]
}
),
types.Tool(
name="run_python",
description="在本地执行Python代码并返回输出",
inputSchema={
"type":"object",
"properties":{
"code":{"type":"string","description":"Python代码"}
},
"required":["code"]
}
)
]
@server.call_tool()
asyncdefhandle_call_tool(name:str,arguments:dict)->list[types.TextContent]:
:
command=arguments.get("command","")
try:
result=subprocess.run(
command,shell=True,capture_output=True,
text=True,timeout=120,
encoding="utf-8",errors="replace"
)
output=result.stdout
ifresult.stderr:
output+=f"\n[STDERR]\n{result.stderr}"
ifnotoutput.strip():
output=f"(exitcode:{result.returncode})"
return[types.TextContent(type="text",text=output)]
exceptsubprocess.TimeoutExpired:
return[types.TextContent(type="text",text="错误:超时")]
exceptExceptionase:
return[types.TextContent(type="text",text=f"错误:{e}")]
elifname=="run_python":
code=arguments.get("code","")
try:
result=subprocess.run(
[sys.executable,"-c",code],
capture_output=True,text=True,timeout=120,
encoding="utf-8",errors="replace"
)
output=result.stdout
ifresult.stderr:
output+=f"\n[STDERR]\n{result.stderr}"
return[types.TextContent(type="text",text=output)]
exceptExceptionase:
return[types.TextContent(type="text",text=f"错误:{e}")]
return[types.TextContent(type="text",text=f"未知工具:{name}")]
asyncdefrun():
asyncwithmcp.server.stdio.stdio_server()as:
log("stdioconnected,callingserver.run...")
init_opts=server.create_initialization_options()
awaitserver.rtasyncio
asyncio.run(run())
exceptExceptionase:
log(f"FATAL:{e}")
log(traceback.format_exc())
LOG.close()
raise

结语
这套流程配置好后,大家只需要把PDF论文丢给智能体,AI就能自动帮你提取核心内容、总结要点。
对于需要大量泛读文献的科研党来说,效率提升非常明显。
如果你也在用类似的AI工具读文献,欢迎留言交流~
文字编辑 | 田茂臻
责任编辑 | 李卓群
审核 | 赵 玲
投稿邮箱:qlyyhr@126.com

夜雨聆风