# Plan: 文章表拆分 — articles + article_shares ## 问题 article_queue 用 GROUP BY url 去重,但篇篇×群群导致数据冗余。 查"TGO群的所有文章"需要 DISTINCT + 全表扫描。 ## 新设计 ``` articles (一篇一行) id, url (UNIQUE), title, first_seen_at article_shares (一次分享一行) id, article_id, chatroom_id, talker, source_msg_id, shared_at ``` ## 改动 1. local_db.py: 建新表 + 迁移函数 2. app.py: extract → 写入 articles + article_shares 3. app.py: /api/articles → 从新表读 4. app.py: /api/articles/unsummarized → 从新表读 5. 新增 GET /api/articles/by-group?chatroom_id=X → 查某群文章 ## 验证 smoketest 8/8 + 新 API curl 测试