734822883e
refactor: 从 settings.php 和 functions.php 中移除所有 Mermaid 支持
...
- 从 settings.php 移除完整的 Mermaid 设置部分(约 370 行)
- 从 settings.php 移除 Mermaid 选项保存代码
- 从 functions.php 移除所有 Mermaid 相关函数(约 500 行)
- 从 header.php 移除 Mermaid 相关注释
- 保留 assets/vendor/mermaid/ 库文件供未来可能的插件使用
2026-01-27 10:45:21 +08:00
0a8bb3a453
refactor: 彻底移除所有 Mermaid 支持
...
- 从 argontheme.js 移除所有 Mermaid 相关代码和注释
- 从 style.css 移除所有 Mermaid 样式(约 300 行)
- 移除代码高亮中跳过 mermaid 容器的逻辑
- 移除 PJAX 清理函数中的 Mermaid 引用
- 删除临时清理脚本和空文档
2026-01-27 10:42:08 +08:00
8a74a3b3f6
docs: 添加 Mermaid 修复文档
2026-01-27 00:30:13 +08:00
135c2269c7
fix: 修复 Mermaid 渲染问题
...
- 启用代码块转换功能(移除 convertMermaidCodeblocks 中的 return 语句)
- 添加完整的 Mermaid 代码块检测选择器
- 修复首页预览中显示原始 Mermaid 代码的问题
- 添加 argon_remove_mermaid_from_preview 函数过滤预览内容
- 更新三个文章预览模板,在预览中用 [Mermaid 图表] 替代原始代码
2026-01-27 00:28:25 +08:00
b2f40fcf46
fix(ai): update Xiaomi Mimo default endpoints
2026-01-26 15:59:04 +08:00
5c16d78186
fix(ai): 修复统一 API 管理与小米 Mimo 测试兼容
...
- 设置页统一 API 管理:修正 AJAX action 名与返回结构,编辑/保存/删除可用\n- 模型列表:获取模型增加 nonce,兼容对象/字符串模型渲染与选择\n- 统一测试连接:修正小米默认端点/默认模型,并在 400 模型不支持时自动回退重试\n- 小米 API:按 endpoint 归一化 MiMo 模型名,模型列表回退避免选到无效模型
2026-01-26 15:42:14 +08:00
540fe7b543
fix: 修复 AI 测试链接返回连接失败的问题
...
- 修复 AJAX 函数中缺少 api_id 参数检查导致的错误
- 统一错误消息格式,使用数组包装错误信息
- 修复 JavaScript 中错误消息解析逻辑
- 改进错误提示的可读性和调试信息
2026-01-26 14:31:47 +08:00
3794f37618
fix: 修正小米 Mimo API 端点地址
...
- 正确的端点是 https://api.xiaomimimo.com/v1/chat/completions
- 移除错误的自定义端点提示
- 恢复默认端点配置
2026-01-26 14:25:10 +08:00
eabf13a374
fix: 根据提供商设置正确的默认模型
...
- 添加 default_models 数组,为每个提供商定义默认模型
- 小米 Mimo 默认模型: mimo-v2-flash
- DeepSeek 默认模型: deepseek-chat
- 豆包默认模型: doubao-pro-32k
- 其他提供商也设置了对应的默认模型
- 修复测试时使用错误模型(gpt-4o-mini)的问题
2026-01-26 14:21:45 +08:00
8ba2cae1a1
fix: 修复小米 Mimo API 端点问题并添加调试日志
...
- 移除无效的默认端点 api.mimo.xiaomi.com(DNS 无法解析)
- 小米 Mimo 现在要求用户在 API 端点字段中填写平台提供的自定义端点
- 添加针对小米 Mimo 的友好错误提示,引导用户访问 platform.xiaomimimo.com
- 在 JavaScript 中添加 console.log 调试输出,便于排查问题
- 改进错误处理,显示完整的 xhr 响应信息
2026-01-26 14:20:10 +08:00
4b0c5c159a
fix: 修复设置页测试 AI 连通性永远报连接失败的问题
...
- 在所有 wp_send_json_error 和 wp_send_json_success 后添加 return 语句
- 添加 API 端点存在性检查,避免访问不存在的数组键
- 添加 stream 参数设置为 false(非流式响应)
- 添加 Accept 请求头确保返回 JSON 格式
- 使用 JSON_UNESCAPED_UNICODE 编码确保中文正确传输
- 明确设置 sslverify 为 true
- 改进错误消息显示,截断过长的响应内容
- 优化成功消息,添加'测试成功!'前缀
2026-01-26 14:12:28 +08:00
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
8067a54a84
chore: 清理过时的 steering 文档
...
删除已完成项目的临时文档:
- AI 设置重构相关文档(已完成,保留 phase-3-complete.md)
- 设置页重组相关文档(已完成,保留 settings-reorganize-complete.md)
- 多 API 管理和测试文档(已完成)
- 各阶段实施计划和测试指南(已完成)
保留的核心文档:
- code-style.md - 代码规范
- communication.md - 交流规范
- settings-page-guide.md - 设置页开发指南
- phase-3-complete.md - AI 重构完成总结
- settings-reorganize-complete.md - 设置页重组完成总结
- mermaid-removal-summary.md - Mermaid 移除总结
- username-comment-detection.md - 用户名评论检测
2026-01-26 14:01:04 +08:00
3e2becf810
fix: 统一设置页 h1 标题样式并修复文章功能分类结构
...
- 统一所有 h1 标题样式:margin-top: 30px, font-size: 32px
- 修复文章功能分类缺失的 h2 标题
- 确保分类结构完整(h1 h2 h3)
2026-01-26 14:00:12 +08:00
cedd977673
fix: 修复设置页 AI API 测试功能的错误处理
...
- 改进错误消息的显示逻辑,正确处理 wp_send_json_error 返回的数据
- 添加更详细的 AJAX 错误日志输出
- 添加测试脚本 test-api-test-function.php 用于诊断 API 测试功能
2026-01-26 13:52:26 +08:00
7af137ae91
fix: 修复 AI API 测试功能缺少 nonce 参数的问题
...
- 在测试 API 的 AJAX 请求中添加 nonce 参数
- 使用 wp_create_nonce('argon_test_unified_api') 生成 nonce
- 修复测试按钮点击后无法正常工作的问题
2026-01-26 13:51:14 +08:00
2de985e2a8
docs: 更新第三阶段完成文档
...
- 记录向后兼容代码移除完成
- 记录临时文件清理完成
- 更新最终总结和成果
- 所有三个阶段已全部完成
2026-01-26 13:49:02 +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
df15aafa35
refactor: 移除 settings.php 中重复的 AI 垃圾评论识别部分
...
- 删除评论设置分类中的旧 AI 垃圾评论识别子分类(第 4619-5204 行)
- 保留 AI 功能部分的评论审核设置(统一管理)
- 减少 586 行重复代码
- 文件行数:7746 7160
2026-01-26 13:47:43 +08:00
04f20d43f8
feat: 更新 AI 设置选项保存逻辑
...
- 移除旧的 argon_ai_summary_provider 保存逻辑
- 移除旧的多 API 配置保存逻辑(10 个提供商的循环)
- 添加新的 argon_ai_summary_active_api 保存
- 添加新的 argon_ai_spam_active_api 保存
- 更新 argon_ai_summary_exclude_ids 为 argon_ai_summary_exclude_posts
- 简化评论审核相关选项保存
- 移除不再使用的旧选项保存逻辑
2026-01-26 13:43:46 +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
2c25caae23
feat: 添加统一 API 系统测试脚本和文档
...
- 创建 test-unified-api-system.php 测试脚本
- 测试功能包括:函数存在性、数据迁移、API配置、向后兼容等
- 添加阶段性实施计划文档
- 添加新 AI 设置界面草稿
2026-01-26 13:25:49 +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
cc88188d34
feat: 优化 AI 查询页面样式和结构
...
- 移除表格框线,使用 border: none 和 border-collapse: collapse
- 移除 ai-alert 提示框,简化界面
- 将 AI 请求记录和 AI 查询统计独立为 h2 标题
- 统一标题样式:28px 字体,带图标,更清晰的层级结构
2026-01-26 13:11:22 +08:00
454411b5c2
fix: 修复AI查询页面时间显示的类型错误
...
- 为 generated_time 和 detection_time 添加空值检查
- 避免将空字符串传递给 date() 函数导致 TypeError
- 空值时显示'未知'而不是报错
2026-01-26 13:04:41 +08:00
a9259eaea1
fix: 修复 AI 查询页面时间戳类型错误
...
- 修复 date() 函数接收字符串而非整数的问题
- 在所有 date() 调用中使用 intval() 转换时间戳
- 修复生成时间、检测时间、记录时间的显示问题
2026-01-26 13:03:43 +08:00
33d2b23408
feat: 在AI查询页面添加统计功能
...
- 添加AI查询统计卡片,显示总查询次数、成功率、平均响应时间等
- 按场景统计:文章摘要、垃圾评论检测、批量检测、关键词提取
- 按服务商统计:OpenAI、Anthropic、DeepSeek、小米Mimo等
- 使用AJAX动态加载统计数据
- 仅对管理员可见
- 统计数据来自wp_argon_ai_query_log表
2026-01-26 13:00:08 +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
5bfe6a0e70
feat: 实现统一的 AI 查询组件
...
- 创建 wp_argon_ai_query_log 数据表记录所有 AI 查询
- 实现 argon_ai_query() 统一查询接口
- 实现 argon_log_ai_query() 记录函数
- 实现 argon_get_ai_query_stats() 统计函数
- 添加 argon_ajax_get_ai_query_stats() AJAX 处理函数
- 修改 argon_generate_ai_summary() 使用新的统一接口
- 修改 argon_detect_spam_comment_sync() 使用新的统一接口
- 添加测试脚本 test-ai-query-component.php
记录内容包括:
- 查询时间、服务商、模型、使用场景
- 提示词长度、内容长度、响应长度
- 响应时间(毫秒)
- 状态(成功/失败)、错误信息
- 关联的文章ID、评论ID、用户ID
支持的场景:
- summary - 文章摘要
- spam_detection - 垃圾评论检测
- keyword_extraction - 关键词提取
2026-01-26 12:51:18 +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
a025a6bdd8
feat: 完善多 API 管理功能
...
- 为每个 API 配置添加刷新模型列表按钮
- 支持从 API 端点动态获取可用模型列表
- 添加模型选择界面,支持单选和快速应用
- 优化配置获取函数的错误处理和向后兼容性
- 修复空配置导致的 Fatal Error 问题
- 每个提供商可独立配置多个 API(不同密钥、端点、模型)
- 支持负载均衡、备用切换等使用场景
2026-01-26 11:44:52 +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
f33b0e4344
fix: 修复多 API 管理功能的删除和保存逻辑
...
- 删除 API 前检查是否为当前激活的配置,防止误删
- 保存 API 配置时正确保留激活状态
- 添加新 API 时,如果是第一个自动设置为激活
- 优化用户体验,提供明确的错误提示
2026-01-26 11:21:50 +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
4aaa3b7772
fix: 增强 Mermaid 代码提取的鲁棒性
...
- 使用 innerText 替代 textContent,更好地保留换行符
- 添加详细的调试日志,记录原始和最终提取的代码
- 添加代码完整性验证,检测过短的代码
- 修复代码被截断的问题
2026-01-25 13:39:29 +08:00
07cd43e2bd
docs: 完成任务 2.3 - 添加语法错误处理和友好提示
...
- 验证错误捕获机制完整(同步和异步)
- 验证友好错误提示已实现
- 验证原始代码查看功能
- 验证错误类型识别和行号提取
- 验证完整的 CSS 样式(日间/夜间模式)
- 创建测试文档和总结文档
- 更新任务状态为已完成
- 满足需求 2.5, 7.1-7.4
2026-01-25 13:18:12 +08:00
577c5c2a3c
feat: 优化 Mermaid 初始化配置,支持多种图表类型
...
- 添加 ER 图配置(需求 2.3)
- 添加状态图配置(需求 2.4)
- 添加类图、饼图、Git 图、用户旅程图配置
- 优化注释,明确标注需求对应关系
- 保持主题自动切换和安全级别配置(需求 2.1)
- 完成任务 2.2
2026-01-25 13:13:00 +08:00
2fa1948501
feat: 实现 Mermaid 库加载等待机制
...
- 添加 waitForMermaid() 函数,使用 Promise 实现异步等待
- 设置超时机制(默认 5000ms),防止无限等待
- 使用轮询检查库加载状态(每 100ms 检查一次)
- 记录加载时间和状态日志,便于调试
- 将 renderAllCharts() 改为 async 函数,渲染前等待库加载
- 将 init() 函数改为 async 函数,使用 waitForMermaid() 替代原来的 setInterval
- 添加完整的 JSDoc 注释,说明参数和返回值
- 遵循项目代码规范(Tab 缩进、单引号、严格相等)
- 完成任务 2.1
2026-01-25 13:09:42 +08:00
9e4888f28c
feat: 添加 Mermaid 渲染状态标记
...
- 在渲染成功后添加 data-mermaid-rendered 属性
- 在 isRendered() 函数中检查该属性(已实现)
- 覆盖三种渲染路径:标准 API、旧版 API、init 降级方案
- 确保已渲染的代码块不会被重复渲染
- 遵循项目代码规范(Tab 缩进、单引号、JSDoc 注释)
- 完成任务 1.3
2026-01-25 13:02:16 +08:00
8f7165cede
feat: 实现 Mermaid 代码块检测函数 - 实现 detectMermaidBlocks 和 isRendered 函数,识别两种格式的 Mermaid 代码块并过滤已渲染的块
2026-01-25 12:54:45 +08:00
96287d87cd
docs: 添加文件清理总结文档
2026-01-25 12:40:47 +08:00