Docusaurus 自动化生成文章总结
先看效果
最近谷歌的 AI 模型 Gemini 发布了,本着白嫖的原则,准备给我的博客加上 AI 总结的功能。由于我的博客是一个静态网站,没有服务端并且我也不想引入服务端,所有没有办法在上面写接口。于是在调研了一些方案后决定在 build 时对文章进行总结并将总结的内容插入到文档的 front matter 中,这样就可以在没有服务端的情况下直接读取到总结的内容了。
方案
我一共想到了几种方案
- 通过 Github Action 监听 push 事件,然后在 Action 中调用 Gemini API 生成总结,最后将总结的内容插入到文档的 front matter 中。
- 通过 Github Bot 监听 Github Webhook 事件,然后在 Bot 中调用 Gemini API 生成总结,最后将总结的内容插入到文档的 front matter 中,由 Bot 提交 PR,整个工作流比较顺滑,你只需要 Review 并合并 Bot 的 PR 即可。
- 直接在页面上请求 Gemini API 生成总结然后展示在页面上。
首先第三种方案由于博客是静态页面,出于安全考虑没办法将 API KEY 直接发送给客户端,所以这种方案直接排除了。 第一种方案虽然可行但是没有第二种方案能实现的功能多,并且第二种方案社区有成熟的框架 Probot 使用,所以我最后选择了第二种方案。
于是我自己开发了一个 Github 机器人来完成自动化总结的功能, 项目地址