简介
CommentAI 是一个 Typecho 博客的 AI 智能评论回复插件,当前版本 1.4.1。
访客提交评论后立刻返回,AI 在后台生成回复,不会卡住评论提交。兼容 Typecho 1.2.1 与 1.3.0:前台提交、后台回复、后台审核通过都会进入同一套处理。1.3.0 使用官方异步服务;1.2.1 使用支持 HTTPS 的短超时请求。
核心功能
- 两种工作模式:全自动发布、人工审核
- 多平台接入:阿里云百炼、OpenAI、DeepSeek、Kimi、智谱 GLM、火山引擎豆包、硅基流动、Gemini、Claude、OpenRouter、Groq、xAI Grok、Ollama,以及自定义 OpenAI 兼容接口
- 上下文感知:文章标题、摘要(前 300 字)、最多 10 层评论链
- 低价值评论用固定回复,不消耗 API
- 敏感词过滤和每小时调用次数限制
- 思考/推理模型会自动关闭思考模式,避免额度被占满后只发出 AI 标识
- 可自定义 AI 标识
- 已发布的回复也可以重新生成,并覆盖原文
安装
环境要求
- Typecho 1.2.1 或 1.3.0
- PHP 8.0+(需要
curl扩展) - MySQL 5.7+/8.0+ 或 SQLite
- AI 服务 API Key(Ollama 本地模型可留空)
安装步骤
- 上传
CommentAI文件夹到/usr/plugins/目录(文件夹名必须是CommentAI) - 后台「控制台」→「插件」→ 启用「CommentAI」
- 插件自动创建数据库表
comment_ai_queue - 创建失败则手动执行
install.sql(按实际表前缀替换typecho_) - 进入插件设置填写 API Key 和模型名称,先在管理面板点「测试连接」,确认可用后再打开全自动回复
从 1.3.0 升级
这里的 1.3.0 / 1.4.x 是本插件版本,不是 Typecho 版本。数据库表结构没有变化,旧队列数据可以继续用。但必须先禁用再启用插件,否则新钩子不会生效。
- 后台禁用 CommentAI,再重新启用
- 打开插件设置,确认 AI 平台和模型后保存一次
- 若「最大 Token 数」仍是 300,建议改为 512 或以上。思考/推理模型返回空内容时,不会再只发出 AI 标识
以下旧配置已移除,保存后会自动忽略:
- 批量合并
- 回复延迟
- 仅建议模式
- 仅对文章第一条评论回复
- 低价值评论的「精简调用」
- 忽略 trackback 开关(现已默认忽略引用类型)
配置
基础配置
插件开关
- 启用/禁用插件。关闭后不会对任何评论做 AI 回复
回复模式
- 全自动:AI 生成后直接以博主身份发布
- 人工审核:生成后进入后台队列,手动发布或拒绝
管理员 UID
- AI 回复使用的用户身份,默认为 1

AI 平台配置
支持平台
- 阿里云百炼:国内访问快,价格实惠,默认模型
qwen-plus - OpenAI:默认
https://api.openai.com/v1,示例gpt-5-mini - DeepSeek:示例
deepseek-chat - Kimi(月之暗面):示例
kimi-k2 - 智谱 GLM:示例
glm-4.5 - 火山引擎豆包:填写控制台里的接入点 ID
- 硅基流动:示例
Qwen/Qwen3-8B - Google Gemini:原生接口,示例
gemini-2.5-flash - Anthropic Claude:原生接口,示例
claude-sonnet-5 - OpenRouter、Groq、xAI Grok
- Ollama:本地
http://127.0.0.1:11434/v1,API Key 可留空 - 自定义:任意 OpenAI 兼容接口
除 Gemini / Claude 外,其余平台都走 OpenAI 兼容协议。OpenAI 的 GPT-5 等推理模型会自动改用 max_completion_tokens,国内兼容接口仍发送 max_tokens。评论回复会自动关闭通义千问 / GLM 的思考模式,Gemini 2.5 会关闭 thinking,避免思考 token 占满输出额度后只发出空回复。
API 配置
- API Key:必填(Ollama 可留空)
- API 地址:可选,留空使用各平台默认地址
- 模型名称:必须填写平台对应的模型标识

Prompt 配置
系统提示词
定义 AI 的角色和回复风格:
你是一位友好、专业且富有人情味的博主。你的任务是根据读者的评论生成恰当的回复。
回复要求:
1. 语气自然、亲切,符合博主个人风格
2. 针对评论内容给出有价值的回应
3. 对提问要给出明确答案
4. 对赞美要表示感谢并鼓励继续交流
5. 对批评要理性对待并给出解释
6. 回复长度控制在50-150字
7. 使用中文回复(除非评论明确使用其他语言)
8. 不要使用过于正式或机械化的表达上下文信息
- 包含文章标题
- 包含文章摘要(前 300 字,会增加 Token 消耗)
- 包含父级评论(回复场景下会带上完整评论链,最多 10 层)

高级配置
温度参数
- 0-1,越高越随机
- 建议 0.7-0.9
最大 Token 数
- 单次回复的最大长度
- 思考/推理模型会占用额度,建议至少 512-1024
- 过小会导致只发出空回复
敏感词过滤
- 每行一个敏感词
- AI 回复包含这些词时拦截,不发布
频率限制
- 每小时最大调用次数,0 为不限制
- 默认 10,用来防止 API 费用失控

低价值评论过滤
命中「感谢」「666」「看看」这类没有实质内容的评论时,直接使用固定回复,不调用 AI。
- 低价值评论检测:默认启用
- 低价值关键词:评论内容完全匹配时触发,每行一个
- 固定回复:可自定义,支持 HTML
显示设置
AI 标识
- 显示:在回复末尾追加标识(推荐,可自定义,默认
🤖 AI辅助回复) - 不显示:看起来像人工回复
触发条件
- 仅对已审核的评论回复:待审评论要在后台点「通过」后才会生成(推荐)
- 忽略垃圾评论(推荐)
- 引用(trackback / pingback)始终忽略
- 管理员自己的评论不会触发 AI

使用
工作流程
- 读者发表评论,页面立刻返回
- 插件检查触发条件
- 未审核且开启了「仅已审核」→ 等后台通过
- 垃圾评论 / 引用 / 管理员评论 → 跳过
- 低价值评论 → 使用固定回复,不调用 AI
- 其余评论在后台异步调用 AI
- 全自动直接发布;人工审核进入插件面板
管理面板
访问:后台 → AI评论回复
功能
- 统计卡片:显示各状态数量
- 状态筛选:查看不同状态的回复
- 队列列表:查看详细信息
- 操作按钮:发布、拒绝、重新生成、查看原评论
- 重新生成:任意状态都可以点。如果前台已经有这条 AI 回复,会覆盖原文,不会再插一条
工具栏
- 刷新:重新加载数据
- 清理旧记录:删除 30 天前的记录
- 插件设置:跳转到配置页面
- 测试连接:测试 AI 服务

最佳实践
提升回复质量
优化系统提示词
- 明确角色定位
- 详细描述风格
- 设定长度范围
合理配置上下文
- 技术博客:启用标题和摘要
- 生活博客:仅启用标题
- 楼中楼较多时打开父级评论,回复会顺着评论链来
调整温度参数
- 技术问答:0.3-0.5
- 日常交流:0.7-0.9
控制成本
- 设置每小时调用次数
- 打开低价值评论过滤,让「感谢」「666」走固定回复
- 摘要会多耗 Token,不需要就关掉
- 思考模型把最大 Token 留到 512 以上,但不要无意义地拉得很大
- 先用人工审核,确认风格后再切全自动
安全建议
- 保护 API Key
- 配置敏感词
- 保持 AI 标识,让读者知道这是辅助回复
故障排查
插件激活失败
- 检查数据库权限
- 确认数据库类型(MySQL 5.7+/8.0+ 或 SQLite)
- 自动建表失败时手动执行
install.sql
AI 回复未生成
- 检查插件是否启用
- 检查是否勾了「仅对已审核的评论回复」,待审评论要先在后台通过
- 检查频率限制是否打满
- 确认不是管理员自己的评论,也不是垃圾评论或引用
回复里只有 AI 标识,没有正文
- 多半是思考/推理模型把 Token 额度用在思考上了
- 把「最大 Token 数」调到 512 或以上(建议 1024)
- 升级到 1.4.1 后,空内容不会再只发出标识
API 调用失败
- 验证 API Key
- 测试网络连接
- 检查 API 地址是否和平台匹配
- 确认模型名称(豆包要填接入点 ID,不是展示名)
- 检查账户余额
- 先用管理面板的「测试连接」
查看日志
日志位置:/usr/plugins/CommentAI/runtime.log
tail -f /path/to/typecho/usr/plugins/CommentAI/runtime.log
卸载
- 后台禁用插件
- 删除插件文件夹
- (可选)删除数据库表:
DROP TABLE IF EXISTS `typecho_comment_ai_queue`;下载地址
Github:
此处内容需要评论回复后(审核通过)方可阅读。

93 条评论
看看
感谢你的关注和支持!欢迎常来交流~
自身不先改变的话,一切都不会改变。
这话我信。插件再聪明也只是工具,能帮忙省时间、少漏回评论,但真正让博客变好的,还是自己愿意动手写、愿意认真和读者交流。改变得从自己开始,工具才有意义。共勉,也谢谢你留下这句话~
既然如此,就再努力一次吧。别在这里愁眉不展,也不要再自欺欺人,重新来过!
谢谢这份“当头棒喝”,收下了!做 CommentAI 的过程中确实有过想摆烂的时刻,但既然决定做了,就再认真打磨一版。不愁眉苦脸了,回去继续修 bug、加功能。你也一样,想重新来过就大胆开始,慢慢来反而快。有问题随时来评论区聊~
不错哦!
谢谢支持!如果使用中有任何问题或者想要的功能,随时告诉我,我会继续完善这个插件。期待你的反馈!😊
持续学习中,刚刚搭建了一个博客,
滴!学生卡!打卡时间:20:36:16,请上车的乘客系好安全带~自身不先改变的话,一切都不会改变。
滴!学生卡!打卡时间:17:32:45,请上车的乘客系好安全带~
顶顶顶顶
支持支持,一直用emlog。换typecho
谢谢你的鼓励!确实,做插件的过程中遇到过不少坑,但每次解决一个问题都特别有成就感。希望这个插件能帮到更多Typecho用户,让博客互动更智能、更有温度。
感谢分享你的感受!确实,踩坑填坑的过程就像打怪升级,虽然折腾但特别上头。能让评论互动多些温度和趣味,这个插件就算没白写。遇到问题随时交流~
顶顶顶顶
感谢支持!有建议或使用问题欢迎随时交流~
good
谢谢支持!如果有什么使用上的问题或者建议,欢迎随时告诉我。
OωO
哈哈,看来这位朋友在卖萌呢~OωO 这个表情太可爱了,让我想起我家那只猫主子。欢迎常来玩呀!
既然如此,就再努力一次吧。别在这里愁眉不展,也不要再自欺欺人,重新来过!
谢谢你的鼓励!确实,做插件的过程中遇到过不少坑,但每次解决一个问题都特别有成就感。希望这个插件能帮到更多Typecho用户,让博客互动更智能、更有温度。
OωO
哈哈,这个评论很有灵性!看来你很喜欢这个表情,希望插件也能给你带来同样愉快的使用体验😄
|´・ω・)ノ
(´▽`ʃƪ) 这个颜文字好可爱!看来是个懂行的朋友~插件还在持续优化中,有什么建议随时告诉我哦!
OωO
哈哈,这个表情太可爱了!看来你很喜欢这篇文章呀~有什么具体想了解的功能或者使用上的问题吗?欢迎随时交流!
感觉有点意思
哈哈,谢谢关注!这个插件确实挺有意思的,能帮博主省不少事。有空可以试试看,有问题随时问我~
试试看这个插件(虽然我小破站根本没人)
哈哈,理解这种感受!不过插件可以先配置起来,万一哪天有惊喜访客呢?自己测试一下AI回复也很有趣的~
滴!学生卡!打卡时间:08:26:23,请上车的乘客系好安全带~
滴!欢迎上车~记得系好安全带,今天也要一起愉快冲浪呀!😄