# skill小程序：基于朴素贝叶斯的垃圾信息识别小程序（社区交互+商用）

## 1. 目标

复刻一个可商用的小程序，满足以下闭环：

1. 用户发布文本（公共/私有/私信）
2. 后端实时检测垃圾信息（朴素贝叶斯）
3. 命中阈值即拦截并入库备案
4. 用户可对拦截信息发起申诉
5. 管理员人工复核与申诉处理
6. 样本持续回流并重训模型

## 2. 技术框架

### 2.1 前端环境（微信小程序）

- 微信开发者工具开发与调试
- 页面模块：
  - 注册/登录
  - 文本发布（发布框+提交按钮）
  - 实时状态反馈（发布成功/拦截警告）
  - 个人发布历史
  - 拦截信息申诉
  - 私信收件箱
- 界面规范：
  - 遵循小程序设计规范
  - 卡片化布局 + 统一主题色 + 移动端自适配

### 2.2 后端环境（Flask RESTful）

- Flask 提供 API
- JWT 身份认证与会话管理
- SQLAlchemy 数据持久化
- 模型服务：TF-IDF + MultinomialNB
- 核心职责：
  - 接收发布文本
  - 调用模型检测
  - 阈值决策拦截/放行
  - 拦截日志入库
  - 申诉与人工复核
  - 管理员日志查询与阈值调节

## 3. 数据模型

1. `users`
- 用户信息、管理员标记

2. `content_posts`
- 文本内容、发布类型、检测概率、阈值、发布状态
- 人工复核状态
- 申诉状态与处理结果

3. `spam_prediction_logs`
- 检测原始日志

4. `spam_training_samples`
- 训练样本（seed/import/feedback/manual_review）

5. `detection_configs`
- 动态检测阈值

## 4. 功能模块映射

### 4.1 用户功能模块

- 个人信息注册/登录/维护
- 文本信息编辑与上传
- 公共信息发布
- 私有信息发布
- 用户私信信息发布
- 私信信息拦截
- 拦截信息申诉
- 发布历史查看

### 4.2 管理员功能模块

- 用户信息编辑/删除
- 垃圾信息编辑（复核结果更新）
- 确认垃圾信息（人工复核属实）
- 申诉处理（通过/驳回）
- 垃圾信息历史记录查看
- 检测阈值动态调节

### 4.3 垃圾信息识别模块

- 信息检测（朴素贝叶斯）
- 信息拦截
- 阈值动态调节
- 信息发布拦截
- 垃圾信息入库备案
- 信息上报管理员

## 5. 关键接口

### 用户端

- `POST /api/content/publish`
- `GET /api/content/posts/history`
- `GET /api/content/posts/inbox`
- `POST /api/content/posts/<id>/appeal`

### 管理端

- `GET /api/admin/intercepts`
- `PUT /api/admin/intercepts/<id>/review`
- `GET /api/admin/appeals`
- `PUT /api/admin/appeals/<id>/process`
- `GET /api/admin/detection/threshold`
- `PUT /api/admin/detection/threshold`

## 6. 实施步骤

1. 初始化数据库并导入种子样本
2. 训练初始朴素贝叶斯模型
3. 接入发布接口并实现实时反馈
4. 完成历史、申诉、私信收件箱
5. 完成管理员复核与阈值配置
6. 打通样本回流和模型重训

## 7. 商用落地建议

1. 使用 HTTPS 和网关限流
2. 管理操作写审计日志
3. 默认管理员密码上线前替换
4. 密钥全部改环境变量注入
5. 申诉处理增加 SLA 与状态通知

## 8. 验收标准

1. 发布文本可实时检测并返回明确状态
2. 疑似垃圾信息会被拦截且可申诉
3. 管理员可人工复核与处理申诉
4. 阈值可在线调节且立即生效
5. 页面在不同手机尺寸下排版正常
6. 样本可回流并用于模型迭代
