fix: auto-publish log showing unpublished, merge changelog, version to 1.0.0-beta.2

This commit is contained in:
sunny-335
2026-06-17 23:13:45 +08:00
parent c3e003a572
commit e6839b4aad
4 changed files with 21 additions and 61 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ plugins {
}
group 'top.nxxy335.commentaiautopilot'
version '1.0.0-beta.2-r8k4n2'
version '1.0.0-beta.2'
repositories {
mavenCentral()
+13 -54
View File
@@ -22,6 +22,7 @@
### Bug 修复
- **修复自动发布后日志显示未发布**:`generateAndPublish``Mono<Void>` 的 empty 信号触发 `switchIfEmpty` 导致 `publishReply` 被调用两次,第二次覆盖 `published=false`
- **修复 RateLimitService 线程泄漏**:清理线程未在插件停止时关闭,实现 `DisposableBean` 正确释放资源
- **修复 ReviewService 提示词不匹配**:审核提示词要求"重新生成"但代码未使用重新生成的内容,移除误导性指令
- **修复设置页面按钮图标文字对齐**:通过 `:deep(.btn-content)` 设置 inline-flex 布局,图标和文字并排显示
@@ -33,15 +34,24 @@
## v1.0.0-beta.1
> 2026-06-16
> 2026-06-05
### 新功能
- **AI Foundation 反射集成**:通过运行时反射调用 AI Foundation 插件的 `AiModelService`,无需 `pluginDependencies`,彻底解决跨 ClassLoader 类加载问题
- **自动回复**:监听新评论,自动调用 AI 生成回复
- **多语言适配**:根据评论语言自动用对应语言回复
- **情感分析**:分析评论情感倾向,根据情感调整回复语气
- **草稿模式**:关闭"自动发布"后,AI 回复将保存为草稿,需站长审核后才发布
- **多 AI 角色支持**:支持配置多个 AI 虚拟角色,每个角色有独立的提示词、头像和模型
- **提示词预设**:内置多种回复风格预设(专业型、幽默型、简洁型等),可自由组合
- **每日回复趋势图**:首页新增每日回复数量柱状图,支持 7 天/30 天/全部切换
- **文章/页面级开关**:在文章编辑器中直接控制是否启用 AI 回复
- **评论者黑名单**:屏蔽指定评论者,不触发 AI 回复
- **安全审核**:AI 生成的内容经过安全审核,不合规内容自动拒绝
- **Prompt 模板**:支持自定义 Prompt 模板,提供多种模板变量
- **仪表盘统计**:显示回复数等统计信息
- **日志筛选搜索**:按状态、情感筛选,关键词搜索
- **数据清理**:自动清理超过指定天数的旧记录
- **AI Foundation 集成**:使用 AI Foundation 插件提供的 AI 模型能力
- **对话历史查看**:支持查看 AI 回复的完整对话上下文
### Bug 修复
@@ -57,54 +67,3 @@
- 审批逻辑优化:先查找已有 Reply 扩展再决定创建或更新
- 移除不必要的 `AiFoundationConfiguration` 配置类
- 前端 UI 优化:移除编辑功能、简化角色排序逻辑、清理无用代码
---
## v0.0.3
> 2026-06-15
### 新功能
- 多 AI 角色支持:支持创建多个 AI 角色,每个角色有独立的昵称、人格提示词和 Gravatar 头像
- 草稿模式初步实现:AI 回复可先存为草稿,管理员审核后再发布
- 提示词预设:内置友好型、专业型、幽默型、简洁型预设风格
### 改进
- 增强插件可靠性与可用性
- 文档全面更新
- 前端 UI 优化
---
## v0.0.2
> 2026-06-10
### 新功能
- 自动回复:监听新评论,自动调用 AI 生成回复
- 多语言适配:根据评论语言自动用对应语言回复
- 情感分析:分析评论情感倾向,根据情感调整回复语气
- 文章/页面级开关:在文章编辑器中直接控制是否启用 AI 回复
- 评论者黑名单:屏蔽指定评论者,不触发 AI 回复
- 手动触发:在评论管理页面对历史评论手动触发 AI 回复
- 安全审核:AI 生成的内容经过安全审核,不合规内容自动拒绝
- Prompt 模板:支持自定义 Prompt 模板,提供多种模板变量
- 仪表盘统计:显示回复数、情感分布等图表
- 日志筛选搜索:按状态、情感筛选,关键词搜索
- 数据清理:自动清理超过指定天数的旧记录
- AI Foundation 集成:使用 AI Foundation 插件提供的 AI 模型能力
---
## v0.0.1
> 2026-06-05
### 初始版本
- 基础插件框架搭建
- 基本评论监听功能
- AI 回复生成核心逻辑
@@ -231,12 +231,13 @@ public class AiReplyOrchestrator {
}
return publishReply(context, aiReply, replyRecord, reviewResult.score(), personaName);
})
.switchIfEmpty(
publishReply(context, aiReply, replyRecord, 100, personaName)
)
.onErrorResume(e -> {
log.warn("[Orchestrator] Review error, auto-passing: {}", e.getMessage());
return publishReply(context, aiReply, replyRecord, 100, personaName);
// review() already handles errors internally (returns PASS),
// so this only fires for errors from publishReply/updateRecord.
// Do NOT re-call publishReply to avoid double-publish / overwriting published=false.
log.error("[Orchestrator] Error during review/publish for {}: {}",
context.commentId(), e.getMessage(), e);
return Mono.empty();
});
});
}
+1 -1
View File
@@ -30,4 +30,4 @@ spec:
url: "https://github.com/sunny-335/plugin-comment-ai-autopilot/blob/main/LICENSE"
settingName: "comment-ai-autopilot-settings"
configMapName: "comment-ai-autopilot-configmap"
version: "1.0.0-beta.2-r8k4n2"
version: "1.0.0-beta.2"