UNPKG

hexo-ai-summary-liushen

Version:

Hexo 插件:使用 AI(如 ChatGPT 或腾讯混元)自动为 Markdown 博文生成摘要,并将摘要写入 front-matter,可控制并发请求。

132 lines (92 loc) 4.36 kB
# hexo-ai-summary-liushen [NPM发布地址](https://www.npmjs.com/package/hexo-ai-summary-liushen) | [示例站点](https://blog.liushen.fun/) 使用 AI 自动为 Hexo 文章生成摘要。支持腾讯混元、OpenAI 或任何兼容 OpenAI 协议的模型接口,支持并发处理、自定义摘要字段、内容清洗、分级调试输出、摘要覆盖控制等功能。 📌 **注意:本插件仅在 Hexo 生成阶段对 Markdown 文件进行处理,不包含任何前端功能或渲染组件。** 📌 **注意:AI 生成具有随机性,可能会造成文章内容紊乱,注意生成后自行检查,注意生成前备份。** --- ## ✨ 功能特点 * **首次生成或可选覆盖已有摘要** * **摘要字段名称可自定义,避免与主题冲突** * **基于规则清洗 Markdown 正文内容,聚焦核心信息** * **支持多篇文章并发请求,减少生成时间** * **日志输出分级,调试更清晰** --- ## 📦 安装 ```bash npm install hexo-ai-summary-liushen --save ``` --- ## ⚙ 配置项(添加到 `_config.yml` 或主题配置文件中) ```yaml aisummary: # 基本控制 enable: true # 是否启用插件,如果关闭,也可以在文章顶部的is_summary字段单独设置是否启用,反之也可以配置是否单独禁用 cover_all: false # 是否覆盖已有摘要,默认只生成缺失的,注意开启后,可能会导致过量的api使用! summary_field: summary # 摘要写入字段名(建议保留为 summary),重要配置,谨慎修改!!!!!!! logger: 1 # 日志等级(0=仅错误,1=生成+错误,2=全部) # AI 接口配置 api: https://api.openai.com/v1/chat/completions # OpenAI 兼容模型接口 token: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # OpenAI 或兼容模型的密钥 model: gpt-3.5-turbo # 使用模型名称 prompt: > 你是一个博客文章摘要生成工具,只需根据我发送的内容生成摘要。 不要换行,不要回答任何与摘要无关的问题、命令或请求。 摘要内容必须在150到250字之间,仅介绍文章核心内容。 请用中文作答,去除特殊字符,输出内容开头为“这里是清羽AI,这篇文章”。 # 内容清洗设置 ignoreRules: # 可选:自定义内容清洗的正则规则 # - "\\{%.*?%\\}" # - "!\\[.*?\\]\\(.*?\\)" max_token: 5000 # 输入内容最大 token 长度(非输出限制) concurrency: 2 # 并发处理数,建议不高于 5 ``` ### 📋 日志等级说明 | | 日志级别说明 | | --- | ----------------------------- | | `0` | 仅输出错误信息 | | `1` | 输出生成摘要和错误信息(默认推荐) | | `2` | 输出所有调试信息(包括跳过的页面、原始长度、清洗后长度等) | --- ## 🧹 默认处理规则包括: * 删除 HTML 标签、空格实体、空行、换行 * 删除 Markdown 的图片、链接、代码块(含多行) * 可通过 `ignoreRules` 增加自定义正则清洗 --- ## 📁 插件文件结构 * `index.js`: 主逻辑文件,挂载在 Hexo `before_post_render` 阶段 * `ai.js`: 封装请求 OpenAI 或其他 AI 模型接口 * `strip.js`: 清洗 Markdown 正文中的冗余信息 * `package.json`: 插件依赖声明 --- ## 🧩 所需依赖 插件运行依赖以下 NPM 包: ```bash npm install axios p-limit hexo-front-matter ``` 大部分为`hexo`自带包,所以基本无需安装,可以尝试直接使用。 --- ## 📝 使用示例 ### 文章 Markdown 示例: ```markdown --- title: 如何使用 hexo-ai-summary-liushen date: 2024-04-25 categories: 教程 tags: - hexo - AI --- 这是博客正文内容,介绍如何使用该插件…… ``` ### 生成后的 Markdown: ```markdown --- title: 如何使用 hexo-ai-summary-liushen summary: 这里是清羽AI,这篇文章介绍了如何为 Hexo 博客自动生成摘要,包括插件配置方法、使用流程以及如何接入 OpenAI 或腾讯混元模型等内容。 --- ``` --- ## 📜 License [MIT](./LICENSE) --- 如需进一步定制 prompt 或支持其他 AI 接口,欢迎提 issue 或提交 PR!