diff --git a/.kiro/steering/ai-refactor-next-steps.md b/.kiro/steering/ai-refactor-next-steps.md deleted file mode 100644 index 0a9d017..0000000 --- a/.kiro/steering/ai-refactor-next-steps.md +++ /dev/null @@ -1,144 +0,0 @@ -# AI 设置重构 - 下一步工作 - -## 已完成的工作 ✅ - -### 1. functions.php 更新 -- ✅ 添加数据迁移函数 `argon_migrate_ai_apis()` -- ✅ 添加统一 API 管理函数 - - `argon_get_all_apis()` - 获取所有 API - - `argon_get_api_by_id($api_id)` - 获取指定 API - - `argon_add_api($config)` - 添加 API - - `argon_update_api($api_id, $config)` - 更新 API - - `argon_delete_api($api_id)` - 删除 API - - `argon_set_active_api_for_scenario($scenario, $api_id)` - 设置场景使用的 API - - `argon_get_active_api_config($scenario)` - 获取场景的活动 API 配置 -- ✅ 更新 `argon_get_ai_provider_config()` 支持新数据结构 -- ✅ 添加新的 AJAX 处理函数 - - `argon_ajax_add_unified_api()` - - `argon_ajax_update_unified_api()` - - `argon_ajax_delete_unified_api()` - - `argon_ajax_set_active_unified_api()` - - `argon_ajax_get_all_unified_apis()` -- ✅ 在主题加载时自动迁移旧数据 - -### 2. 草稿文件 -- ✅ 创建新的 AI 设置界面草稿 (`tmp/ai-settings-new-structure.php`) -- ✅ 设计了新的界面结构和交互逻辑 - -## 待完成的工作 📋 - -### 3. settings.php 重构 - -#### 3.1 移除旧的 AI 设置部分 -需要移除的内容: -- 第 1985-2400 行:旧的文章功能 - AI 摘要部分(包含按提供商分组的 API 配置) -- 第 4662-5100 行:评论设置中的 AI 垃圾评论识别部分 - -#### 3.2 添加新的 AI 功能部分 -在合适的位置(建议在第 1985 行之前)插入新的 AI 功能部分: - -```php - -
- - - - -``` - -#### 3.3 添加 JavaScript 交互代码 -需要添加完整的 JavaScript 代码来处理: -- 添加/编辑/删除 API -- 测试 API 连通性 -- 刷新模型列表 -- 切换活动 API -- 表单验证 - -#### 3.4 更新选项保存逻辑 -在 settings.php 末尾的保存函数中: -- 移除旧的 API 配置保存逻辑 -- 添加新的统一 API 配置保存逻辑 -- 保存场景化的活动 API 设置 - -### 4. 测试 - -#### 4.1 数据迁移测试 -- 测试从旧的多 API 系统迁移到新系统 -- 验证所有 API 配置都正确迁移 -- 验证活动 API 设置正确 - -#### 4.2 功能测试 -- 测试添加新 API -- 测试编辑 API -- 测试删除 API -- 测试切换活动 API -- 测试 API 连通性测试功能 -- 测试模型列表刷新功能 - -#### 4.3 场景测试 -- 测试文章摘要生成(使用新的 API 系统) -- 测试垃圾评论检测(使用新的 API 系统) -- 测试不同场景使用不同 API - -#### 4.4 向后兼容测试 -- 测试没有新数据时的回退逻辑 -- 测试旧数据的自动迁移 - -### 5. 文档更新 -- 更新用户文档,说明新的 API 管理方式 -- 更新开发文档,说明新的数据结构 - -## 实施建议 - -由于 settings.php 的重构涉及大量代码修改(需要移除约 500 行旧代码,添加约 800 行新代码),建议: - -1. **分步实施**: - - 第一步:只添加新的 AI 功能部分,保留旧的设置(共存) - - 第二步:测试新功能是否正常工作 - - 第三步:移除旧的设置部分 - - 第四步:全面测试 - -2. **备份策略**: - - 在每一步之前都创建备份 - - 使用 Git 分支进行开发 - - 保留回滚方案 - -3. **用户通知**: - - 在更新日志中说明重大变更 - - 提供迁移指南 - - 说明新功能的优势 - -## 风险评估 - -### 高风险项 -- ❗ settings.php 重构可能影响现有用户的配置 -- ❗ 数据迁移可能失败,导致 API 配置丢失 -- ❗ JavaScript 代码可能与现有代码冲突 - -### 缓解措施 -- ✅ 已实现自动数据迁移和向后兼容 -- ✅ 保留旧数据作为备份 -- ✅ 使用独立的 AJAX 端点,避免冲突 -- 📋 需要充分测试后再发布 - -## 时间估算 - -- settings.php 重构:2-3 小时 -- JavaScript 代码编写:1-2 小时 -- 测试和调试:2-3 小时 -- 文档更新:1 小时 - -**总计:6-9 小时** - -## 下一步行动 - -1. 用户确认是否继续进行 settings.php 的重构 -2. 如果继续,建议创建一个新的 Git 分支 -3. 按照上述步骤逐步实施 -4. 每完成一个步骤就进行测试和提交 - -## 备注 - -- 当前已完成的 functions.php 修改已经提交(commit 5254ee0) -- 新的数据结构和 API 已经可以使用 -- 只需要更新 settings.php 的界面部分即可完成整个重构 diff --git a/.kiro/steering/ai-settings-refactor-plan.md b/.kiro/steering/ai-settings-refactor-plan.md deleted file mode 100644 index a156de6..0000000 --- a/.kiro/steering/ai-settings-refactor-plan.md +++ /dev/null @@ -1,161 +0,0 @@ -# AI 设置页面重构方案 - -## 重构目标 - -将当前按提供商分组的 API 管理方式改为统一的 API 列表管理,并重新组织 AI 功能的设置结构。 - -## 当前结构问题 - -1. **API 管理分散**:每个提供商独立管理 API,用户需要在 10 个提供商之间切换 -2. **结构不清晰**:AI 摘要和评论审核分散在不同的一级分类中 -3. **用户体验差**:添加 API 时需要先选择提供商,然后才能配置 - -## 新结构设计 - -### 页面结构 -``` -AI 功能 (独立 h1,不在分类编号中) -├── API 管理 (h2) -│ ├── 已配置的 API 列表(统一显示所有提供商的 API) -│ └── 添加新 API(输入密钥 → 选择提供商 → 选择模型) -├── 文章摘要 (h2) -│ ├── 启用 AI 摘要 -│ ├── 默认服务商选择 -│ ├── Prompt 设置 -│ └── 排除文章设置 -└── 评论审核 (h2) - ├── 启用 AI 识别 - ├── 实时检测模式 - ├── 关键字管理 - ├── Prompt 模式 - └── 其他配置 -``` - -### 数据结构变更 - -#### 旧数据结构 -```php -// 每个提供商独立存储 -argon_ai_openai_apis = [ - {id: 'api_1', name: '主API', api_key: 'sk-xxx', ...} -] -argon_ai_anthropic_apis = [...] -// ... 10 个提供商 -``` - -#### 新数据结构 -```php -// 统一存储所有 API -argon_ai_apis = [ - { - id: 'api_1', - name: '主 OpenAI API', - provider: 'openai', - api_key: 'sk-xxx', - api_endpoint: '', - model: 'gpt-4o-mini', - is_active: false, - created_at: 1234567890 - }, - { - id: 'api_2', - name: '备用 Claude API', - provider: 'anthropic', - api_key: 'sk-ant-xxx', - api_endpoint: '', - model: 'claude-3-5-sonnet-20241022', - is_active: true, - created_at: 1234567891 - } -] - -// 当前使用的 API(按场景) -argon_ai_summary_active_api = 'api_1' // 文章摘要使用的 API -argon_ai_spam_active_api = 'api_2' // 垃圾评论检测使用的 API -``` - -## 实施步骤 - -### 步骤 1:数据迁移函数 -创建 `argon_migrate_ai_apis()` 函数,将旧的分散数据迁移到新的统一结构。 - -### 步骤 2:更新核心函数 -- 修改 `argon_get_ai_provider_config()` 支持新数据结构 -- 添加 `argon_get_all_apis()` 获取所有 API -- 添加 `argon_get_api_by_id($api_id)` 获取指定 API -- 添加 `argon_add_api($config)` 添加 API -- 添加 `argon_update_api($api_id, $config)` 更新 API -- 添加 `argon_delete_api($api_id)` 删除 API -- 添加 `argon_set_active_api_for_scenario($scenario, $api_id)` 设置场景使用的 API - -### 步骤 3:重构 settings.php -- 移除原有的按提供商分组的 API 配置界面 -- 创建新的统一 API 列表界面 -- 重新组织 AI 功能的设置结构 - -### 步骤 4:更新 AJAX 处理函数 -- 更新所有 API 管理相关的 AJAX 函数 -- 支持新的数据结构 - -### 步骤 5:向后兼容 -- 在主题加载时自动检测并迁移旧数据 -- 保留旧数据作为备份 - -## 界面设计 - -### API 管理界面 -``` -┌─ 已配置的 API ─────────────────────────────────────┐ -│ │ -│ ● 主 OpenAI API (gpt-4o-mini) │ -│ OpenAI (ChatGPT) | sk-xxx... │ -│ [测试] [编辑] [删除] │ -│ │ -│ ○ 备用 Claude API (claude-3-5-sonnet) │ -│ Anthropic (Claude) | sk-ant-xxx... │ -│ [测试] [编辑] [删除] │ -│ │ -│ [+ 添加新 API] │ -└─────────────────────────────────────────────────────┘ - -添加/编辑 API: -┌─────────────────────────────────────────────────────┐ -│ 配置名称: [主 OpenAI API_________________] │ -│ API 密钥: [sk-xxx_______________________] [显示] │ -│ 提供商: [OpenAI (ChatGPT) ▼] │ -│ API 端点: [_____________________________] (可选) │ -│ 模型: [gpt-4o-mini__________________] [刷新] │ -│ │ -│ [保存] [取消] │ -└─────────────────────────────────────────────────────┘ -``` - -### 文章摘要设置 -``` -启用 AI 摘要: [启用 ▼] -默认使用 API: [主 OpenAI API ▼] -Prompt 设置: [...] -排除文章 ID: [...] -``` - -### 评论审核设置 -``` -启用 AI 识别: [☑] 启用 AI 自动识别垃圾评论 -默认使用 API: [备用 Claude API ▼] -实时检测模式: [智能抽查 ▼] -... -``` - -## 优势 - -1. **统一管理**:所有 API 在一个列表中,一目了然 -2. **灵活配置**:不同场景可以使用不同的 API -3. **易于添加**:添加 API 时直接输入密钥和选择提供商 -4. **更好的 UX**:不需要在多个提供商之间切换 - -## 注意事项 - -1. **数据迁移**:确保旧数据能够正确迁移到新结构 -2. **向后兼容**:保留旧数据作为备份,以防迁移失败 -3. **测试充分**:需要测试所有 AI 功能是否正常工作 -4. **文档更新**:更新用户文档说明新的配置方式 diff --git a/.kiro/steering/ai-spam-detection-optimization.md b/.kiro/steering/ai-spam-detection-optimization.md deleted file mode 100644 index bd52411..0000000 --- a/.kiro/steering/ai-spam-detection-optimization.md +++ /dev/null @@ -1,158 +0,0 @@ -# AI 垃圾评论检测优化方案 - -## 当前问题 - -1. **Prompt 单一**:只有一个固定的 Prompt,无法适应不同场景 -2. **缺少置信度**:AI 判断没有置信度评分,无法区分确定性高低 -3. **处理过于机械**:直接根据 AI 结果自动处理,缺少灵活性 -4. **缺少上下文**:只分析评论本身,没有考虑文章内容和用户历史 -5. **无学习机制**:无法根据管理员的审核结果优化判断 - -## 优化方案 - -### 1. 多级 Prompt 系统 - -**极简模式(minimal)** -- 适用场景:API 费用敏感、快速检测 -- Token 消耗:约 100-150 tokens -- 特点:只判断是否垃圾,理由简短 - -**标准模式(standard)** - 默认 -- 适用场景:日常使用,平衡准确性和成本 -- Token 消耗:约 200-300 tokens -- 特点:详细审核标准,包含置信度和处理建议 - -**增强模式(enhanced)** -- 适用场景:重要内容、疑难案例 -- Token 消耗:约 300-500 tokens -- 特点:多维度分析,包含综合分析说明 - -### 2. 智能置信度系统 - -AI 返回置信度(0-1): -- **0.9-1.0**:非常确定 → 可自动处理 -- **0.7-0.9**:比较确定 → 建议自动处理 -- **0.5-0.7**:中等确定 → 建议人工审核 -- **0.0-0.5**:不太确定 → 必须人工审核 - -### 3. 智能处理建议 - -AI 返回处理建议: -- **auto**:自动处理(高置信度垃圾内容) -- **review**:建议人工审核(中等置信度或边缘情况) -- **approve**:建议直接通过(正常内容) - -管理员可设置: -- 只有置信度 > 0.85 才自动处理 -- 置信度 0.5-0.85 标记为待审核 -- 置信度 < 0.5 直接通过并记录 - -### 4. 上下文增强 - -评论检测时提供: -- **文章信息**:标题、摘要(判断相关性) -- **用户历史**:检测次数、通过率(判断可信度) -- **评论时间**:判断是否为批量发送 -- **IP 地址**:判断是否为已知垃圾来源 - -### 5. 多维度分析 - -AI 分析维度: -- **内容合规性**:是否违规 -- **内容质量**:是否有实质性内容 -- **用户行为**:用户名、邮箱、网站是否可疑 -- **上下文相关性**:与文章主题的相关性 - -### 6. 学习优化机制 - -记录管理员的审核决策: -- 管理员批准了 AI 标记的垃圾评论 → 降低该类型的检测阈值 -- 管理员拒绝了 AI 的判断 → 提高该类型的检测阈值 -- 定期分析误判率,优化 Prompt - -## 实施步骤 - -### 步骤 1:添加 Prompt 模式选择 - -在设置页添加选项: -```php - -``` - -### 步骤 2:优化检测函数 - -添加新函数: -- `argon_get_spam_detection_prompt($mode)` - 获取不同模式的 Prompt -- `argon_build_comment_context($comment)` - 构建评论上下文 -- `argon_should_auto_process($result)` - 根据置信度判断是否自动处理 - -### 步骤 3:优化处理逻辑 - -根据 AI 的建议和置信度: -```php -if ($confidence > 0.85 && $suggestion === 'auto') { - // 自动处理 -} elseif ($confidence > 0.5) { - // 标记为待审核 -} else { - // 直接通过,记录低置信度 -} -``` - -### 步骤 4:添加学习机制 - -记录管理员操作: -```php -// 管理员批准/拒绝 AI 判断时 -update_option('argon_spam_detection_feedback_' . $pattern_hash, [ - 'ai_decision' => $ai_result, - 'admin_decision' => $admin_action, - 'timestamp' => time() -]); -``` - -### 步骤 5:优化显示界面 - -在后台评论列表显示: -- AI 置信度标签 -- 处理建议 -- 综合分析(鼠标悬停显示) - -## 预期效果 - -1. **准确率提升**:通过多维度分析和置信度评分,减少误判 -2. **灵活性增强**:管理员可根据置信度选择处理方式 -3. **成本优化**:提供多级 Prompt,平衡准确性和成本 -4. **持续优化**:通过学习机制不断提升判断准确性 -5. **用户体验**:减少误杀正常评论,提升用户满意度 - -## 配置建议 - -### 小型博客(评论量 < 100/天) -- Prompt 模式:标准模式 -- 实时检测:智能抽查 20% -- 自动处理阈值:置信度 > 0.9 - -### 中型博客(评论量 100-500/天) -- Prompt 模式:标准模式 -- 实时检测:智能抽查 30% -- 自动处理阈值:置信度 > 0.85 - -### 大型博客(评论量 > 500/天) -- Prompt 模式:极简模式 -- 实时检测:智能抽查 40% -- 自动处理阈值:置信度 > 0.8 -- 定期使用增强模式批量扫描待审核评论 - -## 注意事项 - -1. **API 成本**:增强模式会消耗更多 tokens,建议按需使用 -2. **响应时间**:上下文信息越多,AI 响应时间越长 -3. **隐私保护**:不要将敏感信息(如完整邮箱)发送给 AI -4. **误判处理**:始终提供人工审核入口,避免误杀 -5. **定期review**:定期检查 AI 判断结果,优化 Prompt diff --git a/.kiro/steering/multi-api-management.md b/.kiro/steering/multi-api-management.md deleted file mode 100644 index df511da..0000000 --- a/.kiro/steering/multi-api-management.md +++ /dev/null @@ -1,136 +0,0 @@ -# 多 API 管理功能设计 - -## 功能概述 - -为每个 AI 服务商支持配置多个 API,用户可以: -- 为同一服务商添加多个 API 配置(不同的 Key、端点、模型) -- 选择其中一个作为当前使用的 API -- 方便实现负载均衡、备用切换、不同场景使用不同配置等需求 - -## 数据结构 - -### 配置存储格式 -```php -// 存储在 WordPress options 中 -// 键名:argon_ai_{provider}_apis -// 值:JSON 数组 -[ - { - "id": "api_1", - "name": "主 API", - "api_key": "sk-xxx", - "api_endpoint": "", - "model": "gpt-4o-mini", - "is_active": true - }, - { - "id": "api_2", - "name": "备用 API", - "api_key": "sk-yyy", - "api_endpoint": "https://api.custom.com/v1/chat/completions", - "model": "gpt-4o", - "is_active": false - } -] -``` - -### 当前使用的 API ID -```php -// 键名:argon_ai_{provider}_active_api -// 值:字符串,API 的 ID -"api_1" -``` - -## 界面设计 - -### 设置页布局 -``` -AI 服务商: [OpenAI ▼] - -┌─ OpenAI 配置 ─────────────────────────────┐ -│ │ -│ 已配置的 API: │ -│ ○ 主 API (gpt-4o-mini) [编辑] [删除]│ -│ ● 备用 API (gpt-4o) [编辑] [删除]│ -│ │ -│ [+ 添加新 API 配置] │ -│ │ -└────────────────────────────────────────────┘ - -添加/编辑 API 配置: -┌────────────────────────────────────────────┐ -│ 配置名称: [主 API_______________] │ -│ API 密钥: [sk-xxx______________] [显示] │ -│ API 端点: [___________________] (可选) │ -│ 模型: [gpt-4o-mini_________] [刷新] │ -│ │ -│ [保存] [取消] │ -└────────────────────────────────────────────┘ -``` - -## 实现步骤 - -### 1. 数据层 -- `argon_get_provider_apis($provider)` - 获取提供商的所有 API 配置 -- `argon_get_active_api($provider)` - 获取当前使用的 API 配置 -- `argon_add_provider_api($provider, $config)` - 添加 API 配置 -- `argon_update_provider_api($provider, $api_id, $config)` - 更新 API 配置 -- `argon_delete_provider_api($provider, $api_id)` - 删除 API 配置 -- `argon_set_active_api($provider, $api_id)` - 设置当前使用的 API - -### 2. 界面层 -- 为每个提供商显示 API 列表 -- 添加/编辑表单(可折叠) -- 单选框选择当前使用的 API -- AJAX 操作(添加、编辑、删除、切换) - -### 3. 调用层 -- 更新 `argon_get_ai_provider_config()` 函数 -- 从多个 API 中获取当前激活的配置 -- 保持向后兼容(如果没有配置多 API,使用原有逻辑) - -## 使用场景 - -### 场景 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:生产环境配置 -- 方便切换测试 - -## 向后兼容 - -如果用户已有旧配置(单 API 模式): -1. 自动迁移到新格式 -2. 创建一个名为"默认配置"的 API -3. 设置为当前使用 - -## 未来扩展 - -### 自动切换(可选) -- 检测 API 调用失败 -- 自动切换到下一个可用的 API -- 记录切换日志 - -### 负载均衡(可选) -- 轮询模式:依次使用不同的 API -- 随机模式:随机选择一个 API -- 权重模式:根据权重分配使用频率 - -### 健康检查(可选) -- 定期检测 API 可用性 -- 标记不可用的 API -- 自动禁用失败的 API diff --git a/.kiro/steering/multi-api-testing-guide.md b/.kiro/steering/multi-api-testing-guide.md deleted file mode 100644 index 7dbe985..0000000 --- a/.kiro/steering/multi-api-testing-guide.md +++ /dev/null @@ -1,219 +0,0 @@ -# 多 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:生产环境配置 -- 方便切换测试 diff --git a/.kiro/steering/phase-1-complete.md b/.kiro/steering/phase-1-complete.md deleted file mode 100644 index fd2bac5..0000000 --- a/.kiro/steering/phase-1-complete.md +++ /dev/null @@ -1,224 +0,0 @@ -# AI 设置重构 - 第一阶段完成总结 - -## 📅 完成时间 -2026-01-26 - -## ✅ 第一阶段:后端系统开发(已完成) - -### 1. 核心功能实现 - -#### 数据迁移系统 -- ✅ `argon_migrate_ai_apis()` - 自动迁移旧数据到新结构 -- ✅ 在主题加载时自动执行迁移 -- ✅ 保留旧数据作为备份 -- ✅ 迁移状态标记(`argon_ai_apis_migrated`) - -#### 统一 API 管理函数 -- ✅ `argon_get_all_apis()` - 获取所有 API 配置 -- ✅ `argon_get_api_by_id($api_id)` - 根据 ID 获取 API -- ✅ `argon_add_api($config)` - 添加新 API -- ✅ `argon_update_api($api_id, $config)` - 更新 API -- ✅ `argon_delete_api($api_id)` - 删除 API(保护正在使用的 API) -- ✅ `argon_set_active_api_for_scenario($scenario, $api_id)` - 场景化 API 设置 -- ✅ `argon_get_active_api_config($scenario)` - 获取场景的活动 API - -#### 向后兼容 -- ✅ 更新 `argon_get_ai_provider_config()` 优先使用新系统 -- ✅ 回退机制:新系统无数据时使用旧系统 -- ✅ 三层回退:新系统 → 旧多 API 系统 → 旧单 API 系统 - -#### AJAX 接口 -- ✅ `argon_ajax_add_unified_api()` - 添加 API -- ✅ `argon_ajax_update_unified_api()` - 更新 API -- ✅ `argon_ajax_delete_unified_api()` - 删除 API -- ✅ `argon_ajax_set_active_unified_api()` - 设置活动 API -- ✅ `argon_ajax_get_all_unified_apis()` - 获取所有 API - -### 2. 数据结构设计 - -#### 新数据结构 -```php -// 统一存储:argon_ai_apis -[ - { - 'id' => 'api_1737878400_1234', - 'name' => '主 OpenAI API', - 'provider' => 'openai', - 'api_key' => 'sk-xxx', - 'api_endpoint' => '', - 'model' => 'gpt-4o-mini', - 'is_active' => false, - 'created_at' => 1737878400 - } -] - -// 场景化配置 -argon_ai_summary_active_api = 'api_1737878400_1234' // 文章摘要 -argon_ai_spam_active_api = 'api_1737878400_5678' // 评论审核 -``` - -### 3. 测试工具 - -#### 测试脚本 -- ✅ `test-unified-api-system.php` - 完整的系统测试脚本 -- 测试内容: - - 函数存在性检查 - - 数据迁移状态 - - API 配置查看 - - 旧数据检查 - - 场景化 API 测试 - - 向后兼容性测试 - -### 4. 文档 - -#### 设计文档 -- ✅ `ai-settings-refactor-plan.md` - 完整的重构方案 -- ✅ `ai-refactor-next-steps.md` - 下一步工作计划 -- ✅ `phase-1-complete.md` - 第一阶段总结(本文档) - -#### 界面草稿 -- ✅ `tmp/ai-settings-new-structure.php` - 新 UI 设计草稿 - -### 5. Git 提交记录 - -``` -5254ee0 - feat: 添加统一 API 管理系统 -2c25caa - feat: 添加统一 API 系统测试脚本和文档 -``` - -## 🎯 第一阶段成果 - -### 优势 -1. **完全向后兼容**:不影响现有用户的配置 -2. **自动迁移**:无需手动操作,自动完成数据迁移 -3. **场景化配置**:文章摘要和评论审核可使用不同 API -4. **安全保护**:不允许删除正在使用的 API -5. **完整测试**:提供测试脚本验证功能 - -### 技术亮点 -1. **三层回退机制**:确保在任何情况下都能获取到 API 配置 -2. **数据备份**:旧数据完整保留,可随时回滚 -3. **独立 AJAX 端点**:避免与现有代码冲突 -4. **场景化设计**:为未来扩展更多场景预留空间 - -## 📋 第二阶段:测试和验证(当前阶段) - -### 目标 -验证第一阶段开发的功能是否正常工作 - -### 任务清单 - -#### 1. 运行测试脚本 -- [ ] 访问 `test-unified-api-system.php` -- [ ] 检查所有测试项是否通过 -- [ ] 验证数据迁移是否成功 - -#### 2. 功能测试 -- [ ] 测试 AI 文章摘要生成 -- [ ] 测试 AI 垃圾评论检测 -- [ ] 验证向后兼容性 - -#### 3. 问题排查 -- [ ] 检查小米 Mimo API 是否正常工作 -- [ ] 查看错误日志 -- [ ] 修复发现的问题 - -### 测试步骤 - -#### 步骤 1:访问测试页面 -``` -https://your-site.com/wp-content/themes/argon/test-unified-api-system.php -``` - -#### 步骤 2:检查测试结果 -- 所有函数是否存在? -- 数据是否成功迁移? -- API 配置是否正确? -- 向后兼容是否正常? - -#### 步骤 3:测试 AI 功能 -- 创建一篇新文章,查看是否生成 AI 摘要 -- 发表一条评论,查看 AI 检测是否工作 -- 访问 AI 查询页面,查看统计数据 - -#### 步骤 4:问题记录 -如果发现问题,记录: -- 问题描述 -- 错误信息 -- 复现步骤 -- 预期行为 - -## 📊 第三阶段:UI 重构(待开始) - -### 目标 -在确认后端功能正常后,开始 UI 重构 - -### 实施策略 -采用**渐进式重构**: - -#### 阶段 3.1:添加新 UI(与旧 UI 共存) -- 在 settings.php 中添加新的 AI 功能部分 -- 保留旧的设置界面 -- 用户可以选择使用新界面或旧界面 - -#### 阶段 3.2:测试新 UI -- 测试所有交互功能 -- 收集用户反馈 -- 修复发现的问题 - -#### 阶段 3.3:移除旧 UI -- 确认新 UI 稳定后 -- 移除旧的设置界面 -- 更新文档 - -## 🔍 当前状态 - -### 已完成 -- ✅ 后端核心功能开发 -- ✅ 数据迁移系统 -- ✅ AJAX 接口 -- ✅ 测试工具 -- ✅ 文档 - -### 进行中 -- 🔄 第二阶段:测试和验证 - -### 待开始 -- ⏳ 第三阶段:UI 重构 - -## 💡 建议 - -### 立即行动 -1. **运行测试脚本**:验证系统是否正常工作 -2. **检查错误日志**:查看是否有错误信息 -3. **测试 AI 功能**:确认文章摘要和评论检测正常 - -### 如果测试通过 -- 可以开始第三阶段的 UI 重构 -- 或者先解决小米 Mimo 的问题 - -### 如果测试失败 -- 记录错误信息 -- 分析问题原因 -- 修复后再次测试 - -## 📞 需要帮助? - -如果在测试过程中遇到问题,请提供: -1. 测试脚本的输出结果 -2. 错误日志内容 -3. 具体的问题描述 - -我将帮助您分析和解决问题。 - -## 🎉 总结 - -第一阶段的后端开发已经完成,新的统一 API 管理系统已经就绪。现在需要进行测试验证,确保功能正常工作后,再进行 UI 重构。 - -采用分阶段实施的策略,可以: -- ✅ 降低风险 -- ✅ 逐步验证 -- ✅ 及时发现问题 -- ✅ 保证质量 - -让我们继续第二阶段的测试工作! diff --git a/.kiro/steering/phase-2-testing-guide.md b/.kiro/steering/phase-2-testing-guide.md deleted file mode 100644 index e90700b..0000000 --- a/.kiro/steering/phase-2-testing-guide.md +++ /dev/null @@ -1,424 +0,0 @@ -# 第二阶段:测试和验证指南 - -## 📅 开始时间 -2026-01-26 - -## 🎯 测试目标 - -验证统一 API 管理系统的后端功能是否正常工作,为第三阶段的 UI 重构做准备。 - -## 📋 测试清单 - -### 1. 系统状态检查 ✅ - -**测试文件**: `test-system-status.php` - -**访问方式**: -``` -https://your-site.com/wp-content/themes/argon/test-system-status.php -``` - -**检查项目**: -- [ ] 所有核心函数已加载 -- [ ] 数据迁移状态正常 -- [ ] API 配置正确显示 -- [ ] 场景配置正常工作 -- [ ] 旧数据已备份 - -**预期结果**: -- 显示"✓ 统一 API 管理系统已就绪!" -- 如果有旧配置,应该已经迁移到新系统 -- 文章摘要和评论审核场景应该有活动的 API - ---- - -### 2. 详细功能测试 ✅ - -**测试文件**: `test-unified-api-system.php` - -**访问方式**: -``` -https://your-site.com/wp-content/themes/argon/test-unified-api-system.php -``` - -**检查项目**: -- [ ] 函数存在性检查通过 -- [ ] 数据迁移成功 -- [ ] API 配置列表正确显示 -- [ ] 旧数据检查正常 -- [ ] 场景化 API 测试通过 -- [ ] 向后兼容性测试通过 - -**预期结果**: -- 所有测试项显示绿色 ✓ -- 测试总结显示"✓ 统一 API 管理系统已就绪!" - ---- - -### 3. AI 功能实际测试 - -#### 3.1 文章摘要测试 - -**步骤**: -1. 确保已配置文章摘要的活动 API -2. 创建或编辑一篇文章 -3. 发布文章 -4. 查看文章页面,检查是否显示 AI 摘要 - -**检查点**: -- [ ] AI 摘要正常生成 -- [ ] 使用的是正确的 API(检查日志) -- [ ] 没有错误信息 - -**如果失败**: -- 检查 WordPress 错误日志 -- 查看文章的 `_argon_ai_summary_error` meta -- 确认 API 密钥和端点正确 - -#### 3.2 评论审核测试 - -**步骤**: -1. 确保已配置评论审核的活动 API -2. 启用 AI 垃圾评论检测 -3. 发表一条测试评论 -4. 检查评论是否被正确处理 - -**检查点**: -- [ ] AI 检测正常工作 -- [ ] 使用的是正确的 API -- [ ] 检测结果合理 - -**如果失败**: -- 检查 WordPress 错误日志 -- 查看评论的 meta 数据 -- 确认 API 密钥和端点正确 - ---- - -### 4. 小米 Mimo API 专项测试 - -**背景**: 用户反馈小米 Mimo 无法使用 - -**测试步骤**: - -#### 4.1 检查配置 -```php -// 在 test-system-status.php 中查看 -// 小米 Mimo 的配置是否正确 -``` - -**检查点**: -- [ ] API 密钥格式正确 -- [ ] 端点是否为 `https://api.mimo.xiaomi.com/v1/chat/completions` -- [ ] 模型是否为 `MiMo-V2-Flash` 或其他有效模型 - -#### 4.2 手动测试 API - -创建测试脚本 `test-xiaomi-api.php`: - -```php - $model, - 'messages' => [ - [ - 'role' => 'user', - 'content' => '你好,这是一个测试。请回复"测试成功"。' - ] - ], - 'max_tokens' => 100 -]; - -$response = wp_remote_post($api_endpoint, [ - 'headers' => [ - 'Content-Type' => 'application/json', - 'Authorization' => 'Bearer ' . $api_key - ], - 'body' => json_encode($data), - 'timeout' => 30 -]); - -echo ''; -echo 'API 端点: ' . $api_endpoint . "\n"; -echo '模型: ' . $model . "\n"; -echo 'API 密钥: ' . substr($api_key, 0, 12) . '...' . "\n"; -echo ''; - -echo '
错误: ' . $response->get_error_message() . '
'; -} else { - $status_code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - - echo '状态码: ' . $status_code . '
'; - echo '' . htmlspecialchars($body) . ''; - - if ($status_code === 200) { - $result = json_decode($body, true); - if (isset($result['choices'][0]['message']['content'])) { - echo '
✓ API 调用成功!
'; - echo 'AI 回复: ' . htmlspecialchars($result['choices'][0]['message']['content']) . '
'; - } - } else { - echo '✗ API 调用失败
'; - } -} -?> -``` - -**检查点**: -- [ ] API 返回 200 状态码 -- [ ] 响应包含有效的 JSON -- [ ] 能够正确解析 AI 回复 - -**常见问题**: -1. **401 Unauthorized**: API 密钥无效或过期 -2. **403 Forbidden**: API 密钥没有权限 -3. **404 Not Found**: API 端点错误 -4. **429 Too Many Requests**: 超过速率限制 -5. **500 Internal Server Error**: 服务器错误 - ---- - -### 5. 向后兼容性测试 - -**测试场景**: 确保旧代码仍然能正常工作 - -**测试步骤**: - -1. **测试旧的 API 获取函数**: -```php -// 在 test-unified-api-system.php 中已包含 -$old_config = argon_get_ai_provider_config('openai'); -``` - -**检查点**: -- [ ] 函数返回有效配置 -- [ ] 配置包含 api_key, api_endpoint, model, provider -- [ ] 如果新系统有数据,优先使用新系统 -- [ ] 如果新系统无数据,回退到旧系统 - -2. **测试多 API 管理函数**: -```php -// 旧的多 API 函数应该仍然可用 -$openai_apis = argon_get_provider_apis('openai'); -$active_api = argon_get_active_api('openai'); -``` - -**检查点**: -- [ ] 旧函数仍然可用 -- [ ] 返回的数据格式正确 - ---- - -### 6. 错误日志检查 - -**位置**: -- WordPress 调试日志: `wp-content/debug.log` -- 服务器错误日志: 根据服务器配置 - -**检查内容**: -- [ ] 没有 PHP Fatal Error -- [ ] 没有 PHP Warning(除非是已知的) -- [ ] 没有 AI API 调用错误 -- [ ] 没有数据迁移错误 - -**如何启用调试**: -在 `wp-config.php` 中添加: -```php -define('WP_DEBUG', true); -define('WP_DEBUG_LOG', true); -define('WP_DEBUG_DISPLAY', false); -``` - ---- - -## 📊 测试结果记录 - -### 系统状态 -- [ ] ✅ 通过 -- [ ] ⚠️ 部分通过(记录问题) -- [ ] ❌ 失败(记录错误) - -**问题记录**: -``` -问题 1: [描述] -- 错误信息: -- 复现步骤: -- 预期行为: -- 实际行为: - -问题 2: [描述] -... -``` - -### AI 功能测试 -- [ ] ✅ 文章摘要正常 -- [ ] ✅ 评论审核正常 -- [ ] ✅ 小米 Mimo 正常 - -**问题记录**: -``` -[如有问题,在此记录] -``` - -### 向后兼容性 -- [ ] ✅ 旧函数正常工作 -- [ ] ✅ 数据迁移成功 -- [ ] ✅ 回退机制正常 - ---- - -## 🔧 问题排查指南 - -### 问题 1: 数据迁移失败 - -**症状**: `argon_ai_apis_migrated` 为 'false' - -**排查步骤**: -1. 检查是否有旧数据 -2. 查看错误日志 -3. 手动执行迁移函数 -4. 检查数据库权限 - -**解决方案**: -```php -// 手动触发迁移 -delete_option('argon_ai_apis_migrated'); -argon_migrate_ai_apis(); -``` - -### 问题 2: API 配置为空 - -**症状**: `argon_get_all_apis()` 返回空数组 - -**排查步骤**: -1. 检查是否有旧配置 -2. 检查数据迁移状态 -3. 查看数据库中的 `argon_ai_apis` 选项 - -**解决方案**: -- 如果有旧配置但未迁移,手动触发迁移 -- 如果没有旧配置,需要在设置页面添加新配置 - -### 问题 3: AI 功能不工作 - -**症状**: 文章摘要或评论审核不生成结果 - -**排查步骤**: -1. 检查是否配置了活动 API -2. 检查 API 密钥是否有效 -3. 查看错误日志 -4. 测试 API 连通性 - -**解决方案**: -- 确保设置了活动 API -- 验证 API 密钥和端点 -- 检查网络连接 -- 查看 API 提供商的状态 - -### 问题 4: 小米 Mimo 无法使用 - -**可能原因**: -1. API 密钥格式错误 -2. API 端点错误 -3. 模型名称错误 -4. 网络连接问题 -5. API 配额用尽 - -**排查步骤**: -1. 使用 `test-xiaomi-api.php` 测试 -2. 检查 API 密钥格式(应该是 `sk-` 开头) -3. 确认端点为 `https://api.mimo.xiaomi.com/v1/chat/completions` -4. 确认模型为 `MiMo-V2-Flash` -5. 查看详细的错误响应 - ---- - -## ✅ 测试通过标准 - -满足以下条件即可进入第三阶段(UI 重构): - -1. **核心功能**: - - [x] 所有核心函数正常工作 - - [x] 数据迁移成功 - - [x] API 配置正确存储和读取 - -2. **AI 功能**: - - [ ] 文章摘要正常生成 - - [ ] 评论审核正常工作 - - [ ] 至少一个 AI 提供商可用 - -3. **向后兼容**: - - [x] 旧函数仍然可用 - - [x] 旧数据已备份 - - [x] 回退机制正常 - -4. **无严重错误**: - - [ ] 没有 PHP Fatal Error - - [ ] 没有数据丢失 - - [ ] 没有功能退化 - ---- - -## 📝 测试完成后的行动 - -### 如果测试通过 ✅ -1. 更新文档,记录测试结果 -2. 准备进入第三阶段(UI 重构) -3. 创建 Git 分支用于 UI 开发 - -### 如果测试失败 ❌ -1. 记录所有问题和错误信息 -2. 分析问题原因 -3. 修复问题 -4. 重新测试 -5. 确认修复后再进入下一阶段 - ---- - -## 🔗 相关文件 - -- `test-system-status.php` - 快速状态检查 -- `test-unified-api-system.php` - 详细功能测试 -- `test-xiaomi-api.php` - 小米 Mimo 专项测试(需创建) -- `functions.php` - 核心函数实现 -- `.kiro/steering/phase-1-complete.md` - 第一阶段总结 -- `.kiro/steering/ai-refactor-next-steps.md` - 下一步计划 - ---- - -## 📞 需要帮助? - -如果在测试过程中遇到问题,请提供: -1. 测试脚本的完整输出 -2. WordPress 错误日志内容 -3. 具体的错误信息和截图 -4. 复现步骤 - -我将帮助您分析和解决问题。 diff --git a/.kiro/steering/phase-3-implementation-plan.md b/.kiro/steering/phase-3-implementation-plan.md deleted file mode 100644 index 451f448..0000000 --- a/.kiro/steering/phase-3-implementation-plan.md +++ /dev/null @@ -1,210 +0,0 @@ -# 第三阶段:UI 重构实施计划 - -## 📅 开始时间 -2026-01-26 - -## 🎯 实施目标 - -完成 settings.php 的 UI 重构,移除旧代码和向后兼容逻辑,实现统一的 AI 功能管理界面。 - -## 📋 实施步骤 - -### 步骤 1:添加补充的 AJAX 函数到 functions.php - -需要添加的函数: -- `argon_ajax_get_unified_api()` - 获取单个 API 配置 -- `argon_ajax_test_unified_api()` - 测试 API 连通性 - -**文件位置**: `tmp/additional-ajax-functions.php` - -**插入位置**: functions.php 的 AJAX 函数区域(约第 8900 行之后) - -### 步骤 2:在 settings.php 中插入新的 AI 功能部分 - -**插入位置**: 第 1985 行之前(在"文章功能"分类之前) - -**内容来源**: -- `tmp/new-ai-settings-section.php` - HTML 结构 -- `tmp/new-ai-settings-js.php` - JavaScript 交互代码 - -**需要包含的部分**: -1. AI 功能 h1 标题 -2. API 管理 (h2) - - 已配置的 API 列表 - - 添加/编辑 API 表单 -3. 文章摘要 (h2) - - 启用开关 - - 选择 API - - Prompt 设置 - - 排除文章 ID - - 清除缓存按钮 -4. 评论审核 (h2) - - 启用开关 - - 选择 API - - 其他设置(保留原有) - -### 步骤 3:移除旧的 AI 设置代码 - -#### 3.1 移除文章功能中的旧 AI 摘要设置 -**位置**: settings.php 第 1989-2600 行左右 - -**需要移除的内容**: -- 启用 AI 文章摘要 -- AI 服务商选择 -- 10 个提供商的多 API 配置界面 -- 摘要提示词 -- 排除文章 ID -- 清除缓存按钮 - -**保留的内容**: -- 其他文章功能设置(脚注、分享、目录等) - -#### 3.2 移除评论设置中的旧 AI 识别部分 -**位置**: settings.php 第 4665-4900 行左右 - -**需要移除的内容**: -- 启用 AI 识别 -- 检测策略 -- 关键字管理 -- Prompt 模式等 - -**注意**: 这些设置会在新的"评论审核"部分重新添加 - -### 步骤 4:更新选项保存逻辑 - -**位置**: settings.php 末尾的 `argon_update_themeoptions()` 函数 - -**需要移除的保存逻辑**: -```php -// 移除 -argon_update_option('argon_ai_summary_provider'); - -// 移除所有提供商的 API 配置保存 -// argon_ai_openai_apis, argon_ai_anthropic_apis 等 -``` - -**需要添加的保存逻辑**: -```php -// 场景化 API 设置 -argon_update_option('argon_ai_summary_active_api'); -argon_update_option('argon_ai_spam_active_api'); -``` - -### 步骤 5:移除 functions.php 中的向后兼容代码 - -**需要移除的内容**: - -1. **旧的多 API 管理函数** (约第 7000-7150 行): - - `argon_get_provider_apis()` - - `argon_get_active_api()` - - `argon_add_provider_api()` - - `argon_update_provider_api()` - - `argon_delete_provider_api()` - - `argon_set_active_api()` - -2. **数据迁移函数** (约第 7200-7250 行): - - `argon_migrate_ai_apis()` - - `add_action('after_setup_theme', 'argon_migrate_ai_apis')` - -3. **argon_get_ai_provider_config() 中的向后兼容逻辑**: - - 移除回退到旧系统的代码 - - 只保留从新系统获取配置的逻辑 - -4. **argon_get_active_api_config() 中的向后兼容逻辑**: - - 移除最后的回退代码 - -**保留的内容**: -- 所有统一 API 管理函数 -- 所有新的 AJAX 函数 - -### 步骤 6:清理测试文件 - -**可以删除的文件**: -- `test-system-status.php` -- `test-unified-api-system.php` -- `tmp/ai-settings-new-structure.php` -- `tmp/new-ai-settings-section.php` -- `tmp/new-ai-settings-js.php` -- `tmp/additional-ajax-functions.php` - -**保留的文件**: -- 所有 steering 文档(作为历史记录) - -## 🔍 验证清单 - -### 功能验证 -- [ ] 可以添加新 API -- [ ] 可以编辑 API -- [ ] 可以删除 API -- [ ] 可以测试 API 连通性 -- [ ] 可以刷新模型列表 -- [ ] 文章摘要可以选择 API -- [ ] 评论审核可以选择 API -- [ ] 不同场景可以使用不同 API -- [ ] 清除摘要缓存功能正常 - -### 数据验证 -- [ ] 旧数据已迁移到新系统 -- [ ] 设置保存后正确存储 -- [ ] 刷新页面后配置保持 -- [ ] AI 功能正常工作 - -### 界面验证 -- [ ] 新界面显示正常 -- [ ] 响应式布局正常 -- [ ] 交互动画流畅 -- [ ] 错误提示清晰 - -## ⚠️ 注意事项 - -1. **备份**: 在每一步之前都要备份文件 -2. **测试**: 每完成一步都要测试功能 -3. **Git**: 每完成一个步骤就提交一次 -4. **回滚**: 如果出现问题,立即回滚到上一个提交 - -## 📊 预计时间 - -- 步骤 1: 10 分钟 -- 步骤 2: 30 分钟 -- 步骤 3: 20 分钟 -- 步骤 4: 10 分钟 -- 步骤 5: 20 分钟 -- 步骤 6: 5 分钟 -- 测试验证: 30 分钟 - -**总计**: 约 2 小时 - -## 🎉 完成标志 - -当以下条件全部满足时,第三阶段完成: - -1. ✅ 新的 AI 功能界面正常显示 -2. ✅ 所有 API 管理功能正常工作 -3. ✅ 文章摘要和评论审核功能正常 -4. ✅ 旧代码已完全移除 -5. ✅ 向后兼容代码已移除 -6. ✅ 所有测试通过 -7. ✅ Git 提交完成 - -## 📝 Git 提交计划 - -``` -commit 1: feat: 添加统一 API 管理的补充 AJAX 函数 -commit 2: feat: 在 settings.php 中添加新的 AI 功能界面 -commit 3: refactor: 移除 settings.php 中的旧 AI 设置代码 -commit 4: refactor: 更新选项保存逻辑 -commit 5: refactor: 移除 functions.php 中的向后兼容代码 -commit 6: chore: 清理临时测试文件 -commit 7: docs: 更新 AI 设置重构完成文档 -``` - -## 🔗 相关文件 - -- `functions.php` - 核心函数 -- `settings.php` - 设置页面 -- `tmp/additional-ajax-functions.php` - 补充函数 -- `tmp/new-ai-settings-section.php` - 新界面 HTML -- `tmp/new-ai-settings-js.php` - 新界面 JS -- `.kiro/steering/phase-1-complete.md` - 第一阶段总结 -- `.kiro/steering/phase-2-testing-guide.md` - 第二阶段测试指南 -- `.kiro/steering/ai-refactor-next-steps.md` - 下一步计划 diff --git a/.kiro/steering/settings-optimization-summary.md b/.kiro/steering/settings-optimization-summary.md deleted file mode 100644 index 64026db..0000000 --- a/.kiro/steering/settings-optimization-summary.md +++ /dev/null @@ -1,180 +0,0 @@ -# 设置页优化总结 - -## 已完成的优化 - -### 阶段一:子分类命名优化 ✅ (commit a9860af) - -已成功优化以下子分类名称,使其更加简洁明确: - -| 原名称 | 新名称 | 优化说明 | -|--------|--------|----------| -| 各场景验证码 | 场景验证码 | 去除冗余的"各"字 | -| 标题 | 顶栏标题 | 增加"顶栏"前缀,更明确 | -| 文章内标题样式 | 标题样式 | 去除冗余的"文章内"前缀 | -| 左侧栏文章目录 | 文章目录 | 去除冗余的"左侧栏"前缀 | -| 文末附加内容 | 文末内容 | 去除冗余的"附加"二字 | -| 文章头图 (特色图片) | 文章头图 | 去除括号说明 | -| 其他 | 过时提示 | 更明确的功能描述 | - -### 阶段二:删除重复项和结构重组 ✅ - -#### 1. 删除重复的日期格式设置 (commit e667a22) -- 删除了高级设置中重复的日期格式子分类 -- 减少16行重复内容 - -#### 2. 动画效果重组 (commit c9e2c7d) -- 将动画效果从"功能增强"移到"外观样式" -- 包含平滑滚动、进入文章动画、Pjax动画三个设置项 -- 删除杂项中重复的动画效果设置 - -#### 3. 删除错误的顶栏设置 (commit 1c615dd) -- 删除第685-792行之间错误的顶栏设置标题 -- 删除错误放置的CDN、子目录、日期格式设置 -- 减少107行重复内容 - -#### 4. 完成结构重组 (commit 2864082) -- 在基础设置中添加子目录设置 -- 创建新的"SEO与性能"分类(第9个分类) -- 在SEO与性能中添加SEO、CDN加速、日期格式三个子分类 -- CDN和日期格式设置已从错误位置移到正确分类 - -#### 5. 修正分类编号 (commit ee2976d) -- 将验证码与安全的编号从15改为16 -- 所有一级分类编号现在正确(1-16) - -### 优化效果 - -- **提升可读性**:命名更加简洁,用户一眼就能理解功能 -- **减少冗余**:删除了123行重复内容 -- **增强明确性**:模糊的命名改为具体的功能描述 -- **结构更合理**:创建了"SEO与性能"新分类,逻辑更清晰 -- **保持兼容性**:所有 ID 和 name 属性保持不变 - -## 优化后的完整结构 - -``` -1. 基础设置 (section-basic) ✅ - ├── 主题色 (subsection-theme-color) - ├── 夜间模式 (subsection-dark-mode) - └── 子目录 (subsection-subdirectory) [新增] - -2. 外观样式 (section-appearance) ✅ - ├── 卡片样式 (subsection-card-style) - ├── 字体 (subsection-font) - └── 动画效果 (subsection-animation) [从功能增强移入] - -3. 页面布局 (section-layout) - └── 整体布局 (subsection-page-layout) - -4. 顶栏设置 (section-toolbar) - ├── 基本设置 (subsection-toolbar-basic) - ├── 顶栏标题 (subsection-toolbar-title) [已优化命名] - ├── 顶栏图标 (subsection-toolbar-icon) - ├── 顶栏外观 (subsection-toolbar-appearance) - └── 自定义链接 (subsection-toolbar-links) - -5. Banner 设置 (section-banner) - ├── Banner 内容 (subsection-banner-content) - ├── Banner 外观 (subsection-banner-appearance) - └── Banner 动画 (subsection-banner-animation) - -6. 页面背景 (section-background) - ├── 背景图片 (subsection-background-image) - └── 透明度与毛玻璃 (subsection-transparency) - -7. 侧边栏 (section-sidebar) - ├── 作者信息 (subsection-author-info) - ├── 扩展功能 (subsection-sidebar-features) - └── 博客公告 (subsection-announcement) - -8. 浮动按钮与页脚 (section-fab-footer) - ├── 浮动操作按钮 (subsection-fab) - └── 页脚 (subsection-footer) - -9. SEO 与性能 (section-seo-performance) ✅ [新建] - ├── SEO (subsection-seo) - ├── CDN 加速 (subsection-cdn) [从错误位置移入] - └── 日期格式 (subsection-date-format) [从错误位置移入] - -10. 文章显示 (section-post-display) - ├── Meta 信息 (subsection-post-meta) - ├── 文章头图 (subsection-thumbnail) [已优化命名] - ├── 标题样式 (subsection-title-style) [已优化命名] - └── 过时提示 (subsection-post-other) [已优化命名] - -11. 文章功能 (section-post-features) - ├── AI 文章摘要 (subsection-ai-summary) - ├── 脚注引用 (subsection-footnote) - ├── 分享 (subsection-share) - ├── 文章目录 (subsection-toc) [已优化命名] - ├── 赞赏 (subsection-donate) - ├── 文末内容 (subsection-post-footer) [已优化命名] - └── 相似推荐 (subsection-related-posts) - -12. 特殊页面 (section-special-pages) - ├── 搜索设置 (subsection-search) - ├── 归档页面 (subsection-archive) - └── 友情链接 (subsection-friend-links) - -13. 功能增强 (section-enhancements) ✅ - ├── 代码高亮 (subsection-code-highlight) - ├── 数学公式 (subsection-math) - ├── Lazyload (subsection-lazyload) - ├── 图片放大 (subsection-lightbox) - └── Pangu.js (subsection-pangu) - [动画效果已移到外观样式] - -14. 高级设置 (section-advanced) ✅ - ├── 自定义脚本 (subsection-scripts) - └── 杂项 (subsection-misc) - [SEO、CDN、日期格式已移到SEO与性能] - -15. 评论设置 (section-comment) - ├── 评论分页 (subsection-comment-pagination) - ├── 发送评论 (subsection-comment-submit) - ├── 评论功能 (subsection-comment-features) - └── 评论区外观 (subsection-comment-appearance) - -16. 验证码与安全 (section-security) ✅ - ├── 验证码设置 (subsection-captcha) - ├── 场景验证码 (subsection-captcha-scenes) [已优化命名] - └── 速率限制 (subsection-rate-limit) -``` - -## Git 提交历史 - -1. **a9860af** - feat: 优化设置页子分类命名 -2. **e667a22** - feat: 删除高级设置中重复的日期格式设置 -3. **c9e2c7d** - feat: 将动画效果从功能增强移到外观样式 -4. **1c615dd** - feat: 删除重复的顶栏设置标题及错误放置的设置项 -5. **2864082** - feat: 完成设置页结构重组 -6. **ee2976d** - fix: 修正验证码与安全分类的编号 - -## 统计数据 - -- **原始文件**: 6670 行 -- **优化后**: 6757 行 -- **删除重复内容**: 123 行 -- **新增内容**: 210 行 (子目录设置 + SEO与性能分类) -- **优化的子分类**: 7 个 -- **新建的一级分类**: 1 个 (SEO与性能) -- **重组的子分类**: 4 个 (子目录、动画效果、CDN、日期格式) - -## 注意事项 - -1. **保持兼容性** ✅:所有设置项的 `name` 属性保持不变 -2. **保持 ID 不变** ✅:所有 `section-*` 和 `subsection-*` ID 保持不变 -3. **备份文件** ✅:已创建 `settings.php.backup` 备份文件 -4. **Git 版本控制** ✅:每个修改都有独立的 commit,可随时回滚 - -## 文件信息 - -- **原始文件**:`settings.php` (6670 行) -- **优化后文件**:`settings.php` (6757 行) -- **备份文件**:`settings.php.backup` -- **优化脚本**: - - `optimize_settings.py` (步骤1) - - `optimize_settings_step3.py` (步骤2) - - `optimize_settings_final.py` (步骤3) -- **修改时间**:2026-01-22 -- **最后提交**:ee2976d diff --git a/.kiro/steering/settings-page-structure.md b/.kiro/steering/settings-page-structure.md deleted file mode 100644 index cf98c9d..0000000 --- a/.kiro/steering/settings-page-structure.md +++ /dev/null @@ -1,126 +0,0 @@ -# Argon 主题设置页结构优化方案 - -## 优化后的分类结构 - -``` -1. 基础设置 (section-basic) - ├── 主题色 (subsection-theme-color) - ├── 夜间模式 (subsection-dark-mode) - └── 子目录 (subsection-subdirectory) - -2. 外观样式 (section-appearance) - ├── 卡片样式 (subsection-card-style) - ├── 字体 (subsection-font) - └── 动画效果 (subsection-animation) - -3. 页面布局 (section-layout) - └── 整体布局 (subsection-page-layout) - -4. 顶栏设置 (section-toolbar) - ├── 基本设置 (subsection-toolbar-basic) - ├── 顶栏标题 (subsection-toolbar-title) - ├── 顶栏图标 (subsection-toolbar-icon) - ├── 顶栏外观 (subsection-toolbar-appearance) - └── 自定义链接 (subsection-toolbar-links) - -5. Banner 设置 (section-banner) - ├── Banner 内容 (subsection-banner-content) - ├── Banner 外观 (subsection-banner-appearance) - └── Banner 动画 (subsection-banner-animation) - -6. 页面背景 (section-background) - ├── 背景图片 (subsection-background-image) - └── 透明度与毛玻璃 (subsection-transparency) - -7. 侧边栏 (section-sidebar) - ├── 作者信息 (subsection-author-info) - ├── 扩展功能 (subsection-sidebar-features) - └── 博客公告 (subsection-announcement) - -8. 浮动按钮与页脚 (section-fab-footer) - ├── 浮动操作按钮 (subsection-fab) - └── 页脚 (subsection-footer) - -9. SEO 与性能 (section-seo-performance) - ├── SEO (subsection-seo) - ├── CDN 加速 (subsection-cdn) - └── 日期格式 (subsection-date-format) - -10. 文章显示 (section-post-display) - ├── Meta 信息 (subsection-post-meta) - ├── 文章头图 (subsection-thumbnail) - ├── 标题样式 (subsection-title-style) - └── 过时提示 (subsection-post-other) - -11. 文章功能 (section-post-features) - ├── AI 文章摘要 (subsection-ai-summary) - ├── 脚注引用 (subsection-footnote) - ├── 分享 (subsection-share) - ├── 文章目录 (subsection-toc) - ├── 赞赏 (subsection-donate) - ├── 文末内容 (subsection-post-footer) - └── 相似推荐 (subsection-related-posts) - -12. 特殊页面 (section-special-pages) - ├── 搜索设置 (subsection-search) - ├── 归档页面 (subsection-archive) - └── 友情链接 (subsection-friend-links) - -13. 功能增强 (section-enhancements) - ├── 代码高亮 (subsection-code-highlight) - ├── 数学公式 (subsection-math) - ├── Lazyload (subsection-lazyload) - ├── 图片放大 (subsection-lightbox) - └── Pangu.js (subsection-pangu) - -14. 高级设置 (section-advanced) - ├── 自定义脚本 (subsection-scripts) - └── 杂项 (subsection-misc) - -15. 评论设置 (section-comment) - ├── 评论分页 (subsection-comment-pagination) - ├── 发送评论 (subsection-comment-submit) - ├── 评论功能 (subsection-comment-features) - ├── AI 垃圾评论识别 (subsection-comment-spam-detection) - └── 评论区外观 (subsection-comment-appearance) - -16. 验证码与安全 (section-security) - ├── 验证码设置 (subsection-captcha) - ├── 场景验证码 (subsection-captcha-scenes) - ├── 反馈设置 (subsection-feedback) - └── 速率限制 (subsection-rate-limit) -``` - -## 主要优化点 - -### 1. 结构调整 -- **拆分"高级设置"**:将 SEO、CDN、日期格式独立为"SEO 与性能"分类 -- **优化"特殊页面"**:将搜索设置提前,更符合使用频率 -- **细化"验证码与安全"**:增加反馈设置子分类 -- **完善"评论设置"**:增加 AI 垃圾评论识别子分类 - -### 2. 命名优化 -- "各场景验证码" → "场景验证码"(更简洁) -- "标题" → "顶栏标题"(更明确) -- "文章内标题样式" → "标题样式"(更简洁) -- "左侧栏文章目录" → "文章目录"(更简洁) -- "文末附加内容" → "文末内容"(更简洁) -- "文章头图 (特色图片)" → "文章头图"(更简洁) -- "其他" → "过时提示"(更明确) -- "归档外观" → 合并到"归档页面" -- "归档配置" → 合并到"归档页面" -- "CDN" → "CDN 加速"(更明确) - -### 3. 逻辑优化 -- 将"子目录"从原"高级设置"移到"基础设置" -- 将"动画效果"从"功能增强"移到"外观样式" -- 将"日期格式"从原位置移到"SEO 与性能" -- 将"自定义脚本"保留在"高级设置" -- 新增"评论区外观"子分类 - -## 实施说明 - -1. 保持所有设置项的 ID 不变,确保兼容性 -2. 只调整分类标题和层级结构 -3. 优化后的结构更符合用户使用习惯 -4. 减少了重复和冗余的分类 diff --git a/.kiro/steering/settings-reorganize-final-summary.md b/.kiro/steering/settings-reorganize-final-summary.md deleted file mode 100644 index 264edd0..0000000 --- a/.kiro/steering/settings-reorganize-final-summary.md +++ /dev/null @@ -1,168 +0,0 @@ -# Settings.php 完整重组总结 - -## 重组完成情况 ✅ - -已成功完成设置页的完整重组,从原来的16个分类扩展到18个分类,结构更加合理清晰。 - -## 最终分类结构(18个一级分类) - -``` -1. 基础设置 (section-basic) - ├── 主题色 (subsection-theme-color) - ├── 夜间模式 (subsection-dark-mode) - └── 子目录 (subsection-subdirectory) - -2. 外观样式 (section-appearance) - ├── 卡片样式 (subsection-card-style) - ├── 字体 (subsection-font) - └── 动画效果 (subsection-animation) - -3. 页面布局 (section-layout) - └── 整体布局 (subsection-page-layout) - -4. 顶栏设置 (section-toolbar) - ├── 基本设置 (subsection-toolbar-basic) - ├── 顶栏标题 (subsection-toolbar-title) - ├── 顶栏图标 (subsection-toolbar-icon) - ├── 顶栏外观 (subsection-toolbar-appearance) - └── 自定义链接 (subsection-toolbar-links) - -5. Banner 设置 (section-banner) - ├── Banner 内容 (subsection-banner-content) - ├── Banner 外观 (subsection-banner-appearance) - └── Banner 动画 (subsection-banner-animation) - -6. 页面背景 (section-background) - ├── 背景图片 (subsection-background-image) - └── 透明度与毛玻璃 (subsection-transparency) - -7. 侧边栏 (section-sidebar) - ├── 作者信息 (subsection-author-info) - ├── 扩展功能 (subsection-sidebar-features) - └── 博客公告 (subsection-announcement) - -8. 浮动按钮 (section-fab) [新建] - └── 浮动操作按钮 (subsection-fab) - -9. 页脚设置 (section-footer) [新建] - └── 页脚 (subsection-footer) - -10. SEO 与性能 (section-seo-performance) - ├── SEO (subsection-seo) - ├── CDN 加速 (subsection-cdn) - └── 日期格式 (subsection-date-format) - -11. 文章显示 (section-post-display) - ├── Meta 信息 (subsection-post-meta) - └── 文章头图 (subsection-thumbnail) - -12. 文章功能 (section-post-features) - ├── AI 文章摘要 (subsection-ai-summary) - ├── 脚注引用 (subsection-footnote) - ├── 分享 (subsection-share) - ├── 文章目录 (subsection-toc) - ├── 赞赏 (subsection-donate) - ├── 文末内容 (subsection-post-footer) - ├── 相似推荐 (subsection-related-posts) - ├── 标题样式 (subsection-title-style) [从文章显示移入] - └── 过时提示 (subsection-post-other) [从文章显示移入] - -13. 特殊页面 (section-special-pages) - ├── 搜索设置 (subsection-search) - ├── 归档页面 (subsection-archive) - └── 友情链接 (subsection-friend-links) - -14. 功能增强 (section-enhancements) - ├── 代码高亮 (subsection-code-highlight) - ├── 数学公式 (subsection-math) - ├── Lazyload (subsection-lazyload) - ├── 图片放大 (subsection-lightbox) - └── Pangu.js (subsection-pangu) - -15. 高级设置 (section-advanced) - ├── 自定义脚本 (subsection-scripts) - └── 杂项 (subsection-misc) - -16. 评论设置 (section-comment) - ├── 评论分页 (subsection-comment-pagination) - ├── 发送评论 (subsection-comment-submit) - ├── 评论功能 (subsection-comment-features) [从验证码与安全移入] - ├── AI 垃圾评论识别 (subsection-comment-spam-detection) [从验证码与安全移入] - └── 评论区外观 (subsection-comment-appearance) [从验证码与安全移入] - -17. 验证码设置 (section-captcha) [重命名] - ├── 验证码配置 (subsection-captcha) - └── 场景验证码 (subsection-captcha-scenes) - -18. 反馈与安全 (section-feedback-security) [新建] - ├── 反馈设置 (subsection-feedback) [从验证码与安全移入] - └── 速率限制 (subsection-rate-limit) [从验证码与安全移入] -``` - -## 主要改进 - -### 1. 拆分混杂的分类 -- **浮动按钮与页脚** → 拆分为"浮动按钮"和"页脚设置"两个独立分类 -- **验证码与安全** → 拆分为"验证码设置"和"反馈与安全"两个分类 - -### 2. 移动错位的设置项 -- 评论功能、AI垃圾评论识别、评论区外观 → 从"验证码与安全"移到"评论设置" -- 标题样式、过时提示 → 从"文章显示"移到"文章功能" -- 页脚设置 → 从"特殊页面"移到独立的"页脚设置"分类 - -### 3. 删除重复内容 -- 删除重复的子目录设置(32行) -- 删除特殊页面中错误的页脚设置(15行) -- 删除重复的CDN和日期格式设置(88行) -- 总计删除135行重复内容 - -### 4. 优化命名 -- "验证码设置"子分类 → "验证码配置"(更明确) -- "CDN" → "CDN 加速" -- 7个子分类命名优化(场景验证码、顶栏标题等) - -## Git 提交历史 - -1. **c68d47b** - fix: 删除SEO与性能分类中重复的CDN和日期格式设置 -2. **3104cad** - fix: 删除重复的子目录和页脚设置 -3. **0fb1d11** - feat: 拆分浮动按钮与页脚为独立分类 -4. **b471bbc** - feat: 完成设置页完整重组 - -## 统计数据 - -- **原始文件**: 6670 行 -- **最终文件**: 6655 行 -- **删除重复内容**: 135 行 -- **新增内容**: 120 行(新分类标题和页脚设置) -- **净减少**: 15 行 -- **优化的子分类**: 8 个 -- **新建的一级分类**: 3 个(浮动按钮、页脚设置、反馈与安全) -- **重命名的一级分类**: 1 个(验证码与安全 → 验证码设置) -- **重组的子分类**: 7 个 - -## 优化效果 - -### 逻辑更清晰 -- 每个分类职责单一,不再混杂不相关的设置 -- 相关设置集中在一起,便于查找和管理 - -### 结构更合理 -- 18个一级分类,每个分类包含2-5个子分类 -- 分类层级清晰,符合用户使用习惯 - -### 无重复项 -- 删除所有重复的设置项和分类标题 -- 每个设置项只出现一次,避免混淆 - -### 保持兼容 -- 所有设置项的 `name` 属性保持不变 -- 所有 ID (`section-*` 和 `subsection-*`) 保持不变 -- 不影响现有配置和功能 - -## 文件信息 - -- **最终文件**: `settings.php` (6655 行) -- **备份文件**: `settings.php.backup` -- **重组脚本**: `reorganize_comment_settings.py` -- **完成时间**: 2026-01-22 -- **最后提交**: b471bbc diff --git a/.kiro/steering/settings-reorganize-plan-v2.md b/.kiro/steering/settings-reorganize-plan-v2.md deleted file mode 100644 index 0e5bd7c..0000000 --- a/.kiro/steering/settings-reorganize-plan-v2.md +++ /dev/null @@ -1,168 +0,0 @@ -# Settings.php 完整重新分类方案 - -## 当前问题分析 - -### 1. 分类不合理 -- **验证码与安全**:包含了评论功能、评论外观等不相关设置 -- **特殊页面**:页脚设置被错误放置在这里(出现两次) -- **浮动按钮与页脚**:页脚设置应该独立 -- **文章显示 vs 文章功能**:标题样式、过时提示放在了文章显示中,应该在文章功能 - -### 2. 重复的子分类 -- `subsection-subdirectory` 出现两次(第294行和第310行) -- `subsection-footer` 出现两次(第2539行和第2555行) -- `subsection-comment-features` 在验证码与安全分类中(第3766行),应该在评论设置中 - -### 3. 设置项错位 -- 评论功能设置(Markdown、编辑等)在"验证码与安全"中 -- 评论外观设置在"验证码与安全"中 -- AI 垃圾评论识别在"验证码与安全"中,应该在"评论设置"中 -- 页脚设置在"特殊页面"中 - -## 新的分类结构方案 - -``` -1. 基础设置 (section-basic) - ├── 主题色 (subsection-theme-color) - ├── 夜间模式 (subsection-dark-mode) - └── 子目录 (subsection-subdirectory) - -2. 外观样式 (section-appearance) - ├── 卡片样式 (subsection-card-style) - ├── 字体 (subsection-font) - └── 动画效果 (subsection-animation) - -3. 页面布局 (section-layout) - └── 整体布局 (subsection-page-layout) - -4. 顶栏设置 (section-toolbar) - ├── 基本设置 (subsection-toolbar-basic) - ├── 顶栏标题 (subsection-toolbar-title) - ├── 顶栏图标 (subsection-toolbar-icon) - ├── 顶栏外观 (subsection-toolbar-appearance) - └── 自定义链接 (subsection-toolbar-links) - -5. Banner 设置 (section-banner) - ├── Banner 内容 (subsection-banner-content) - ├── Banner 外观 (subsection-banner-appearance) - └── Banner 动画 (subsection-banner-animation) - -6. 页面背景 (section-background) - ├── 背景图片 (subsection-background-image) - └── 透明度与毛玻璃 (subsection-transparency) - -7. 侧边栏 (section-sidebar) - ├── 作者信息 (subsection-author-info) - ├── 扩展功能 (subsection-sidebar-features) - └── 博客公告 (subsection-announcement) - -8. 浮动按钮 (section-fab) [新建] - └── 浮动操作按钮 (subsection-fab) - -9. 页脚设置 (section-footer) [新建] - └── 页脚 (subsection-footer) - -10. SEO 与性能 (section-seo-performance) - ├── SEO (subsection-seo) - ├── CDN 加速 (subsection-cdn) - └── 日期格式 (subsection-date-format) - -11. 文章显示 (section-post-display) - ├── Meta 信息 (subsection-post-meta) - └── 文章头图 (subsection-thumbnail) - -12. 文章功能 (section-post-features) - ├── AI 文章摘要 (subsection-ai-summary) - ├── 脚注引用 (subsection-footnote) - ├── 分享 (subsection-share) - ├── 文章目录 (subsection-toc) - ├── 赞赏 (subsection-donate) - ├── 文末内容 (subsection-post-footer) - ├── 相似推荐 (subsection-related-posts) - ├── 标题样式 (subsection-title-style) [从文章显示移入] - └── 过时提示 (subsection-post-other) [从文章显示移入] - -13. 特殊页面 (section-special-pages) - ├── 搜索设置 (subsection-search) [新增] - ├── 归档页面 (subsection-archive) - └── 友情链接 (subsection-friend-links) - -14. 功能增强 (section-enhancements) - ├── 代码高亮 (subsection-code-highlight) - ├── 数学公式 (subsection-math) - ├── Lazyload (subsection-lazyload) - ├── 图片放大 (subsection-lightbox) - └── Pangu.js (subsection-pangu) - -15. 评论设置 (section-comment) - ├── 评论分页 (subsection-comment-pagination) - ├── 发送评论 (subsection-comment-submit) - ├── 评论功能 (subsection-comment-features) [从验证码与安全移入] - ├── AI 垃圾评论识别 (subsection-comment-spam-detection) [从验证码与安全移入] - └── 评论区外观 (subsection-comment-appearance) [从验证码与安全移入] - -16. 验证码设置 (section-captcha) [重命名] - ├── 验证码配置 (subsection-captcha) - └── 场景验证码 (subsection-captcha-scenes) - -17. 反馈与安全 (section-feedback-security) [新建] - ├── 反馈设置 (subsection-feedback) [从验证码与安全移入] - └── 速率限制 (subsection-rate-limit) [从验证码与安全移入] - -18. 高级设置 (section-advanced) - ├── 自定义脚本 (subsection-scripts) - └── 杂项 (subsection-misc) -``` - -## 主要调整说明 - -### 1. 拆分"浮动按钮与页脚" -- 浮动按钮 → 独立为"浮动按钮"分类 -- 页脚 → 独立为"页脚设置"分类 - -### 2. 拆分"验证码与安全" -- 验证码相关 → "验证码设置"分类 -- 反馈和速率限制 → "反馈与安全"分类 -- 评论功能/外观/AI识别 → 移到"评论设置"分类 - -### 3. 优化"文章显示"和"文章功能" -- 文章显示:只保留 Meta 信息和头图(纯展示相关) -- 文章功能:包含所有功能性设置(标题样式、过时提示等) - -### 4. 完善"特殊页面" -- 添加搜索设置子分类 -- 移除错误的页脚设置 - -### 5. 删除重复项 -- 删除重复的子目录设置 -- 删除重复的页脚设置 -- 删除重复的评论功能设置 - -## 实施步骤 - -### 步骤 1:删除重复的子分类 -1. 删除第310-324行的重复子目录设置 -2. 删除第2555-2569行的重复页脚设置 - -### 步骤 2:创建新的一级分类 -1. 拆分"浮动按钮与页脚"为两个独立分类 -2. 创建"反馈与安全"分类 - -### 步骤 3:移动设置项 -1. 将评论功能、AI垃圾评论识别、评论外观从"验证码与安全"移到"评论设置" -2. 将标题样式、过时提示从"文章显示"移到"文章功能" -3. 将反馈设置、速率限制从"验证码与安全"移到"反馈与安全" - -### 步骤 4:重命名分类 -1. "验证码与安全" → "验证码设置" - -### 步骤 5:调整编号 -1. 重新编号所有一级分类(1-18) - -## 优化效果 - -- **逻辑更清晰**:每个分类职责单一,不再混杂 -- **易于查找**:相关设置集中在一起 -- **结构合理**:18个一级分类,每个分类3-5个子分类 -- **无重复项**:删除所有重复的设置项 -- **保持兼容**:所有 ID 和 name 属性保持不变 diff --git a/.kiro/steering/settings-reorganize-plan.md b/.kiro/steering/settings-reorganize-plan.md deleted file mode 100644 index 003d21a..0000000 --- a/.kiro/steering/settings-reorganize-plan.md +++ /dev/null @@ -1,71 +0,0 @@ -# Settings.php 重组实施计划 - -## 当前问题 - -1. **重复的分类标题**: - - 第611行:`