From 5bfe6a0e701aa8defac0d2ed1fe650c13b097769 Mon Sep 17 00:00:00 2001 From: nanhaoluo <3075912108@qq.com> Date: Mon, 26 Jan 2026 12:51:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E7=9A=84=20AI=20=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建 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 - 关键词提取 --- test-ai-query-component.php | 276 ++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 test-ai-query-component.php diff --git a/test-ai-query-component.php b/test-ai-query-component.php new file mode 100644 index 0000000..083f592 --- /dev/null +++ b/test-ai-query-component.php @@ -0,0 +1,276 @@ + + + +
+ +✓ 数据表已存在:' . $table_name . '
'; + + // 显示表结构 + $columns = $wpdb->get_results("DESCRIBE $table_name"); + echo '表结构:
'; + echo '| 字段名 | 类型 | 允许空值 | 键 | 默认值 |
|---|---|---|---|---|
| ' . esc_html($column->Field) . ' | '; + echo '' . esc_html($column->Type) . ' | '; + echo '' . esc_html($column->Null) . ' | '; + echo '' . esc_html($column->Key) . ' | '; + echo '' . esc_html($column->Default) . ' | '; + echo '
✗ 数据表不存在,尝试创建...
'; + argon_create_ai_query_log_table(); + + $table_exists = $wpdb->get_var("SHOW TABLES LIKE '$table_name'") === $table_name; + if ($table_exists) { + echo '✓ 数据表创建成功
'; + } else { + echo '✗ 数据表创建失败
'; + } + } + echo '✓ argon_log_ai_query 函数存在
'; + + // 插入测试记录 + argon_log_ai_query( + 'openai', + 'gpt-4o-mini', + 'test', + 100, + 500, + 150, + 1234, + 'success', + '', + ['post_id' => 1, 'user_id' => 1] + ); + + // 查询最新记录 + $latest = $wpdb->get_row("SELECT * FROM $table_name ORDER BY id DESC LIMIT 1"); + if ($latest) { + echo '✓ 测试记录插入成功
'; + echo '最新记录:
'; + echo '' . print_r($latest, true) . ''; + } else { + echo '
✗ 测试记录插入失败
'; + } + } else { + echo '✗ argon_log_ai_query 函数不存在
'; + } + echo '✓ argon_get_ai_query_stats 函数存在
'; + + $stats = argon_get_ai_query_stats(); + echo '统计结果:
'; + echo '' . print_r($stats, true) . ''; + } else { + echo '
✗ argon_get_ai_query_stats 函数不存在
'; + } + echo '✓ argon_ai_query 函数存在
'; + + // 检查是否配置了 AI 服务商 + $provider = get_option('argon_ai_summary_provider', 'openai'); + $config = argon_get_ai_provider_config($provider); + + if ($config && !empty($config['api_key'])) { + echo '当前服务商:' . esc_html($provider) . '
'; + echo 'API 密钥:' . esc_html(substr($config['api_key'], 0, 10)) . '...
'; + echo '模型:' . esc_html($config['model']) . '
'; + + echo '⚠️ 跳过实际 API 调用测试(避免消耗 tokens)
'; + echo '如需测试实际调用,请手动调用 argon_ai_query() 函数
'; + } else { + echo '✗ 未配置 AI 服务商或 API 密钥
'; + } + } else { + echo '✗ argon_ai_query 函数不存在
'; + } + echo '✓ 找到 ' . count($recent_queries) . ' 条记录
'; + echo '| ID | '; + echo '时间 | '; + echo '服务商 | '; + echo '模型 | '; + echo '场景 | '; + echo '响应时间 | '; + echo '状态 | '; + echo '
|---|---|---|---|---|---|---|
| ' . esc_html($query->id) . ' | '; + echo '' . esc_html($query->query_time) . ' | '; + echo '' . esc_html($query->provider) . ' | '; + echo '' . esc_html($query->model) . ' | '; + echo '' . esc_html($query->scenario) . ' | '; + echo '' . esc_html($query->response_time) . 'ms | '; + echo '' . esc_html($query->status) . ' | '; + echo '
暂无查询记录
'; + } + echo '✓ argon_generate_ai_summary 函数存在
'; + echo '✓ 已使用统一的 argon_ai_query 接口
'; + } else { + echo '✗ argon_generate_ai_summary 函数不存在
'; + } + echo '✓ argon_detect_spam_comment_sync 函数存在
'; + echo '✓ 已使用统一的 argon_ai_query 接口
'; + } else { + echo '✗ argon_detect_spam_comment_sync 函数不存在
'; + } + echo '测试完成!请检查上述结果。
+下一步:
++ 返回主题设置 +
+ +