feat(agents): Phase 8.4-10.5 built-in plugins, bundled skills, coordinator
This commit is contained in:
305
development-doc/plan/forum-update/checklist.md
Normal file
305
development-doc/plan/forum-update/checklist.md
Normal file
@@ -0,0 +1,305 @@
|
||||
# Forum 升级执行清单
|
||||
|
||||
本清单用于追踪 Forum 升级计划的执行进度。
|
||||
|
||||
---
|
||||
|
||||
## 总进度
|
||||
|
||||
| Phase | 名称 | 状态 | 工作量 |
|
||||
|-------|------|------|--------|
|
||||
| F.0 | 现状与目标 | ✅ 完成 | - |
|
||||
| F.1 | 数据模型升级 | ⬜ 待开始 | 2 天 |
|
||||
| F.2 | API 增强与安全 | ⬜ 待开始 | 3 天 |
|
||||
| F.3 | 权限系统 | ⬜ 待开始 | 3 天 |
|
||||
| F.4 | AI 集成 | ⬜ 待开始 | 5 天 |
|
||||
| **总计** | | | **13 天** |
|
||||
|
||||
---
|
||||
|
||||
## Phase F.1:数据模型升级
|
||||
|
||||
### 目标
|
||||
升级 Forum 数据模型,支持多板块、标签系统、帖子元数据扩展。
|
||||
|
||||
### 任务清单
|
||||
|
||||
#### 数据库迁移
|
||||
- [ ] 创建数据库迁移脚本
|
||||
- 新增 `forum_boards` 表
|
||||
- 新增 `forum_tags` 表
|
||||
- 新增 `forum_post_tags` 表
|
||||
- 新增 `forum_likes` 表
|
||||
- 新增 `forum_stats` 表
|
||||
- 扩展 `forum_posts` 表
|
||||
- 扩展 `forum_replies` 表
|
||||
|
||||
#### 模型实现
|
||||
- [ ] 扩展 `models/forum.py`
|
||||
- [ ] 创建 `ForumBoard` 模型
|
||||
- [ ] 创建 `ForumTag` 模型
|
||||
- [ ] 创建 `ForumPostTag` 模型
|
||||
- [ ] 创建 `ForumLike` 模型
|
||||
- [ ] 创建 `ForumStats` 模型
|
||||
- [ ] 扩展 `ForumPost` 字段
|
||||
- [ ] 扩展 `ForumReply` 字段
|
||||
|
||||
#### Schema 实现
|
||||
- [ ] 扩展 `schemas/forum.py`
|
||||
- [ ] 创建 `ForumBoardCreate/Out` Schema
|
||||
- [ ] 扩展 `ForumPostCreate/Out` Schema
|
||||
- [ ] 扩展 `ForumReplyCreate/Out` Schema
|
||||
- [ ] 创建 `ForumTagOut` Schema
|
||||
|
||||
#### 测试
|
||||
- [ ] 编写单元测试
|
||||
- [ ] 测试 ForumBoard CRUD
|
||||
- [ ] 测试 ForumTag CRUD
|
||||
- [ ] 测试 ForumLike 功能
|
||||
- [ ] 测试 ForumStats 更新
|
||||
|
||||
### 产出文件
|
||||
- `models/forum.py`
|
||||
- `schemas/forum.py`
|
||||
|
||||
### 验收
|
||||
- [ ] 迁移脚本可正常运行
|
||||
- [ ] 所有新模型可正常创建
|
||||
- [ ] Schema 验证正常工作
|
||||
- [ ] 单元测试通过
|
||||
|
||||
---
|
||||
|
||||
## Phase F.2:API 增强与安全
|
||||
|
||||
### 目标
|
||||
增强 Forum API 功能,实现文件锁、输入验证、限流、缓存。
|
||||
|
||||
### 任务清单
|
||||
|
||||
#### 基础服务
|
||||
- [ ] 创建 `services/forum_service.py`
|
||||
- [ ] 实现 `ForumLockManager` 类
|
||||
- [ ] 实现 `ForumService` 类
|
||||
- [ ] 实现板块 CRUD 方法
|
||||
- [ ] 实现帖子 CRUD 方法
|
||||
- [ ] 实现回复 CRUD 方法
|
||||
- [ ] 实现点赞方法
|
||||
|
||||
#### 安全机制
|
||||
- [ ] 实现输入验证
|
||||
- [ ] 实现 `sanitize_input` 函数
|
||||
- [ ] 实现 `validate_post_data` 函数
|
||||
- [ ] 实现配置常量
|
||||
- [ ] 实现限流器
|
||||
- [ ] 实现 `RateLimiter` 类
|
||||
- [ ] 集成发帖限流
|
||||
- [ ] 集成回复限流
|
||||
- [ ] 实现缓存
|
||||
- [ ] 实现 `ForumCache` 类
|
||||
- [ ] 实现帖子缓存
|
||||
- [ ] 实现标签缓存
|
||||
|
||||
#### API 端点
|
||||
- [ ] 扩展 `routers/forum.py`
|
||||
- [ ] GET `/boards` - 列出板块
|
||||
- [ ] POST `/boards` - 创建板块
|
||||
- [ ] GET `/posts` - 分页获取帖子
|
||||
- [ ] POST `/posts` - 创建帖子
|
||||
- [ ] PATCH `/posts/{id}/pin` - 置顶
|
||||
- [ ] PATCH `/posts/{id}/lock` - 锁定
|
||||
- [ ] GET `/tags` - 列出/搜索标签
|
||||
- [ ] POST `/posts/{id}/tags` - 添加标签
|
||||
- [ ] POST `/like` - 切换点赞
|
||||
|
||||
#### 测试
|
||||
- [ ] 编写单元测试
|
||||
- [ ] 测试 ForumLockManager
|
||||
- [ ] 测试输入验证
|
||||
- [ ] 测试限流器
|
||||
- [ ] 测试 API 端点
|
||||
|
||||
### 产出文件
|
||||
- `services/forum_service.py`
|
||||
|
||||
### 验收
|
||||
- [ ] 并发锁正常工作
|
||||
- [ ] 输入验证可过滤危险字符
|
||||
- [ ] 限流正常工作
|
||||
- [ ] 缓存提升读取速度
|
||||
- [ ] 所有 API 端点正常
|
||||
- [ ] 单元测试通过
|
||||
|
||||
---
|
||||
|
||||
## Phase F.3:权限系统
|
||||
|
||||
### 目标
|
||||
实现用户角色管理、板块权限控制、操作日志、积分系统。
|
||||
|
||||
### 任务清单
|
||||
|
||||
#### 用户扩展
|
||||
- [ ] 扩展 `models/user.py`
|
||||
- [ ] 添加 `role` 字段
|
||||
- [ ] 添加 `forum_score` 字段
|
||||
- [ ] 添加论坛统计字段
|
||||
- [ ] 添加禁言相关字段
|
||||
- [ ] 添加 `moderated_boards` 字段
|
||||
|
||||
#### 权限服务
|
||||
- [ ] 创建 `services/permission_service.py`
|
||||
- [ ] 实现 `UserRole` 枚举
|
||||
- [ ] 实现 `Permission` 枚举
|
||||
- [ ] 实现 `ROLE_PERMISSIONS` 映射
|
||||
- [ ] 实现 `PermissionService` 类
|
||||
- [ ] 实现 `has_permission` 方法
|
||||
- [ ] 实现 `can_edit_post` 方法
|
||||
- [ ] 实现 `can_delete_post` 方法
|
||||
- [ ] 实现 `ban_user` 方法
|
||||
- [ ] 实现 `unban_user` 方法
|
||||
|
||||
#### 日志系统
|
||||
- [ ] 扩展 `models/forum.py`
|
||||
- [ ] 创建 `ForumLog` 模型
|
||||
- [ ] 集成日志记录
|
||||
- [ ] 记录帖子操作
|
||||
- [ ] 记录回复操作
|
||||
- [ ] 记录用户操作
|
||||
|
||||
#### 积分服务
|
||||
- [ ] 创建 `services/score_service.py`
|
||||
- [ ] 实现 `SCORE_RULES` 配置
|
||||
- [ ] 实现 `ScoreService` 类
|
||||
- [ ] 实现 `add_score` 方法
|
||||
- [ ] 实现 `get_leaderboard` 方法
|
||||
- [ ] 实现积分自动增减
|
||||
|
||||
#### 管理 API
|
||||
- [ ] 扩展 `routers/forum.py`
|
||||
- [ ] POST `/admin/ban/{user_id}` - 禁言
|
||||
- [ ] POST `/admin/unban/{user_id}` - 解除禁言
|
||||
- [ ] GET `/admin/logs` - 查看日志
|
||||
- [ ] GET `/leaderboard` - 积分排行榜
|
||||
|
||||
#### 测试
|
||||
- [ ] 编写单元测试
|
||||
- [ ] 测试权限检查
|
||||
- [ ] 测试禁言功能
|
||||
- [ ] 测试积分计算
|
||||
- [ ] 测试排行榜
|
||||
|
||||
### 产出文件
|
||||
- `models/user.py`
|
||||
- `models/forum.py` (ForumLog)
|
||||
- `services/permission_service.py`
|
||||
- `services/score_service.py`
|
||||
|
||||
### 验收
|
||||
- [ ] 角色权限正确控制
|
||||
- [ ] 禁言功能正常
|
||||
- [ ] 操作日志正确记录
|
||||
- [ ] 积分正确增减
|
||||
- [ ] 排行榜正确排序
|
||||
- [ ] 单元测试通过
|
||||
|
||||
---
|
||||
|
||||
## Phase F.4:AI 集成
|
||||
|
||||
### 目标
|
||||
实现 AI 自动回复、摘要生成、智能打标、Agent 自主发帖。
|
||||
|
||||
### 任务清单
|
||||
|
||||
#### AI 服务
|
||||
- [ ] 创建 `services/forum_ai_service.py`
|
||||
- [ ] 实现 `ForumAIConfig` 配置
|
||||
- [ ] 实现 `ForumAIService` 类
|
||||
- [ ] 实现 `generate_auto_reply` 方法
|
||||
- [ ] 实现 `_should_auto_reply` 判断
|
||||
- [ ] 实现 `generate_summary` 方法
|
||||
- [ ] 实现 `suggest_tags` 方法
|
||||
- [ ] 实现 `classify_category` 方法
|
||||
|
||||
#### 摘要服务
|
||||
- [ ] 创建 `services/summary_service.py`
|
||||
- [ ] 实现 `SummaryService` 类
|
||||
- [ ] 实现 `get_post_summary` 方法
|
||||
- [ ] 实现 `get_thread_summary` 方法
|
||||
- [ ] 实现缓存失效
|
||||
|
||||
#### Agent 工具
|
||||
- [ ] 创建 `agents/tools/forum_tools.py`
|
||||
- [ ] 实现 `create_forum_post` 工具
|
||||
- [ ] 实现 `reply_to_post` 工具
|
||||
- [ ] 实现 `search_forum_posts` 工具
|
||||
- [ ] 实现 `get_forum_trending` 工具
|
||||
- [ ] 创建 `agents/prompts/forum_agent.py`
|
||||
- [ ] 编写 Forum Agent 提示词
|
||||
- [ ] 配置工具列表
|
||||
|
||||
#### 定时任务
|
||||
- [ ] 创建 `tasks/forum_auto_reply.py`
|
||||
- [ ] 实现 `auto_reply_task` 函数
|
||||
- [ ] 实现 `setup_forum_scheduler` 函数
|
||||
|
||||
#### API 端点
|
||||
- [ ] 扩展 `routers/forum.py`
|
||||
- [ ] POST `/posts/{id}/generate-summary` - 生成摘要
|
||||
- [ ] POST `/posts/suggest-tags` - 推荐标签
|
||||
- [ ] POST `/posts/classify` - 分类帖子
|
||||
- [ ] GET `/posts/{id}/ai-status` - AI 状态
|
||||
|
||||
#### 测试
|
||||
- [ ] 编写单元测试
|
||||
- [ ] 测试自动回复生成
|
||||
- [ ] 测试摘要生成
|
||||
- [ ] 测试智能打标
|
||||
- [ ] 测试 API 端点
|
||||
|
||||
### 产出文件
|
||||
- `services/forum_ai_service.py`
|
||||
- `services/summary_service.py`
|
||||
- `agents/tools/forum_tools.py`
|
||||
- `agents/prompts/forum_agent.py`
|
||||
- `tasks/forum_auto_reply.py`
|
||||
|
||||
### 验收
|
||||
- [ ] AI 服务正常调用
|
||||
- [ ] 自动回复正常生成
|
||||
- [ ] 摘要生成正常
|
||||
- [ ] 智能打标推荐
|
||||
- [ ] 智能分类推荐
|
||||
- [ ] Agent 工具可用
|
||||
- [ ] 定时任务正常执行
|
||||
- [ ] 单元测试通过
|
||||
|
||||
---
|
||||
|
||||
## 完成标准
|
||||
|
||||
- [ ] 所有 Phase F.1-F.4 任务完成
|
||||
- [ ] 所有单元测试通过
|
||||
- [ ] API 文档更新完成
|
||||
- [ ] 用户文档更新完成
|
||||
- [ ] 部署验证通过
|
||||
|
||||
---
|
||||
|
||||
## 风险与注意事项
|
||||
|
||||
| 风险 | 影响 | 缓解措施 |
|
||||
|------|------|----------|
|
||||
| F.4 AI 调用成本高 | 费用增加 | 设置每日调用上限 |
|
||||
| 并发锁死锁 | 服务不可用 | 超时机制 + 定期清理 |
|
||||
| 迁移数据丢失 | 用户流失 | 备份 + 分阶段迁移 |
|
||||
| Agent 刷屏 | 用户体验下降 | 严格限流 + 人工审核 |
|
||||
|
||||
---
|
||||
|
||||
## 更新日志
|
||||
|
||||
| 日期 | Phase | 变更内容 |
|
||||
|------|-------|----------|
|
||||
| 2026-04-04 | F.0 | 创建文档 |
|
||||
Reference in New Issue
Block a user