1d8baeb84a
fix: 修复小米 Mimo API 请求失败的问题
...
- 添加 stream 参数明确设置为非流式响应
- 添加 Accept 请求头确保返回 JSON 格式
- 使用 JSON_UNESCAPED_UNICODE 编码确保中文正确传输
- 添加详细的错误日志记录便于调试
- 改进 SSL 验证设置
- 增强 argon_get_xiaomi_models 函数的错误处理
- 添加测试脚本 test-xiaomi-mimo-api.php
2026-01-26 14:07:41 +08:00
bd1e64319b
refactor: 移除 functions.php 中的向后兼容代码
...
- 删除旧的多 API 管理函数(argon_get_provider_apis, argon_add_provider_api 等)
- 删除数据迁移函数 argon_migrate_ai_apis()
- 移除自动迁移钩子
- 简化 argon_get_ai_provider_config() 函数,移除回退逻辑
- 简化 argon_get_active_api_config() 函数,移除向后兼容逻辑
- 清理临时测试文件和脚本
2026-01-26 13:48:10 +08:00
3f188b76f4
feat: 完成 AI 设置页面 UI 重构
...
- 移除旧的按提供商分组的 API 配置界面(约 600 行)
- 添加新的统一 API 管理界面
- 实现完整的 JavaScript 交互功能:
- 添加/编辑/删除 API
- 测试 API 连通性
- 刷新模型列表
- 场景化 API 选择
- 重新组织 AI 功能结构:
- API 管理 (h2)
- 文章摘要 (h2)
- 评论审核 (h2)
- 所有 API 在一个列表中统一管理
- 不同场景可以使用不同的 API
- 文件行数:7812 7514 (-298 行)
2026-01-26 13:42:44 +08:00
2e6179a5dd
feat: 实现场景化 API 配置支持(第一阶段)
...
- 修改 argon_ai_query() 函数,优先使用场景化的 API 配置
- 支持根据场景(summary/spam)自动选择对应的活动 API
- 保持向后兼容,如果新系统没有配置则回退到旧系统
- 实现分阶段重构方案的第一阶段:后端使用新系统,前端保持旧 UI
2026-01-26 13:28:25 +08:00
5254ee0d8b
feat: 添加统一 API 管理系统
...
- 添加数据迁移函数 argon_migrate_ai_apis()
- 添加统一 API 管理函数(get_all_apis, add_api, update_api, delete_api等)
- 添加场景化 API 配置(summary 和 spam 可使用不同 API)
- 更新 argon_get_ai_provider_config() 支持新数据结构
- 添加新的 AJAX 处理函数支持统一 API 管理
- 保持向后兼容,自动迁移旧数据
2026-01-26 13:21:51 +08:00
31e55648cb
feat: 批量检测集成统一接口并添加AI查询统计页面
...
- 修改 argon_batch_detect_spam_comments() 使用统一的 argon_ai_query() 接口
- 删除旧的 argon_call_ai_api_for_batch_spam_detection() 函数
- 添加 argon_register_ai_query_stats_page() 注册统计页面
- 添加 argon_render_ai_query_stats_page() 渲染统计页面
- 统计页面显示总查询次数、成功率、平均响应时间、失败次数
- 按场景和服务商分别统计查询数据
- 显示最近30天的查询趋势
- 在 settings.php 的 AI 摘要设置中添加查看统计链接
统计页面功能:
- 总览卡片:总查询次数、成功率、平均响应时间、失败次数
- 按场景统计:文章摘要、垃圾评论检测、批量检测等
- 按服务商统计:OpenAI、Claude、DeepSeek 等
- 查询趋势:最近30天每日查询数据
2026-01-26 12:58:41 +08:00
c37e8da986
feat: 完成统一 AI 查询组件的集成
...
- 更新 argon_detect_spam_comment_sync() 使用统一接口
- 更新 argon_extract_keywords_from_comment() 使用统一接口
- 删除旧的 argon_call_ai_api_for_spam_detection() 函数
- 删除旧的 argon_call_ai_for_keyword_extraction() 函数
- 所有 AI 查询现在都通过 argon_ai_query() 统一接口
- 所有查询都会记录到 wp_argon_ai_query_log 数据表
- 支持按场景统计(summary/spam_detection/keyword_extraction)
2026-01-26 12:49:49 +08:00
7c4d1b1de7
feat: 实现统一的 AI 查询组件
...
- 创建 argon_ai_query_log 数据表记录所有 AI 查询
- 实现 argon_ai_query() 统一查询接口
- 记录查询时间、服务商、模型、场景、响应时间等信息
- 支持按场景区分(summary/spam_detection/keyword_extraction)
- 添加 argon_log_ai_query() 记录函数
- 添加 argon_get_ai_query_stats() 统计函数
- 修改 argon_generate_ai_summary() 使用新接口
- 所有 AI 请求统一管理和记录
2026-01-26 12:00:51 +08:00
079ba0a261
feat: 优化多 API 管理和添加连通性测试
...
- 移除 AI 文章摘要的 h3 标题
- 多 API 管理显示所有提供商的 API 配置(不再只显示选中的)
- 为每个 API 配置添加测试按钮
- 实现 API 连通性测试功能(argon_test_api_connection)
- 测试功能显示响应时间和连接状态
- 优化界面布局,提升用户体验
2026-01-26 11:58:20 +08:00
2eb8ce00f8
feat: 为所有 AI API 调用函数添加详细错误处理
...
- 为 9 个 API 调用函数添加 post_id 参数(Anthropic, 通义千问, 文心一言, Kimi, 智谱, DeepSeek, 小米 Mimo, 豆包, 硅基流动)
- 使用 argon_log_ai_error() 统一记录错误
- 添加 HTTP 状态码检查
- 添加响应格式验证
- 添加空内容检查
- 记录详细的上下文信息(endpoint, model, error)
- 所有错误信息保存到文章 meta 供后续查看
2026-01-26 11:53:22 +08:00
da90fb9971
feat: 为 AI 摘要功能添加详细的错误报告
...
- 新增 argon_log_ai_error() 统一错误处理函数
- 记录错误到 WordPress error_log 和文章 meta
- 添加配置完整性检查(API 密钥、端点、模型)
- 添加文章内容长度检查(至少50字)
- 改进 OpenAI API 调用的错误处理
- 网络错误详细记录
- HTTP 状态码检查
- 响应格式验证
- 空内容检查
- 记录详细的调用信息(文章ID、标题、提供商、模型、内容长度)
- 保存错误信息到文章 meta(_argon_ai_summary_error)
- 保存错误时间到文章 meta(_argon_ai_summary_error_time)
- 成功时清除错误记录
- 所有错误信息包含上下文数据(endpoint、model等)
2026-01-26 11:49:38 +08:00
950d1dcbde
fix: 修复多 API 管理配置获取的错误处理
...
- 在 argon_get_ai_provider_config() 中添加数组和键存在性检查
- 在 argon_get_provider_apis() 中确保始终返回数组类型
- 添加 isset() 检查防止访问不存在的数组键
- 修复可能导致 Fatal Error 的空配置问题
- 改进向后兼容性逻辑的健壮性
2026-01-26 11:39:44 +08:00
f696d2e117
fix: 修复所有 AI API 函数的转义字符错误
...
- 修复 Kimi API 函数(第 6872 行)
- 修复智谱 AI API 函数(第 6914 行)
- 修复 DeepSeek API 函数(第 7076 行)
- 修复小米 Mimo API 函数(第 7119 行)
- 修复豆包 API 函数(第 7162 行)
- 修复硅基流动 API 函数(第 7205 行)
- 将所有错误的 \\' 转义字符改为正确的单引号 '
2026-01-26 11:28:07 +08:00
50f00c8f64
fix: 修复通义千问 API 函数的语法错误
...
- 修复第 6783-6784 行错误的转义字符
- 将 \' 改为正确的单引号 '
- 解决致命错误问题
2026-01-26 11:24:56 +08:00
7dcc89151a
feat: 实现单服务商多 API 配置功能
...
- 在 functions.php 中添加多 API 管理函数:
* argon_get_provider_apis() - 获取提供商的所有 API 配置
* argon_add_provider_api() - 添加 API 配置
* argon_update_provider_api() - 更新 API 配置
* argon_delete_provider_api() - 删除 API 配置
* argon_set_active_api() - 设置当前使用的 API
- 修改 argon_get_ai_provider_config() 函数支持多 API
- 添加 AJAX 接口用于管理 API 配置
- 在 settings.php 中重构 AI 配置界面:
* 显示已配置的 API 列表
* 支持添加/编辑/删除 API 配置
* 单选框选择当前使用的 API
* 添加 JavaScript 交互逻辑
- 修改设置保存逻辑,保存多 API 配置数组
- 向后兼容:自动迁移旧的单 API 配置
- 每个提供商可配置多个 API,方便负载均衡和备用切换
2026-01-26 11:14:35 +08:00
2e2ddc59da
feat: 实现多 API 管理系统
...
- 为每个 AI 提供商添加独立的配置(API 密钥、端点、模型)
- 新增 argon_get_ai_provider_config() 辅助函数获取提供商配置
- 更新设置页,为 10 个提供商分别显示配置表单
- 添加密码显示/隐藏切换按钮
- 每个提供商独立的模型刷新按钮
- 切换服务商时自动显示对应配置
- 更新所有 API 调用函数使用新配置结构
- 更新设置保存逻辑,保存所有提供商配置
- 支持同时配置多个 AI 服务,灵活切换使用
2026-01-26 11:10:07 +08:00
e9bae85802
feat: 添加小米 Mimo AI 模型支持
...
- 在设置页 AI 服务商列表中添加小米 Mimo 选项
- 实现 argon_call_xiaomi_api() 函数,使用 OpenAI 兼容格式
- 实现 argon_get_xiaomi_models() 模型列表获取函数
- 在 AI 摘要生成中添加 xiaomi 分支支持
- 在垃圾评论检测中添加小米 Mimo 端点配置
- 在关键词提取中添加小米 Mimo 端点配置
- 在批量垃圾评论检测中添加小米 Mimo 端点配置
- 默认模型:MiMo-V2-Flash
- API 端点:https://api.mimo.xiaomi.com/v1/chat/completions
2026-01-26 11:01:51 +08:00
28f0a1265e
feat: 更新 Mermaid 到 v11 并优化错误处理
...
- 更新 Mermaid 库版本从 v10 升级到 v11.12.2
- 优化错误处理逻辑,避免重复嵌套错误容器
- 修复查看源代码时可能出现的嵌套报错问题
- 改进渲染前检查,跳过已处理的错误容器和已渲染的图表
- 优化重新渲染逻辑,只处理成功渲染的图表,排除错误容器
- 增强代码提取逻辑,优先使用传入的代码参数
- 添加主题切换时的智能判断,避免不必要的重新渲染
- 更新 functions.php 中的 CDN 地址到 v11
- 更新 settings.php 中的预览功能 CDN 地址到 v11
- 改进错误容器的 DOM 结构,使用独立元素而非 innerHTML
2026-01-24 22:46:00 +08:00
679015dece
feat: AI 垃圾评论检测系统优化
...
- 实现多级 Prompt 系统(极简/标准/增强/自定义模式)
- 添加智能置信度评分系统(0-1 范围)
- 实现智能处理建议(auto/review/approve)
- 添加上下文增强功能(文章信息、用户历史、隐私脱敏)
- 实现学习机制(记录管理员审核决策,分析误判率)
- 添加 API 错误处理和自动禁用机制
- 优化设置界面(推荐配置、统计信息、错误日志)
- 创建反馈数据库表用于学习优化
- 实现批量扫描功能(使用新的检测引擎)
- 添加隐私保护级别配置(标准/严格模式)
核心类:
- Argon_Spam_Prompt_Engine: Prompt 管理和生成
- Argon_Spam_Context_Builder: 上下文信息构建
- Argon_Spam_Threshold_Manager: 阈值管理
- Argon_Spam_AI_Detector: 主控制器
- Argon_Spam_Learning_Module: 学习和统计
- Argon_Spam_API_Error_Handler: 错误处理
2026-01-24 22:37:41 +08:00
32c2a72d2b
feat: 添加 Mermaid Shortcode 支持(推荐方式)
...
- 新增 [mermaid]...[/mermaid] shortcode
- 支持 theme、width、height、align 参数
- 不依赖 WP-Markdown 的处理方式
- 不会被 WordPress 自动格式化破坏
- 在原生编辑器中清晰可见
- 添加完整的使用指南和示例
2026-01-24 21:02:47 +08:00
f36a96d3b6
feat: 实现 Mermaid 插件兼容层
...
- 添加插件检测函数(WP Githuber MD、Markdown Block、Code Syntax Block)
- 实现 Mermaid 库加载状态检测
- 添加重复加载防护逻辑,避免与插件冲突
- 在设置页显示插件兼容性状态
- 修改库加载逻辑,当检测到插件时跳过加载
- 在 JavaScript 端添加库加载状态标记
- Requirements: 9.1, 9.2, 9.3, 9.4, 9.5
2026-01-23 23:36:12 +08:00
1d5899ce7e
feat: 实现 Mermaid 库加载失败的降级处理机制
...
- 添加多 CDN 备选方案(jsdelivr、unpkg、本地镜像)
- 实现递归加载逻辑,主 CDN 失败时自动尝试备用 CDN
- 添加 onerror 事件处理,捕获库加载失败
- 所有 CDN 失败时显示友好的错误提示
- 在错误提示中保留原始代码供用户查看
- 添加详细的控制台日志输出
- 创建 PHP 和 HTML 测试文件验证功能
- 暴露 MermaidRenderer 到全局作用域供降级处理使用
Requirements: 1.4, 2.3, 7.1, 7.2, 7.3, 7.4, 7.5
2026-01-23 23:12:05 +08:00
f9485b50a8
feat: 实现 Mermaid 库加载器
...
- 添加 argon_has_mermaid_content() 函数检测页面是否包含 Mermaid 代码块
- 支持多种格式:div.mermaid、code.language-mermaid、pre[data-lang=mermaid]、code.mermaid
- 添加 argon_get_mermaid_library_url() 函数根据配置返回 CDN 或本地路径
- 支持 jsdelivr、unpkg、自定义 CDN 和本地镜像
- 添加 argon_get_mermaid_fallback_urls() 函数提供备用 CDN 列表
- 添加 argon_enqueue_mermaid_scripts() 函数按需加载 Mermaid 库
- 检测文章内容和评论内容中的 Mermaid 代码块
- 实现异步加载(async 属性)
- 通过 wp_localize_script 传递配置到前端
- 添加单元测试文件 test-mermaid-loader.php
- Requirements: 1.1, 1.2, 1.3, 1.5, 8.2
2026-01-23 22:54:44 +08:00
c7ef81842a
feat: 添加 Mermaid 配置管理系统
...
- 在 functions.php 中添加 9 个核心配置管理函数
- argon_get_mermaid_option: 获取配置选项(支持简短名称和完整名称)
- argon_update_mermaid_option: 保存配置选项
- argon_validate_mermaid_cdn_url: 验证 CDN URL 格式(必须是有效 URL 且以 .js 结尾)
- argon_get_mermaid_theme: 获取当前主题对应的 Mermaid 主题
- argon_get_mermaid_default_config: 获取默认配置
- argon_validate_mermaid_settings: 验证配置选项(CDN 来源、主题名称、布尔值)
- argon_init_mermaid_config: 初始化默认配置(不覆盖已有配置)
- argon_get_all_mermaid_options: 获取所有配置选项
- argon_update_mermaid_settings: 批量更新配置(包含验证)
- 创建单元测试文件验证配置管理功能
- 满足 Requirements 5.1, 5.2, 5.3, 5.4, 5.5
2026-01-23 22:41:59 +08:00
54cbb400b9
feat: 移除 Mermaid 支持并创建需求文档
...
- 从 settings.php 移除 Mermaid 设置项和选项保存逻辑
- 从 functions.php 移除 Mermaid 代码块预处理函数
- 从 footer.php 移除 Mermaid 加载和渲染代码
- 从 style.css 移除 Mermaid 图表样式
- 删除本地镜像文件 assets/vendor/external/mermaid/
- 创建 mermaid-support-requirements.md 需求文档
原因:WP-Markdown 编辑器保存的 Markdown 源文件中 Mermaid 代码是一整行,
没有真正的换行符,导致 Mermaid 解析器持续报错。所有尝试的解决方案均失败。
需求文档中详细说明了问题原因和推荐的替代方案。
2026-01-23 22:11:09 +08:00
5704531a4d
fix: correct condition check in argon_format_mermaid_code
2026-01-23 22:00:21 +08:00
ccd3cfa877
feat: add PHP preprocessing for Mermaid code blocks
...
- Add argon_format_mermaid_code filter in functions.php
- Decode WP-Markdown escape characters in PHP
- Auto-add newlines for single-line mermaid code
- Simplify JavaScript rendering logic
- Use data-mermaid-code attribute for preprocessed code
- Remove debug console.log statements
2026-01-23 21:56:30 +08:00
3a4136acbf
fix: 优化 Mermaid 换行符处理 - PHP 端添加关键字后自动插入换行符 - 使用 data-mermaid-code 属性传递原始代码 - JS 端优先读取 data 属性 - 添加更详细的调试日志
2026-01-23 19:21:05 +08:00
b7aac3633e
fix: 在 PHP 端处理 Mermaid 代码块换行符 - 在 the_content_filter 中添加 Mermaid 预处理 - 使用正则表达式匹配代码块 - 解码 HTML 实体并重新编码 - 确保换行符在输出时保留
2026-01-23 19:17:57 +08:00
a38f168909
refactor: 移除智能预审查,改为先保存后检测
...
- 移除所有智能预审查相关的设置和代码
- 评论先保存到数据库并标记为待审核状态
- AI 检测在评论保存后异步进行
- 检测完成后根据结果更新评论状态
- 避免误杀正常评论,提升用户体验
- 所有需要检测的评论都会显示为审核中
2026-01-23 18:32:54 +08:00
777e98e17e
fix: 修正关键字必查模式的检测逻辑
...
- 关键字必查模式:只检测触发关键字的评论
- 智能抽查模式:关键字触发或随机抽查
- 全量检测模式:检测所有评论,关键字触发时优先标记
- 优化检测逻辑,使各模式职责更清晰
2026-01-23 18:01:10 +08:00
97836994e5
feat: 添加 AI 垃圾评论检测的设置页选项
...
- 关键字必查:触发关键字后立即 AI 审核
- AI 主动学习:自动分析管理员决策并优化关键字
- 学习到的关键字:显示 AI 学习的关键词统计
- 智能预审查:在评论保存前进行 AI 审查
- 添加同步检测函数支持预审查功能
2026-01-23 17:54:16 +08:00
225a9257ae
feat: AI 垃圾评论检测增强 - 关键字必查和主动学习
...
- 新增关键字必查机制:触发关键字后立即同步 AI 审核
- 新增 AI 主动学习功能:自动分析误判和漏判,优化关键字列表
- 修复邮件中用户名问题:重新获取评论对象确保使用最新用户名
- 关键字触发的检测优先级最高,立即执行不延迟
- AI 学习的关键字置信度 > 0.7 且出现 >= 3 次自动加入关键字列表
2026-01-23 17:19:39 +08:00
2bf800a13b
fix: 修复 AI 垃圾评论检测时邮件提前发送的问题
...
- 在发送回复通知邮件前检查评论是否被标记为垃圾
- 在发送管理员通知邮件前检查评论是否被标记为垃圾
- 启用 AI 检测时延迟邮件发送至 5 秒,确保 AI 检测先完成
- 垃圾评论不再发送邮件通知,避免垃圾评论达到骚扰目的
2026-01-23 17:12:40 +08:00
b3cd3747d3
fix: 修复 AI 审查历史记录只显示评论审查的问题
...
- 在批量扫描结果中添加 username_invalid 字段
- 区分显示评论审查和用户名审查
- 在理由前添加审查类型标识(评论审查/用户名审查)
- 保存完整的检测结果到评论元数据
2026-01-23 16:49:44 +08:00
6f78be2312
fix: 统一删除评论按钮样式
...
- 将删除按钮从 btn-outline-danger 改为 btn-outline-primary
- 与置顶、编辑、回复按钮保持一致的样式
2026-01-23 16:43:16 +08:00
882ca001dc
feat: 优化 AI 垃圾评论检测 Prompt,增强安全性和准确性
...
- 参考专业 Prompt 优化三种模式(极简/标准/增强)
- 明确角色定位:严谨的内容安全专家
- 细化审核标准:广告营销、违规信息、恶意内容、垃圾填充
- 添加注入防护:防止 Prompt 注入攻击
- 优化输出规范:统一 JSON 格式,字段明确
- 优化自动处理逻辑:根据置信度和建议智能决策
- 置信度不足时标记为待审核,避免误杀
- 所有检测结果保存置信度、建议和综合分析
2026-01-23 16:29:27 +08:00
731894f1cd
feat: 实现 AI 垃圾评论检测的智能化核心功能
...
- 添加 argon_get_spam_detection_prompt() 函数,支持三种 Prompt 模式
- 添加 argon_build_comment_context() 函数,构建评论上下文
- 极简模式:快速检测,理由简短,省 token
- 标准模式:详细审核标准,包含置信度和处理建议
- 增强模式:多维度分析,包含综合分析说明
- 上下文增强:包含文章信息和用户历史
- 支持 AI 返回置信度(0-1)和处理建议(auto/review/approve)
- 支持综合分析字段,用于边缘情况的详细说明
2026-01-23 16:22:16 +08:00
e5ec3de81f
fix: 修复评论时间显示不一致的问题
...
- 将 human_time_diff() 的两个参数统一使用 GMT 时间戳
- get_comment_time('U', true) 返回 GMT 时间戳
- current_time('timestamp', true) 返回 GMT 时间戳
- 确保时间差计算使用相同时区,避免时区转换导致的时间偏差
- 修复了刚发送的评论显示为 8 小时前的问题
2026-01-23 16:06:41 +08:00
0290c4fea9
fix: 修复评论只能提交一次的问题
...
- 将 AI 检测改回异步执行(延迟 1 秒)
- 避免同步执行阻塞评论提交流程
- 确保评论元数据先保存完成
2026-01-22 18:52:54 +08:00
adf3852a74
feat: 完善用户名-评论联合检测功能
...
- 改为立即同步执行 AI 检测,不再延迟
- 管理员可看到原用户名:用户-XXXXXXXX (原用户名: xxx)
- 添加前台删除评论功能(仅管理员可见)
- 删除按钮使用红色 outline-danger 样式
- 删除前弹出确认对话框
- 删除后淡出动画并移除评论元素
- 完整的成功/失败提示
2026-01-22 18:41:44 +08:00
87f7374876
fix: 修复 functions.php 语法错误
...
- 删除第 7513-7544 行重复的代码片段
- 修复 Unmatched '}' 错误
- 该重复代码导致函数外出现孤立的代码块
2026-01-22 18:28:33 +08:00
86e9336149
fix: 用户名不合规且未留邮箱时直接移入回收站
...
- 评论内容不合规:按原有设置处理(回收站/待审核/仅标记)
- 用户名不合规且未留邮箱:直接移入回收站
- 用户名不合规但留了邮箱:修改用户名并发送通知邮件
- 记录详细的检测结果和处理原因
2026-01-22 18:19:41 +08:00
aeebf39a59
feat: 实现用户名-评论联合检测机制
...
- 修改 AI 检测提示词,同时判断用户名和评论内容合规性
- 评论合规但用户名不合规时,自动生成唯一随机用户名(用户-XXXXXXXX)
- 基于用户名、IP、UA 生成8位唯一标识码
- 发送邮件通知用户名变更,包含原因和新用户名
- 创建用户名变更通知邮件模板
- 保存原始用户名到评论元数据
- 兼容旧格式 API 响应
- 增加 max_tokens 到 150 以支持更详细的响应
2026-01-22 18:17:39 +08:00
e01490a0f8
feat: 邮件社交链接支持 Bilibili 和自动补全
...
- 在邮件设置中添加 Bilibili 社交链接输入框
- 实现社交链接自动补全功能(支持只填写用户名/UID)
- 添加 argon_normalize_social_url() 函数处理链接标准化
- 更新邮件模板基础文件支持 Bilibili 显示
- 支持的平台:Twitter、GitHub、微博、Bilibili、Facebook、Instagram
2026-01-22 13:41:28 +08:00
4543ceb045
feat: 邮件系统优化和垃圾评论通知
...
- 移除所有邮件模板中的 emoji,表述正式化
- 为所有用户邮件添加退订功能支持
- 新增垃圾评论通知邮件模板(spam_notify)
- 检测到垃圾评论时自动发送邮件给评论者
- 邮件包含识别理由、AI 模型、服务提供商、识别码等信息
- 提供查询识别详情和退订链接
2026-01-22 13:35:23 +08:00
03ce925ec4
feat: AI 垃圾评论检测支持识别码查询
...
- 为每个检测过的评论生成唯一的 8 位识别码
- 识别码由数字和大写字母组成(排除 I、O)
- 扩展 ai-summary-query.php 支持查询垃圾评论检测记录
- 显示评论信息、检测结果、AI 模型等详细信息
- 批量检测时也为所有评论生成识别码
- 所有 AI 相关内容均可通过识别码在 /ai-query 页面查询
2026-01-22 13:25:05 +08:00
703b2d4e15
fix: 避免重复检测已检测过的评论
...
- 实时检测前检查评论是否已有检测记录
- 异步检测开始时再次检查,避免并发重复检测
- 检测完成后立即记录检测时间(无论成功失败)
- 全站扫描自动过滤已检测过的评论
- 批量检测后为所有评论(包括正常评论)记录检测时间和结果
- 对 AI 未返回结果的评论也标记为已检测
2026-01-22 13:21:58 +08:00
c0fa3d2352
fix: 优化评论发送速度和邮件通知系统
...
- AI 垃圾评论检测改为异步执行(延迟 2 秒),避免阻塞评论发送
- 站长评论通知改用邮件模板系统发送
- 站长评论通知邮件包含 AI 审核信息(识别结果、理由、识别码)
- 禁用 WordPress 默认的评论通知邮件
- 邮件模板系统支持 Mustache 条件语法({{#variable}}...{{/variable}})
- 评论发送、AI 审核、邮件通知全部异步并行处理
2026-01-22 13:14:23 +08:00
5150b67339
feat: 完善 AI 垃圾评论识别设置项
...
- 抽查基础概率可配置(默认 20%,可调整 1-100%)
- 新增自动处理方式选项(移入回收站/标记待审核/仅标记)
- 新增白名单功能(支持邮箱和 IP 地址)
- 新增提示词预设模板选择(默认/严格/宽松/极简)
- 实现白名单检查逻辑,白名单中的评论不会被检测
- 根据自动处理方式设置处理垃圾评论(trash/hold/mark)
- 保存所有新增设置项到数据库
2026-01-22 13:01:18 +08:00