我用 AI 写了一个能自动生成文章摘要的 Hexo 插件

news/2025/4/1 2:27:48/文章来源:https://www.cnblogs.com/liuzhihang/p/18799391

前言:当 Hexo 遇上 AI

作为技术博主,我一直在思考如何让博客创作更高效。在维护 liuzhihang.com 的过程中,发现每次写完技术文章都要手动编写摘要:

  • 需要从 3000 字长文中提炼 200 字精华
  • 不同文章类型需要调整摘要风格
  • 后期修改文章时摘要需要同步更新

直到某天调试 DeepSeek 接口时突然顿悟:为什么不让 AI 自动完成这个机械劳动? 于是诞生了 hexo-generator-ai-summary 插件,今天分享这个 AI 驱动项目的开发故事。

其实是我在使用博客主题 hexo-theme-anzhiyu、以及参考张洪的博客 https://blog.zhheo.com/ 发现这个 AI 摘要,但是不支持 Front Matter 注入,也不支持自定义模型,所以就开发了这个插件。

痛点与解决方案

传统摘要编写的三大困境

graph LRA[手动编写] --> B[耗时费力]A --> G[维护困难]G --> H[易用性差]A --> C[质量不稳定]B --> E[创作效率低]C --> F[读者体验差]

开发者困境

  1. 效率黑洞:平均每篇耗时 15 分钟
  2. 风格不一:技术文章与随笔摘要混用相同模板
  3. 维护困难:修改文章后容易忘记更新摘要

插件核心能力

  1. 智能摘要生成:基于 DeepSeek 自动分析文章语义,支持指定 API 以及模型生成摘要,支持使用本地模型。
  2. 多语言支持:中/英/日等 10+ 语言适配(理论上 AI 支持即可)
  3. 缓存机制:避免重复调用 AI 接口
  4. Front Matter 集成:自动注入文章元数据

实现细节

架构设计

sequenceDiagramparticipant Hexoparticipant Pluginparticipant AI_APIHexo->>Plugin: 文章内容流Plugin->>AI_API: 发送文本分析请求AI_API-->>Plugin: 返回摘要结果Plugin->>Hexo: 注入 Front MatterHexo->>Public: 生成静态页面

快速上手指南

安装步骤

npm install hexo-generator-ai-summary --save

配置

  1. 在 Hexo 根目录的 _config.yml 中添加:
ai_summary:enable: truecache_path: "./ai-summary-cache.json"force_refresh: falsetarget_titles: # 指定需要生成的文章标题- "从 Java 锁到分布式锁"ai_service:endpoint: "https://api.deepseek.com/v1/chat/completions"headers:Authorization: "Bearer YOUR_API_KEY"params:model: "deepseek-chat"temperature: 0.7max_tokens: 200messages:- role: "system"content: "请用中文生成一篇不超过200字的专业摘要"
  1. 在需要生成摘要的文章头部添加标识:
---
title: 你的文章标题
ai: "" # 插件会自动填充
---

使用示例

本地生成

hexo clean && hexo generate --debug

集成到 GitHub Action

创建 .github/workflows/ai-summary.yml

name: AI Summary Generationon:push:branches: [ main ]paths:- 'source/_posts/**'jobs:generate-summary:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4- uses: actions/setup-node@v4with:node-version: 18- run: npm install- run: npx hexo generate- name: Commit changesrun: |git config --global user.name "GitHub Actions"git config --global user.email "actions@github.com"git add source/_posts/*.mdgit commit -m "docs: auto-update AI summaries" || truegit push

开源与未来

项目已在 GitHub 开源,https://github.com/liuzhihang/hexo-generator-ai-summary ,欢迎大家提 PR 和 Issue。

接下来计划:

  1. 支持更多 AI 引擎(Claude/Gemini)
  2. 实现自动摘要优化迭代12

立即体验

👉 GitHub 项目地址
👉 执行 npm install 即刻开启智能写作之旅!

如果本文对你有启发:

  1. 点击下方【收藏】随时查阅
  2. 分享给需要的小伙伴
  3. 来 GitHub 点个 Star 鼓励开发者

"AI 不是要取代创作者,而是让创作者更专注于核心价值" —— 这正是我开发这个插件的初心。

总结

本次开发的过程,全程使用 AI 进行开发,从需求分析到编码,均使用了 AI 进行辅助。包括 文章摘要生成、插件架构设计、配置文档编写、GitHub Action 集成等。包括 DeepSeek、GPT、通义多个模型。

包括这篇文章,都是 AI 生成并修正的,觉得不错就给个 star 吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907578.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek+dify工作流实现代码审计

一、登录dify,设置deepseek apikey登录dify(https://cloud.dify.ai/signin)设置deepseek apikey二、创建dify工作流添加工作流应用写工作流三、添加待检测源代码,审计源代码安全问题修改待检测源代码项目的文件名后缀点击运行添加文件列表到工作流中四、与传统检测方式对比…

macbook安装Redis

1.下载Redis: https://redis.io/downloads/ ,进入网站拉到最低下就能看到可以下载的版本。 2.下载后解压缩,进入文件输入命令:sudo make test 执行完后出下面的图,就可以证明安装环境没有问题: 3.然后执行命令:sudo make install, 下图是安装成功 安装成功后:启动redi…

开源免费真香!Star 1.4k 这款开源在线教育系统让万人学习零压力,企业培训系统一键搭建神器

PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提供从课程管理、学员管理到考试测评嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提供从课程管…

【VMware Workstation】虚拟机如何与宿主机共享文件夹

本文主要介绍VMware Workstation的虚拟机和宿主机之间如何共享文件第1步,打开VMware Workstation,并找到虚拟机的设置第2步,在虚拟机设置的选项卡中,点击 共享文件夹 ,并参考如下设置第3步,在弹出的共享文件夹向导窗口中,点击下一步第4步,选择宿主机共享给虚拟机的文件…

征程 6E mipi tx 系列之方案介绍

MIPI TX 到车机显示系统设计指南 IDE 介绍 征程 6 IDE 架构图 IDE(Image Display Engine)包含图像显示单元(Image Display Unit)、图像数据输出模块(MIPI CSI2 Device 和 MIPI DSI)。通过 IDU 从内存中读取图像数据进行处理,在 IDE 内部支持像素格式转换和像素结构转换,…

文件夹实时同步软件,怎么实时同步备份文件夹呢?

文件夹实时同步软件是一种非常实用的工具,可以帮助用户在不同设备或存储位置之间实时同步文件夹内容,确保数据的一致性和安全性。以下是一些常用的文件夹实时同步软件及其使用方法:常用文件夹实时同步软件 80KM备份软件 简介:可以进行很复杂的备份方式,也可以内网对内网备…

UE5--005--Animation

1. BP_ThirdPersonGameMode2. Project Settings3. Project Settings

第三课 运算符

1.算数运算符 除法运算:整数相除,结果依然是整数,将小数部分舍弃;实数相除,结果依然是实数 取余运算:两个小数是不可以做取余运算的 前置和后置的区别:前置:先对变量操作,然后进行表达式运算 后置:先进行表达式运算,后对变量进行操作2.赋值运算符3.比较运算符cout &…

使用AOP技术实现Java通用接口验签工具

一、背景 在给第三方提供接口时,我们需要对接口进行验签。具体来说,当外部系统调用我们的接口时,请求中需要携带一个签名,我们接收到请求后,会解析数据并校验签名是否正确,以确保请求的合法性和安全性。为了在不同项目中方便地使用这一功能,我们将签名校验规则封装成一个…

TS学习-2

常用类型和语法 1.any 任意类型,⼀旦将变量类型限制为any,意味着放弃了对该变量的类型检查。 let a:any //以下赋值无警告 a=100 a=你好 a=false//隐式any let b注意:any类型的变量,可以赋值给任意类型的变量 let c:any c=9let x:string x=c //没有报错2.unknown 未知类型,…

使用AOP技术实现接口验签

一、背景 在给第三方提供接口时,我们需要对接口进行验签。具体来说,当外部系统调用我们的接口时,请求中需要携带一个签名,我们接收到请求后,会解析数据并校验签名是否正确,以确保请求的合法性和安全性。为了在不同项目中方便地使用这一功能,我们将签名校验规则封装成一个…

UE5--004--Procedural Generation

1. BP_ProceduralMeshes蓝图2. BP_SplinePlacement蓝图2.1 ConstructionScript2.2 CalculateNumberOfInstances2.3 Spline3. Level