感谢@zhheo的原始代码!很喜欢原版的这个AI摘要UI,所以想着移植到typecho博客上来。
这是AIAbstractor插件的GitHub仓库:AIAbstractor

AIAbstractor 是一款为 Typecho 博客系统 开发的智能文章摘要插件。
插件会在文章页面自动插入一个摘要按钮,通过调用 OpenAI API 生成高质量中文摘要,支持自定义模型、文本长度、自动注入脚本等功能。

插件已适配:

  • ✅ Typecho 1.1
  • ✅ Typecho 1.2 - 1.2.1
  • ✅ 宝塔 / Nginx / open_basedir 限制环境
  • ✅ 不依赖 PATH_INFO(兼容所有服务器)

📦 功能特性

  • ✅ 一键生成文章摘要
  • ✅ 前端自动插入「AI 摘要」按钮
  • ✅ 自动提取文章内容(可自定义 CSS 选择器)
  • ✅ 调用 OpenAI / 自建代理 API
  • ✅ 可指定模型、温度(temperature)、最大 tokens
  • ✅ 支持 JSON POST API
  • ✅ 兼容所有服务器环境(不使用 Action,不需要 PATH_INFO)
  • ✅ 全站无侵入、不修改主题文件
  • ✅ 支持 HTTPS、跨域环境

📥 安装和使用方法

  1. 下载插件代码,将文件夹命名为:
AIAbstractor
  1. 把文件夹上传到如下路径:
/你的博客根目录/usr/plugins/

插件目录应包含:

AIAbstractor/
 ├── Plugin.php
 ├── api.php
 └── assets/
      ├── css/ai_abstractor.css
      └── js/ai_abstractor.js
  1. 登录 Typecho 后台 → 控制台 → 插件 → 启用 AIAbstractor
  2. 打开插件设置界面,根据你的环境填写:
  • ✅ OpenAI API Base
  • ✅ API Key
  • ✅ 默认模型(如 gpt-4o-mini)
  • ✅ 温度 / 最大 tokens
  • ✅ 文章内容选择器(默认:#article-container)
  • ✅ 是否自动注入前端脚本

保存后即可使用。


🔧 配置说明

配置项说明
API Base如:https://api.openai.com/v1 或你的代理地址
API KeyOpenAI 密钥,不会暴露给前端
模型名gpt-4o-mini、gpt-4o、o4-mini 等
Temperature0–2,数值越低越稳定
Max TokensAI 输出长度限制
Post Selector网页正文的 CSS 选择器
自动注入自动加载 CSS + JS

🔌 API 说明(服务器端)

插件提供以下后端接口:

POST /usr/plugins/AIAbstractor/api.php

请求体(JSON):

{
  "q": "需要摘要的文本",
  "model": "可选,覆盖默认模型"
}

返回格式:

{
  "text": "AI 生成的摘要内容"
}

兼容性说明

此插件已专门为复杂环境进行优化,支持:

  • ✅ 宝塔 open_basedir 限制
  • ✅ 无 PATH_INFO 的服务器
  • ✅ Nginx + PHP-FPM
  • ✅ Apache / LiteSpeed
  • ✅ HTTPS、反代、CDN
  • ✅ 主题选择器自适配

无需 Action 路由,不依赖 Typecho PATH_INFO。


🩺 常见问题 FAQ

❓ 为什么不用 Typecho Action?

许多服务器未开启 PATH_INFO 或伪静态,导致 Action 404。
为了兼容所有环境,因此本插件使用 api.php 方式。

❓ 为什么 API Key 不存放在前端?

前端存 Key 会泄露,本插件在服务器侧中转,确保安全。

❓ 如果摘要内容过长怎么办?

调整插件设置中的 maxTokens。