Loading

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

前言:当 Hexo 遇上 AI

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

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

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

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

痛点与解决方案

传统摘要编写的三大困境

graph LR A[手动编写] --> 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 集成:自动注入文章元数据

实现细节

架构设计

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

快速上手指南

安装步骤

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

配置

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

使用示例

本地生成

hexo clean && hexo generate --debug

集成到 GitHub Action

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

name: AI Summary Generation

on:
  push:
    branches: [ main ]
    paths:
      - 'source/_posts/**'

jobs:
  generate-summary:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 18
      - run: npm install
      - run: npx hexo generate
      - name: Commit changes
        run: |
          git config --global user.name "GitHub Actions"
          git config --global user.email "actions@github.com"
          git add source/_posts/*.md
          git commit -m "docs: auto-update AI summaries" || true
          git 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 吧!

posted @ 2025-03-29 13:02  程序员小航  阅读(184)  评论(0)    收藏  举报