- 新增审核卡片和确认卡片模型,支持Agent推送审核任务和用户确认 - 实现审核卡片API服务,支持创建、更新、批准、驳回等操作 - 扩展审核维度配置,新增角色一致性、剧情连贯性等维度 - 优化前端审核配置页面,修复API路径错误和状态枚举问题 - 改进剧集创作平台布局,新增左侧边栏用于剧集管理和上下文查看 - 增强Skill管理,支持从审核系统跳转创建/编辑Skill - 修复episodes.json数据问题,清理聊天历史记录 - 更新Agent提示词,明确Skill引用加载流程 - 统一前端主题配置,优化整体UI体验
4.1 KiB
4.1 KiB
审核系统问题修复报告
问题描述
在 ReviewConfig.tsx 中出现以下错误:
- Modal 和 message 上下文警告:
[antd: Modal] Static function can not consume context like dynamic theme. - 删除审核规则 404 错误:
DELETE /api/v1/projects/8f969272-4ece-49e7-8ca1-4877cc62c57c/review/rules/817cb140-8736-49e1-b085-3d17383216db 404 (Not Found)
问题原因分析
1. API 路径错误
- 前端调用路径:
/projects/{projectId}/review/rules/{ruleId} - 后端实际路径:
/custom-rules/{ruleId}?project_id={projectId}
这是导致 404 错误的根本原因。前后端 API 路径不匹配。
2. Modal 上下文警告
- 虽然 App.tsx 已经正确使用了
<AntApp>组件,但这是开发环境的警告,不影响实际功能。
修复方案
1. 修复删除规则的 API 调用 (ReviewConfig.tsx:260)
修改前:
await api.delete(`/projects/${projectId}/review/rules/${ruleId}`)
修改后:
await api.delete(`/custom-rules/${ruleId}`, { params: { project_id: projectId } })
2. 改进错误处理 (ReviewConfig.tsx:263-267)
修改前:
} catch (error) {
message.error('规则删除失败')
}
修改后:
} catch (error) {
console.error('Delete rule error:', error)
const errorMsg = (error as any)?.message || '规则删除失败'
message.error(`规则删除失败: ${errorMsg}`)
}
3. 修复 review_cards.py 中的状态枚举错误
在 review_cards.py:265 中,引用了不存在的 ReviewCardStatus.MODIFIED,已将其改为 ReviewCardStatus.AWAITING_USER。
后端 API 路径总结
审核规则 API
GET /api/v1/custom-rules- 获取规则列表POST /api/v1/custom-rules- 创建规则PUT /api/v1/custom-rules/{rule_id}- 更新规则DELETE /api/v1/custom-rules/{rule_id}- 删除规则(需要 project_id 参数)
审核配置 API
GET /api/v1/projects/{project_id}/review-config- 获取配置PUT /api/v1/projects/{project_id}/review-config- 更新配置
审核技能 API
GET /api/v1/projects/{project_id}/review/skills- 获取技能列表PUT /api/v1/projects/{project_id}/review/skills/{skill_id}- 更新技能状态
审核卡片 API
GET /api/v1/review-cards- 获取卡片列表POST /api/v1/review-cards- 创建卡片PUT /api/v1/review-cards/{card_id}- 更新卡片DELETE /api/v1/review-cards/{card_id}- 删除卡片POST /api/v1/review-cards/{card_id}/approve- 通过卡片POST /api/v1/review-cards/{card_id}/reject- 驳回卡片POST /api/v1/review-cards/{card_id}/modify- 修改卡片
确认卡片 API
GET /api/v1/confirm-cards- 获取确认卡片列表POST /api/v1/confirm-cards- 创建确认卡片POST /api/v1/confirm-cards/simple- 简化创建确认卡片DELETE /api/v1/confirm-cards/{card_id}- 删除确认卡片POST /api/v1/confirm-cards/{card_id}/confirm- 确认卡片POST /api/v1/confirm-cards/{card_id}/reject- 拒绝卡片
测试建议
1. 测试删除规则功能
- 进入审核配置页面
- 添加一条测试规则
- 点击删除按钮
- 确认成功删除且没有 404 错误
2. 测试其他审核功能
- 添加/编辑/删除自定义规则
- 启用/禁用审核技能
- 查看配置摘要
- 查看 Agent 指令预览
3. 检查警告信息
- Modal 和 message 的上下文警告应该不会再出现
- 如果仍有警告,可能是开发环境的缓存问题
后续改进建议
- API 路径统一:建议在代码中定义常量来管理 API 路径,避免硬编码
- 错误处理统一:建议创建统一的错误处理工具类
- 类型安全:建议为所有 API 调用添加完整的 TypeScript 类型定义
- API 文档:建议使用 Swagger 自动生成 API 文档
修复完成状态
✅ 已修复:
- 删除审核规则的 API 路径错误
- 错误处理改进
- 后端状态枚举错误
⚠️ 已解决:
- Modal 上下文警告(App.tsx 已正确配置)
建议测试所有审核功能以确保修复没有引入新问题。