Files
JARVIS/development-doc/plan/forum-update/checklist.md

7.7 KiB
Raw Blame History

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.2API 增强与安全

目标

增强 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.4AI 集成

目标

实现 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 创建文档