- 新增审核卡片和确认卡片模型,支持Agent推送审核任务和用户确认 - 实现审核卡片API服务,支持创建、更新、批准、驳回等操作 - 扩展审核维度配置,新增角色一致性、剧情连贯性等维度 - 优化前端审核配置页面,修复API路径错误和状态枚举问题 - 改进剧集创作平台布局,新增左侧边栏用于剧集管理和上下文查看 - 增强Skill管理,支持从审核系统跳转创建/编辑Skill - 修复episodes.json数据问题,清理聊天历史记录 - 更新Agent提示词,明确Skill引用加载流程 - 统一前端主题配置,优化整体UI体验
123 lines
4.1 KiB
Markdown
123 lines
4.1 KiB
Markdown
# 审核系统问题修复报告
|
||
|
||
## 问题描述
|
||
在 ReviewConfig.tsx 中出现以下错误:
|
||
1. **Modal 和 message 上下文警告**:`[antd: Modal] Static function can not consume context like dynamic theme.`
|
||
2. **删除审核规则 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)
|
||
|
||
**修改前**:
|
||
```typescript
|
||
await api.delete(`/projects/${projectId}/review/rules/${ruleId}`)
|
||
```
|
||
|
||
**修改后**:
|
||
```typescript
|
||
await api.delete(`/custom-rules/${ruleId}`, { params: { project_id: projectId } })
|
||
```
|
||
|
||
### 2. 改进错误处理 (ReviewConfig.tsx:263-267)
|
||
|
||
**修改前**:
|
||
```typescript
|
||
} catch (error) {
|
||
message.error('规则删除失败')
|
||
}
|
||
```
|
||
|
||
**修改后**:
|
||
```typescript
|
||
} 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. 测试删除规则功能
|
||
1. 进入审核配置页面
|
||
2. 添加一条测试规则
|
||
3. 点击删除按钮
|
||
4. 确认成功删除且没有 404 错误
|
||
|
||
### 2. 测试其他审核功能
|
||
- 添加/编辑/删除自定义规则
|
||
- 启用/禁用审核技能
|
||
- 查看配置摘要
|
||
- 查看 Agent 指令预览
|
||
|
||
### 3. 检查警告信息
|
||
- Modal 和 message 的上下文警告应该不会再出现
|
||
- 如果仍有警告,可能是开发环境的缓存问题
|
||
|
||
## 后续改进建议
|
||
|
||
1. **API 路径统一**:建议在代码中定义常量来管理 API 路径,避免硬编码
|
||
2. **错误处理统一**:建议创建统一的错误处理工具类
|
||
3. **类型安全**:建议为所有 API 调用添加完整的 TypeScript 类型定义
|
||
4. **API 文档**:建议使用 Swagger 自动生成 API 文档
|
||
|
||
## 修复完成状态
|
||
|
||
✅ **已修复**:
|
||
- 删除审核规则的 API 路径错误
|
||
- 错误处理改进
|
||
- 后端状态枚举错误
|
||
|
||
⚠️ **已解决**:
|
||
- Modal 上下文警告(App.tsx 已正确配置)
|
||
|
||
建议测试所有审核功能以确保修复没有引入新问题。 |