新闻 发表于 2025-9-25 19:32

AI 做软件 —— 做了个"论文分析小助手"桌面应用,原来只需要跟AI这样说...

作者:微信文章
导读:在"通用爬虫应用"完成之后,小刀决定换个思路 —— 先从垂类场景入手,做一个真正能解决自身痛点的工具。本篇记录了用 Electron 开发一款 Mac 桌面应用 —— “论文分析小助手”的过程。通过调用 Arxiv API 获取最新论文,再结合大模型进行总结与趋势分析,让学术信息获取和消化更高效。

全文约 1500 字 · 预计阅读 5 分钟

先通用应用,再垂类应用,最后回到通用应用

继通用爬虫应用初步开发完之后,相比于无脑继续优化该通用工具,小刀认为更合适的发展路线是【先找垂类场景使用工具,积累心得,再做通用应用】。

因此为了解决小刀自身的痛点 —— 【及时关注AI学术圈的动向】,这次打算做一个“论文分析小助手”的Mac桌面应用😁。
基础设施与设计思路

基础设施

截止目前,小刀已经积累的经验和项目包括:
Apple 开发者账号,可以对 Mac 桌面应用进行签名和公证Electron 模版项目(https://github.com/coderzzy/pc-electron-template),可以以此为基础,快速用 AI 开发 electron 项目TRAE 和 Codex 两个 AI 开发工具,前者更偏向 Copilot 模式,后者更偏向 Agent 模式。
对于【单个项目】里的正常的指导性开发,一般使用前者;对于【跨项目】的代码转写、相似业务逻辑复用场景,一般使用后者。

总体设计

该桌面应用主要是3个模块
设置:跟通用AI应用一致,可以配置和本地存储一些用户的个人配置,如 deepseek 密钥、论文和分析文件存储的根目录最新论文爬取:从 Arxiv 上按照指定分类获取指定日期和数量的最新的论文,并将其下载到本地
调研了发现,Arxiv 已经提供了很方便的 Api(https://info.arxiv.org/help/api/basics.html),不用自己动手研究了^_^
论文分析:访问论文存储的根目录,可以使用deepseek对单个论文进行总结、也可以对全部论文进行总结和趋势分析,最终提供 HTML 报告,并且可以在应用内置的浏览器阅读。
简要版 AI 对话记录

会话轮次目标主要任务描述(可能进行了多轮对话去补充信息)1初步完成论文爬取页这是一个 electron 项目,实现从 arxiv 上自动爬取论文信息,并且支持分析。
预期会有 3 个 tab:最新论文爬取、论文分析、设置。
Settings 已经开发完成;
现在主要开发最新论文爬取页,用户可以通过下拉列表选择 arxiv 的主题、获取的最新论文数量、日期(默认是今天的日期),然后后台会进行爬取,并且每个pdf单独下载到设置里的 essayProcessPath 下,以日期和领域加上现在的时间戳作为文件夹2部分代码结构优化抽离 main.ts 里面的 pdf 爬取和 pdf 下载功能到 pdf_worker.ts 里吧
从 arxiv 爬取的也抽离过去,以及 config 可以抽取到 config.ts 里3前后台进度信息同步基于channel,实现前后台的进度同步。
如下载论文时给前台一些进度信息,下载中、下载完成等4论文信息初步汇总成HTML文件(不使用大模型)批量下载完,顺便写一个好看的 origin_info.html 文件,存储papers的信息,也存储在对应目录里5初步完成论文分析页完成论文分析的功能:
1、支持查看essayProcessPath下的文件夹,然后点开每个文件夹,可以看到其下的文件
2、如果是html文件,则用electron内置的浏览器渲染打开
3、如果是pdf文件,则可以打开,也可以选择用模型总结其内容成html文件
4、另外还有个整体总结按钮,点了之后,会根据所有的html文件,用模型进行总结成总体版的html
用模型总结的部分可以先mock,在deepseek.ts里写mock函数即可6前后台信息同步论文分析部分,与论文爬取类似,也加个进度展示能力吧,分析过程里也不断向前台反馈执行进度7deepseek请求真实实现-(该部分手写了 System Prompt 和 User Prompt)8前后台信息同步deepseek改成流式请求,并且每隔一段时间统计一下token消耗,反馈给前台(每隔几个chunk统计一次就行)9UI优化论文爬取页,优化一些UI
1、使用 Arco Design 组件库,并替代一些组件
2、进度展示放在标题下吧
3、以及开始爬取、开始下载的按钮点了之后,提供一个message消息,运行中的时候置灰不可以再点10UI优化使用 Arco Design 的 Tabs 组件,优化首页的导航栏和菜单11UI优化论文分析页,
1、文件列表以及操作用表格或者List组件展示吧
2、后台运行任务期间,所有的按钮置灰不允许再次点击触发12性能优化国内请求arxiv下载pdf很慢;但是浏览器会走cdn,能用 electron 内置的浏览器进行下载来提速么(webContents.downloadURL)效果展示

论文爬取与下载


论文爬取与下载效果演示论文信息展示


论文信息展示论文信息汇总


论文信息汇总模型进行整体分析与总结


模型整体分析报告总结

做软件这件事,AI 已经能帮我们大幅降低开发门槛:写代码的部分越来越容易,真正的挑战在于把应用做得好用,并且能够持续运营。

这次开发的“论文分析小助手”,并不是要直接做成通用工具,而是从个人刚需的垂类场景切入,把痛点转化为应用,先积累实战经验,再逐步回到通用化的思路。

从这个过程中可以看到:
基础设施(账号、模板、工具链)会越来越完善AI 能力可以极大提升开发效率,但依旧需要人工设计流程与管控细节垂类切入让产品更容易有清晰的使用场景和价值

未来,随着更多这样的垂类“小助手”被做出来,AI 做软件的方式也会不断迭代升级。

- END -


执行是地基,认知是天空,中间是逻辑和工具

多总结,多学习
页: [1]
查看完整版本: AI 做软件 —— 做了个"论文分析小助手"桌面应用,原来只需要跟AI这样说...