快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」

次功能来源于@Hyde大佬的《AI 摘要实现 https://seasir.top/posts/ai-summary-tutorial/》文章,感谢大佬的手把手文档❤️❤️❤️。
One在次基础上移植到自己博客了哈哈。
1给我的站点新增 文章AI摘要功能。
2
3目前有的小伙伴已经实现的demo如下:
4https://seasir.top/posts/ai-summary-tutorial/
5deom文档:https://seasir.top/posts/ai-summary-tutorial/
6他这个站点事astro,文章AI摘要是 提前在构建阶段生成并存入文章元数据,前端页面读取后带动画展示,页面访问无需实时调用 AI,无额外接口开销。
7
8请帮我把他这个AI摘要功能给一直过来哦。回答
对照 Firefly-hyde 与 AI 摘要教程,本站可迁移点已经清楚。落地方案有两处会明显影响实现,请先选一下:
1. 构建期用哪家大模型?
QWEN_API_KEY)BASE_URL / MODEL / API_KEY,默认仍指向通义)2. 自动生成何时跑?(选 C 可跳过)
make gen-ai-summary,不进 CI(省费用、可控;Firefly 也是独立脚本)另外默认会按 Firefly 复用 frontmatter 的 description + descriptionSource(ai / manual):有内容就展示卡片;生成脚本只补空 description。若你希望 AI 摘要与现有 SEO/卡片简介分开,可以说一声,会改成独立字段 aiSummary。
101.
2B. 任意 OpenAI 兼容接口(可配 BASE_URL / MODEL / API_KEY,默认仍指向通义)
3
402.
5A. 仅本地/手动:make gen-ai-summary,不进 CI(省费用、可控;Firefly 也是独立脚本)
6
703.我希望 AI 摘要与现有 SEO/卡片简介分开,改成独立字段 aiSummary。AI摘要生成的只允许出现在文档页面的AI文章摘要那里,首页文章摘要只从原来默认的frontmatter的description字段拿内容就好。
8
9按上面我说的弄吧。文章 AI 摘要已接好,按计划落地。
展示
aiSummary → 正文上方卡片 + 打字机动画description/topics/klsjl(formatter)已填 aiSummary生成(仅本地)
.env 配置 AI_SUMMARY_API_KEY(可选 AI_SUMMARY_BASE_URL / AI_SUMMARY_MODEL)make gen-ai-summary(不进 CI / build)主要文件
layouts/partials/ai-summary.html、_ai-summary.scss、ai-summary.jsscripts/generate-ai-summaries.mjsdocs/single.html / list.html 注入点符合预期。



来到阿里云百炼大模型页面,获取key:
https://bailian.console.aliyun.com/cn-beijing?tab=model#/api-key
问题:
还得是上ai,我是不是还要获取千问ai的key呀?
回答:
对。按现在这套默认配置,需要一个能调通义(DashScope)的 API Key。
怎么配
.env 里写上:1AI_SUMMARY_API_KEY=sk-xxxxxxxx
2# 下面两项可不写,默认就是通义
3# AI_SUMMARY_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
4# AI_SUMMARY_MODEL=qwen-plusmake gen-ai-summaryaiSummary 的文档补摘要,不进 CI,访问页面也不会再调 AI。也可以不用千问
任何 OpenAI 兼容接口都行,改 AI_SUMMARY_BASE_URL / AI_SUMMARY_MODEL / AI_SUMMARY_API_KEY 即可。
没有 Key 时脚本会直接报错退出;前端卡片本身不依赖 Key——有 aiSummary 字段就会显示(formatter 那篇已有手写样例)。
命令报错:
1Administrator@DESKTOP-7GA8OTS MINGW64 /d/hugo-teek-private (master)
2$ make gen-ai-summary
3bash: make: command not found
4
5Administrator@DESKTOP-7GA8OTS MINGW64 /d/hugo-teek-private (master)
6$
7
8
9
10我这里make命令报错呀回答:
Windows 的 Git Bash 里通常没有 make,直接用 Node 就行:
1node scripts/generate-ai-summaries.mjs你这边 Key 已经配好了,脚本能正常生成。
注意: 当前大约还有 900+ 篇没有 aiSummary。全量跑会很久、也比较耗额度。刚才试跑时已生成了一小批,我已把批量任务停掉。
建议:
aiSummary,或只对部分目录再跑(需要的话我可以给脚本加「按目录 / 数量限制」)make:可用 Chocolatey choco install make,或装 MSYS2;不是必须日常用这一句即可:
1node scripts/generate-ai-summaries.mjs问题:
我本地站点docs目录下 _下划线开头的文章无需跑呀
回答:
已改好:路径里任意一段以 _ 开头都会跳过(如 _其它/、_index.md)。
按当前仓库粗算:约 1499 篇会被跳过,剩余大约 40+ 篇才会生成。
重新跑:
1node scripts/generate-ai-summaries.mjs效果:
1Administrator@DESKTOP-7GA8OTS MINGW64 /d/hugo-teek-private (master)
2$ node scripts/generate-ai-summaries.mjs
3扫描目录: D:\hugo-teek-private\hugo-teek-site\content\docs
4API: https://dashscope.aliyuncs.com/compatible-mode/v1 model: qwen-plus
5共找到 1542 个 Markdown 文件
6已跳过(_ 开头目录/文件,含 _index): 1499
7已跳过(已有 aiSummary / 无 frontmatter / 正文过短): 23
8需要生成: 20
9
10处理: OneBlog (hugo-teek-site\content\docs\30.专题\10.开源项目\05.OneBlog\06.OneBlog.md)
11 生成成功: 最近终于把折腾了好几年的博客系统定下来了——OneBlog,一个真正让我愿意长期养下去的「文档库+博...
12
13处理: 迭代记录 (hugo-teek-site\content\docs\30.专题\10.开源项目\05.OneBlog\08.迭代记录.md)
14 生成成功: 最近忙着给 OneBlog 做一轮密集打磨:从首页加载性能、移动端滚动体验,到评论系统接入、友链申请...
15
16处理: 图床 vs 本地 (hugo-teek-site\content\docs\30.专题\10.开源项目\05.OneBlog\25.图床 vs 本地.md)
17 生成成功: 最近把博客里友链和导航栏的 155 张小 logo 全部从本地迁到了 OneImg 图床(背后是七牛...
18
19
20 完成! 成功: 20, 失败: 0问题:
能不能不通过ai,而是本地前端自己的vue或者其他什么框架,通过识别本文内容就可以提取aiSummary呢?
回答:
可以,但要分清两件事:“本地提取摘要” 和 “真 AI 总结” 不是一回事。
🟢不调云端 AI 时,实际能做的
1. 前端规则提取(Vue/原生 JS 都行)
读正文 DOM / Markdown,用规则生成一段话,例如:
优点:无 Key、无费用、访问也不打外部接口。
缺点:不是理解原文后的总结,质量通常不如通义那种导语;每次进页都算一遍(或算完缓存),也偏偏离你之前认可的「构建期写进元数据」模式。
2. 构建期本地提取(更适合 Hugo)
仍用现在的 aiSummary 字段和打字机卡片,但把 make gen-ai-summary 改成不调 API,只从正文抽第一段/关键句写回 frontmatter。
访问期依然零接口;首页 description 继续分开。这是静态站里最干净的「免 AI」方案。
3. 浏览器里真跑小模型(Transformers.js / WebLLM)
技术上可行,但要下几十~几百 MB 模型,弱网/手机不友好,和「轻量博客」不太配,一般不推荐。
🟢和当前实现的关系
现在已经是:aiSummary 进 frontmatter → 文档页卡片 + 打字机;生成脚本走 OpenAI 兼容接口。
若不想用 AI,不必上 Vue:Hugo 主题里加一段小 JS,或把生成脚本改成提取逻辑即可。Vue 不会 magically「读懂」文章,除非背后还是模型或规则。
🟢建议
| 目标 | 做法 |
|---|---|
| 不要 Key、质量要求一般 | 构建期本地提取 → 仍写 aiSummary(推荐) |
| 完全不写 frontmatter | 前端进页后从正文抽一段再打字机(可做,但 SEO/首屏不如前者) |
| 还要接近 AI 导语质量 | 继续用现在的 API 方案,或本地大模型(成本/体积高) |
如果你拍板,我可以按「构建期本地提取、不调 API」改 make gen-ai-summary(例如:优先第一段,不足再拼标题下首句,长度约 60~120 字),前端卡片不动。要改成「纯前端运行时提取」也可以,说一下偏好即可。
🟢结论(还得是上AI)
@one 还得是上ai,不然不智能。
后续可能存在的问题
万一后面千问AI的免费套餐没了,或者说没其他免费的AI套餐了,到时候再说呗哈哈,反正这个AI摘要总结是可选的。
结束。
精选 · 友链 · 更多

One的公众号
爱折腾博客的小白