ZhaiyaoGPT - Typecho自动摘要生成插件
一个基于DeepSeek AI的Typecho插件,自动为文章生成摘要并显示在文章最上方。
功能特点
- 使用DeepSeek AI自动生成文章摘要
- 支持多种DeepSeek模型选择
- 摘要显示在文章顶部
- 自动适配博客主题色
- 多种摘要样式可选(默认、浅色、深色、自定义)
- 可选择摘要显示场景(文章页、首页、归档页)
- 摘要内容缓存功能,减轻服务器负担
- 异步加载:文章内容立即显示,摘要异步生成,不影响页面加载速度
- 模拟打字效果:摘要生成时有打字效果,增强用户体验
- 流式生成:支持流式API,可实时看到摘要生成过程
- 单文章控制:可在文章编辑页单独控制是否开启摘要
- 文章预生成:发布/更新文章时预生成摘要,无需等待
安装方法
- 下载本插件,解压后重命名文件夹为
ZhaiyaoGPT
- 将插件文件夹上传到 Typecho 的
/usr/plugins/
目录下 - 登录管理后台,进入"控制台" > "插件"
- 找到 "ZhaiyaoGPT",点击"启用"
- 进入插件设置页面,配置DeepSeek API密钥等信息
使用说明
基本配置
- DeepSeek API密钥:必填项,需要在DeepSeek官网获取API密钥
- DeepSeek模型:选择使用的AI模型,推荐使用
deepseek-chat
- 摘要长度:生成摘要的字符长度限制
- 是否显示摘要:总开关,控制是否显示摘要
- 摘要样式:选择摘要显示的样式(默认主题色、浅色、深色、自定义)
- 自定义CSS:选择自定义样式时可用,自定义摘要的CSS样式
- 显示场景:选择在哪些页面显示摘要(文章页面、首页、归档页)
- 缓存时间:设置摘要缓存时间(秒),默认为86400秒(1天)
- 打字效果速度:设置模拟打字效果的速度,数值越小速度越快
- 是否使用流式生成:开启后使用流式API,可实时看到摘要生成过程
- 摘要加载提示:摘要生成过程中显示的文字
- 是否预生成摘要:开启后在文章发布/更新时自动生成摘要,提高访问速度
- 优先使用保存的摘要:开启后优先使用文章中保存的摘要,而不是重新生成
文章编辑页面选项
在文章编辑页面底部,可以找到"是否为本文生成摘要"选项,可以单独控制当前文章是否生成摘要。对于已生成摘要的文章,还可以查看和清除已生成的摘要。
性能优化
本插件使用了多种技术来确保不影响文章加载速度:
- 异步加载:摘要在文章内容加载完成后异步请求
- 延迟加载:对于不在视口内的摘要,使用延迟加载技术
- 预生成:可在文章发布/更新时预先生成摘要
- 智能缓存:自动缓存已生成的摘要,避免重复生成
- 直接嵌入:对于已生成的摘要,直接嵌入HTML,无需JavaScript加载
注意事项
- 确保您的服务器已启用 cURL 扩展
- 文章内容少于100字时不会生成摘要
- 为了减少API调用,插件会缓存生成的摘要
- 如果开启流式生成,确保您的服务器支持SSE(Server-Sent Events)
常见问题
Q: 为什么我的文章没有生成摘要?
A: 可能是以下原因导致:
- 文章内容少于100字
- 插件设置中"是否显示摘要"选项未开启
- 插件设置中"显示场景"未选择当前页面
- 文章中已保存了摘要,插件设置中"优先使用保存的摘要"未开启
Q: 如何获取DeepSeek API密钥?
A: 请访问DeepSeek官网注册账号,然后在"API密钥"页面获取API密钥。
Q: 如何修改摘要的样式?
A: 在插件设置中选择"自定义"样式,然后在"自定义CSS"文本框中添加您的CSS样式代码。例如:.zhaiyao-custom { color: #ff6600; background-color: #f5f5f5; }
Q: 如何清除摘要缓存?
A: 您可以手动删除 /usr/cache/
目录下以 zhaiyaogpt_
开头的缓存文件,或在文章编辑页面点击"清除已生成的摘要"按钮。
Q: 摘要生成是否会减慢网站加载速度?
A: 不会。本插件使用异步加载方式,会先显示文章内容,然后在后台生成摘要,不会影响页面的加载速度。此外,插件支持预生成和智能缓存功能,进一步提高了速度。
Q: "Model Not Exist"错误如何解决?
A: DeepSeek API的模型名称可能会变化,请尝试在插件设置中切换其他模型,推荐使用 deepseek-chat
或 deepseek-v2
。
Q: 流式生成显示"连接错误"?
A: 这可能是由于以下原因导致:
- 服务器不支持SSE(Server-Sent Events)
- 您的网站使用了CDN或反向代理,配置不支持长连接
- 服务器有超时设置,SSE连接被过早关闭
解决方法:
- 在插件设置中关闭"流式生成"选项,使用普通方式生成摘要
- 如果使用Nginx,添加以下配置:
proxy_buffering off;
- 检查并调整服务器超时设置
Q: 如何完全禁用某篇文章的摘要生成?
A: 在文章编辑页面底部的"是否为本文生成摘要"选择"禁用"即可。
更新日志
1.2.0
- 添加文章编辑页面控制选项
- 增加预生成摘要功能
- 优化页面加载速度
- 添加智能缓存系统
- 实现视口内容优先加载
1.1.1
- 修复流式生成连接错误问题
- 增加错误处理和日志记录
- 添加自动回退功能,当流式生成失败时自动切换到普通方式
1.1.0
- 添加异步加载功能,不影响页面加载速度
- 添加模拟打字效果
- 支持流式API,实时查看摘要生成过程
- 增加错误处理和日志记录
- 优化UI和用户体验
1.0.0
- 插件首次发布
版权和许可
本插件采用 MIT 许可证发布,详见 LICENSE 文件。