62 lines
3.5 KiB
Markdown
62 lines
3.5 KiB
Markdown
# Steam Monitor MVP
|
||
|
||
## 需求确认
|
||
|
||
- 产品:《帝国幻想乡~TOHOTOPIA》
|
||
- Steam AppID:`3774440`
|
||
- 信息源:Steam 评测、Steam 讨论区主题和回复
|
||
- 刷新:每 30 分钟;第一轮全量,后续增量
|
||
- 分类模型:OpenRouter `deepseek/deepseek-v4-pro`
|
||
- 密钥:`.env` / 环境变量 `OPENROUTER_API_KEY`
|
||
- Dashboard:展示分类、原始链接、是否建议回复、处理状态、制作人/处理人备注
|
||
|
||
## 当前计划
|
||
|
||
- [x] T1 建立 Python/FastAPI + SQLite MVP。
|
||
- [x] T2 实现 Steam 评测 API 抓取。
|
||
- [x] T3 实现 Steam 讨论区主题和回复抓取。
|
||
- [x] T4 实现 SQLite 去重、处理状态和同步游标。
|
||
- [x] T5 实现 OpenRouter 结构化分类。
|
||
- [x] T6 实现 dashboard、手动同步、状态更新。
|
||
- [x] T7 本机 smoke test 并启动局域网服务。
|
||
- [ ] T8 接入下一个社区平台。
|
||
|
||
## 执行记录
|
||
|
||
- 2026-05-16:创建任务记录,开始项目骨架实现。
|
||
- 2026-05-16:完成 Python/FastAPI + SQLite MVP,实现 Steam 评测、讨论区主题和回复抓取,dashboard 展示、手动同步、后台 30 分钟增量同步、处理状态更新。
|
||
- 2026-05-16:本机 smoke test 抓取 384 条:评测 132、讨论主题 75、回复 177。未配置 `OPENROUTER_API_KEY`,模型分析按预期进入 error,配置 `.env` 后可补跑。
|
||
- 2026-05-16:服务已启动在 `http://127.0.0.1:8000`。
|
||
- 2026-05-16:用户补充 `.env` 后发现“补跑分析”视觉无反应。定位为旧 uvicorn 进程未读新 `.env`,且补跑接口同步等待模型调用。已改为按钮立即返回、后台每批 20 条补跑,并在 dashboard 显示“已分析 / 待补跑”。
|
||
- 2026-05-16:服务改为局域网监听 `0.0.0.0:8000`,当前局域网地址曾检测为 `http://10.27.16.17:8000`。
|
||
- 2026-05-16:修复讨论区排序问题。根因是 Steam 讨论区 `published_at` 未解析,已支持 `x 小时以前`、`3 月 7 日 下午 4:52`、`2025 年 8 月 9 日 下午 3:29` 并回填 252 条讨论区记录。
|
||
- 2026-05-16:按用户要求补跑 2026-05-01 之后内容。共 209 条:评测 132、讨论主题 26、讨论回复 51,最终全部 `done`。
|
||
- 2026-05-16:Dashboard 页头新增“最近更新时间”,优先取最近成功同步完成时间,缺失时取最新采集时间。
|
||
|
||
## 恢复入口
|
||
|
||
- 方案文档:`任务/方案/steam社区监控一期计划.md`
|
||
- README:`README.md`
|
||
- CLI:`python -m app.cli sync --full`、`python -m app.cli analyze-pending --since 2026-05-01 --limit 20`
|
||
- Dashboard:`python -m uvicorn app.main:app --host 0.0.0.0 --port 8000`
|
||
- 当前服务:局域网监听 `0.0.0.0:8000`
|
||
|
||
## 当前状态
|
||
|
||
- 已完成 Steam 一期 MVP。
|
||
- 当前数据文件:`data/tohotopia_monitor.sqlite3`。
|
||
- 当前 dashboard 无登录认证,局域网可访问者可查看和修改处理状态。
|
||
- 当前排序:建议回复优先;同组内按发布时间新到旧。
|
||
- 当前后台任务:FastAPI 启动后每 30 分钟增量同步。
|
||
- 当前 OpenRouter key:来自 `.env` 的 `OPENROUTER_API_KEY`。
|
||
|
||
## 下一阶段入口
|
||
|
||
添加其它社区平台时:
|
||
|
||
- 先读 `AGENTS.md`、`README.md`、本任务文档和 `任务/方案/steam社区监控一期计划.md`。
|
||
- 新平台采集器应输出 `app.models.RawItem`。
|
||
- 继续复用 `raw_items`、`analysis_results`、`work_items`。
|
||
- 新平台不要把平台私有字段直接塞到 dashboard 查询条件里;先进入 `raw_json` 和统一字段。
|
||
- 需要登录态、API、反爬或浏览器自动化的平台,先验证当前事实再实现。
|