Files
argon-theme/.kiro/steering/multi-api-testing-guide.md
nanhaoluo 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

220 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 多 API 管理功能测试指南
## 测试环境
- WordPress 后台 → 外观 → Argon 主题选项 → 文章功能 → AI 文章摘要
- 选择任意 AI 服务商(如 OpenAI
## 功能特性
### 1. 多 API 配置管理
- 每个 AI 服务商可以配置多个 API
- 每个 API 配置包含配置名称、API 密钥、API 端点(可选)、模型(可选)
- 通过单选框选择当前使用的 API
- 支持添加、编辑、删除 API 配置
### 2. 模型列表刷新
- 每个 API 配置都可以独立刷新模型列表
- 根据配置的 API 密钥和端点动态获取可用模型
- 支持从模型列表中快速选择并应用
### 3. 向后兼容
- 如果用户之前没有配置多 API系统会自动从旧配置迁移
- 创建一个名为"默认配置"的 API 并设置为激活状态
## 测试步骤
### 步骤 1添加第一个 API 配置
**操作**
1. 选择 AI 服务商(如 OpenAI
2. 点击"添加新 API 配置"按钮
3. 填写配置信息:
- 配置名称:主 API
- API 密钥sk-test-key-1
- API 端点:(留空或填写自定义端点)
- 模型:(留空或填写模型名称)
4. 点击"刷新"按钮测试获取模型列表
5. 从模型列表中选择一个模型
6. 点击"使用选中的模型"按钮
7. 点击"保存"按钮
**预期结果**
- 表单隐藏
- 显示新添加的 API 配置
- 该 API 自动被选中(单选框勾选)
- 显示配置名称、模型、密钥前缀
### 步骤 2添加第二个 API 配置
**操作**
1. 再次点击"添加新 API 配置"按钮
2. 填写配置信息:
- 配置名称:备用 API
- API 密钥sk-test-key-2
- API 端点https://api.custom.com/v1/chat/completions
- 模型gpt-4o
3. 点击"保存"按钮
**预期结果**
- 显示两个 API 配置
- 第一个 API 仍然被选中
- 第二个 API 未被选中
### 步骤 3切换激活的 API
**操作**
1. 点击第二个 API 的单选框
**预期结果**
- 第二个 API 被选中
- 第一个 API 取消选中
### 步骤 4编辑 API 配置
**操作**
1. 点击第一个 API 的"编辑"按钮
2. 修改配置名称为"主 API已更新"
3. 点击"刷新"按钮重新获取模型列表
4. 选择一个不同的模型
5. 点击"保存"按钮
**预期结果**
- 表单隐藏
- 第一个 API 的名称和模型更新
- 激活状态保持不变(第二个 API 仍然被选中)
### 步骤 5尝试删除激活的 API
**操作**
1. 点击第二个 API当前激活的"删除"按钮
**预期结果**
- 弹出错误提示:"无法删除当前正在使用的 API 配置,请先切换到其他 API"
- API 未被删除
### 步骤 6删除非激活的 API
**操作**
1. 点击第一个 API未激活的"删除"按钮
2. 在确认对话框中点击"确定"
**预期结果**
- 第一个 API 被删除
- 只剩下第二个 API
- 第二个 API 仍然被选中
### 步骤 7测试模型刷新功能
**操作**
1. 点击"添加新 API 配置"
2. 填写 API 密钥
3. 点击"刷新"按钮
**预期结果**
- 按钮显示加载状态(图标旋转)
- 显示"加载中..."提示
- 成功后显示可用模型列表
- 可以选择模型并应用到输入框
### 步骤 8保存设置
**操作**
1. 滚动到页面底部
2. 点击"保存更改"按钮
**预期结果**
- 显示"设置已保存"提示
- 刷新页面后,配置仍然存在
- 激活的 API 保持选中状态
### 步骤 9测试 AI 摘要生成
**操作**
1. 前往任意文章页面
2. 查看是否显示 AI 摘要
**预期结果**
- 使用当前激活的 API 配置生成摘要
- 摘要正常显示
## 边界情况测试
### 测试 1空配置名称
- 不填写配置名称,直接点击保存
- 预期:弹出提示"请输入配置名称"
### 测试 2空 API 密钥
- 只填写配置名称,不填写 API 密钥
- 预期:弹出提示"请输入 API 密钥"
### 测试 3刷新模型时未填写密钥
- 不填写 API 密钥,直接点击刷新
- 预期:弹出提示"请先输入 API 密钥"
### 测试 4删除最后一个 API
- 当只剩一个 API 时,尝试删除
- 预期:如果是激活的,无法删除;如果不是激活的,可以删除
### 测试 5切换服务商
- 切换到不同的 AI 服务商(如 DeepSeek
- 预期:显示该服务商的 API 配置列表
### 测试 6向后兼容性测试
- 如果之前有旧的单 API 配置
- 预期:自动迁移为"默认配置"并设置为激活
## 功能验证清单
- [ ] 添加第一个 API 配置
- [ ] 添加第二个 API 配置
- [ ] 切换激活的 API
- [ ] 编辑 API 配置
- [ ] 尝试删除激活的 API应失败
- [ ] 删除非激活的 API
- [ ] 刷新模型列表
- [ ] 从模型列表选择并应用模型
- [ ] 保存设置并刷新页面
- [ ] 验证数据持久化
- [ ] 测试空配置名称
- [ ] 测试空 API 密钥
- [ ] 测试切换服务商
- [ ] 测试 AI 摘要生成功能
- [ ] 测试向后兼容性
## 已知问题
## 修复记录
### 2026-01-26
- 修复删除功能:添加激活状态检查,防止删除当前使用的 API
- 修复保存逻辑:编辑时正确保留激活状态
- 优化体验:添加第一个 API 时自动设置为激活
- 添加模型刷新功能:支持动态获取可用模型列表
- 修复配置获取的错误处理:防止空配置导致 Fatal Error
- 改进向后兼容性:自动迁移旧配置到新格式
## 使用场景
### 场景 1负载均衡
- 配置多个 OpenAI API Key
- 手动切换使用不同的 Key
- 避免单个 Key 达到速率限制
### 场景 2备用切换
- 主 API 配置官方端点
- 备用 API 配置代理端点
- 主 API 失败时手动切换到备用
### 场景 3不同场景使用不同配置
- API 1使用 gpt-4o-mini快速、便宜
- API 2使用 gpt-4o准确、贵
- 根据需求切换不同的 API
### 场景 4测试与生产分离
- API 1测试环境配置
- API 2生产环境配置
- 方便切换测试