# 微信公众号财经分析网站需求文档 ## 1. 项目定位 ### 1.1 项目名称 财经内容日报网站 ### 1.2 项目目标 建设一个可部署到服务器的网站,用于每天汇总财经新闻与大V观点,并生成可浏览的财经日报页面。 ### 1.3 技术方向 - 前端:Vue 3 + Vite - 后端:Python + FastAPI - 存储:首期以 JSON 文件为主,后续可迁移 SQLite / MySQL ### 1.4 当前版本原则 - 网站以“可落地、可维护、可每日使用”为第一优先级 - 不强依赖全自动发现微信公众号最新文章 - 大V观点模块首期采用“手动录入当天文章链接 + 系统自动抓取和分析”的模式 - 财联社模块优先接入财联社官网或 APP 可获取的公开数据 ## 2. 项目范围 网站包含 3 个核心模块: 1. 财联社新闻 2. 大V观点 3. 日报录入 ## 3. 目标数据来源 ### 3.1 财联社新闻 - 财联社 - 财联社 AI Daily 说明: - 如果微信公众号端无法稳定自动获取,允许直接使用财联社官网或 APP 的公开内容作为主要数据源 - 财联社模块目标是获取最近一周的资讯汇总,不依赖手动逐条录入 ### 3.2 大V观点公众号 - 投资明见 - 爱股君2020 - 马志明收评 - 老白分析室观点 说明: - 一个公众号一天可能发布多篇文章 - 系统必须支持同一公众号在同一天录入多条链接 ## 4. 核心业务流程 ### 4.1 财联社新闻流程 1. 后端定时抓取财联社最新资讯 2. 将资讯缓存到本地 3. 基于最近一周数据生成汇总分析 4. 前端展示最近一周资讯、热点板块、简要总结和参考链接 ### 4.2 大V观点流程 1. 用户每天进入“日报录入”页面 2. 选择日期 3. 按公众号录入当天文章链接 4. 后端抓取文章标题、发布时间、正文、摘要等内容 5. 系统进行摘要、板块识别、情绪倾向分析 6. 生成当日大V观点日报 7. 前端按日期展示日报,支持切换历史日期 ### 4.3 历史日报流程 1. 每天生成独立日报数据 2. 数据按日期保存 3. 网站支持按日期查看历史日报 ## 5. 功能需求 ### 5.1 模块一:财联社新闻 #### 5.1.1 功能目标 展示最近一周财联社相关新闻,并形成持续滚动更新的财经资讯模块。 #### 5.1.2 刷新频率 - 默认每 30 分钟更新一次 - 页面支持手动立即刷新 #### 5.1.3 展示内容 每条资讯至少包含: - 标题 - 发布时间 - 来源 - 简要摘要 - 参考链接 - 情绪倾向 - 涉及板块 #### 5.1.4 汇总内容 模块顶部需要提供最近一周的简要汇总,包括: - 最近一周资讯概览 - 热点方向总结 - 当前值得关注的板块 #### 5.1.5 展示要求 - 财联社列表按时间倒序展示 - 不需要堆砌过多统计卡片 - 信息以内容为主,次要数据弱化展示 ### 5.2 模块二:大V观点 #### 5.2.1 功能目标 按天展示财经类大V公众号观点,不同日期严格分开展示。 #### 5.2.2 日期规则 - 页面默认显示当天数据 - 支持通过日期 Tab 切换历史日报 - 两天的数据不能混在一起展示 #### 5.2.3 展示内容 每篇文章至少展示: - 公众号名称 - 标题 - 发布时间 - 摘要 - 参考链接 - 涉及板块 - 情绪倾向 #### 5.2.4 当日汇总 每个日期需要有一段“当日总结”,用于概括当天大V整体观点。 #### 5.2.5 页面展示取舍 - 板块信息仅作为辅助信息,使用小标签展示,不单独占很大篇幅 - “摘要”和“文章列表”不要分成两块重复区域 - 应将当日总结与文章列表放在同一信息区域内,减少重复 - 页面尽量减少无效说明、冗余统计和不必要的装饰 ### 5.3 模块三:日报录入 #### 5.3.1 功能目标 提供每天的录入入口,供用户录入各公众号当天文章链接。 #### 5.3.2 基本能力 - 选择录入日期 - 按公众号录入文章链接 - 支持新增多条链接输入框 - 支持删除错误链接 - 支持保存 - 支持点击“生成日报” #### 5.3.3 数据规则 - 同一公众号同一天可录入多篇文章 - 空链接不保存 - 重复链接应自动去重 - 某公众号当天未录入时,可为空 ## 6. 抓取与分析需求 ### 6.1 文章抓取字段 对于录入的微信公众号文章,后端至少提取: - 公众号名称 - 文章标题 - 发布时间 - 摘要 - 正文内容 - 原始链接 - 最终跳转链接 ### 6.2 内容清洗 需要对正文做基础清洗,包括: - 去掉无关关注提示 - 去掉营销尾部文案 - 保留正文主要段落 ### 6.3 分析输出 系统需要对每篇文章输出: - 摘要 - 文章类型 - 涉及板块 - 情绪倾向 ### 6.4 板块识别范围 首期可先支持以下常见板块: - AI - 算力 - CPO - 存储芯片 - 半导体 - 券商 - 石油天然气 - 新能源 - 军工 - 机器人 - 汽车 - 医药 ### 6.5 情绪倾向 首期支持以下三类: - 看多 - 看空 - 中性 ## 7. 前端设计需求 ## 7.1 整体设计方向 - 网站不是后台管理页风格,而是偏内容型、财经资讯型页面 - 视觉上应偏专业、克制、清晰 - 以“内容优先”而不是“大量统计卡片优先” ### 7.2 布局要求 - 桌面端采用左侧导航 + 右侧内容区的结构 - 移动端自动切换为上下布局 - 页面尽量避免出现明显滚动条 - 即使需要滚动,也尽量隐藏滚动条视觉表现 ### 7.3 信息展示要求 - 减少无用信息 - 弱化不重要的说明文字 - 缩小板块信息的占比 - 不要重复展示相同摘要 - 避免一屏里出现太多层级相近的卡片 ### 7.4 各模块前端表现 #### 财联社新闻 - 顶部只保留必要的刷新时间和刷新按钮 - 使用一段简短总述说明最近一周情况 - 热点板块用小标签展示 - 资讯列表直接展示标题、摘要、时间、链接 #### 大V观点 - 顶部显示日期 Tab - 当日总结与文章列表整合到同一区域 - 板块信息使用小标签 - 每篇文章以卡片列表展示,突出标题和摘要 #### 日报录入 - 输入页要密集但不拥挤 - 一个公众号一张录入卡片 - 卡片内部支持多链接输入 - 底部保留“保存录入”和“生成日报”两个主操作 ## 8. 后端需求 ### 8.1 服务能力 后端需要提供以下核心能力: - 获取公众号名单 - 获取某天的录入内容 - 保存某天录入内容 - 根据某天录入内容生成日报 - 获取某天的大V观点日报 - 获取财联社最近一周数据 - 手动刷新财联社数据 ### 8.2 调度能力 - 财联社数据支持定时刷新 - 大V日报按需生成 - 后续可扩展为自动定时生成日报 ### 8.3 容错要求 - 某篇文章抓取失败不影响整天日报生成 - 失败项要记录错误原因 - 已抓取成功的数据正常保留 ## 9. 数据存储要求 ### 9.1 首期存储方式 首期使用本地文件存储,至少包含: - `data/daily_inputs/{date}.json` - `data/reports/{date}.json` - `data/cls_news/weekly.json` ### 9.2 数据类型 - 每日录入数据 - 每日报告数据 - 财联社缓存数据 - 抓取错误记录 ### 9.3 后续扩展 后续可迁移到数据库,支持: - 用户体系 - 后台管理 - 多人协作录入 - 更复杂的历史检索 ## 10. 接口建议 建议后端至少保留以下接口: - `GET /api/accounts` - `GET /api/daily-inputs/{date}` - `PUT /api/daily-inputs/{date}` - `POST /api/reports/{date}/generate` - `GET /api/reports` - `GET /api/opinions/{date}` - `GET /api/cls-news` - `POST /api/cls-news/refresh` ## 11. 非功能需求 ### 11.1 可维护性 - 数据抓取、分析、展示分层清晰 - 公众号名单可配置 - 板块词典可扩展 ### 11.2 可部署性 - 支持部署到服务器 - 前后端可独立构建 - 支持后续接入 Nginx / Supervisor / Docker ### 11.3 可扩展性 - 后续可新增更多公众号 - 后续可增加 AI 摘要与分析能力 - 后续可增加定时任务和消息通知 ## 12. 当前版本边界 ### 12.1 当前确认纳入 - 财联社最近一周新闻汇总 - 大V观点按天展示 - 每天的手动链接录入 - 同一公众号同一天多篇文章支持 - 财联社 30 分钟刷新 ### 12.2 当前不作为首期刚需 - 全自动发现所有公众号最新文章 - 微信公众号平台登录态自动轮询 - 复杂权限系统 - 多用户后台 ## 13. MVP 交付范围 首期必须完成: - 一个可访问的网站 - 三个核心模块可正常使用 - 可录入当天大V文章链接 - 可生成并查看当日大V观点日报 - 可查看财联社最近一周资讯 - 页面具备基础美观度与可读性 ## 14. 验收标准 ### 14.1 财联社模块验收 - 能展示最近一周财联社资讯 - 支持 30 分钟内缓存读取 - 支持手动刷新 - 页面可看到摘要、链接、板块和更新时间 ### 14.2 大V观点模块验收 - 可按日期切换日报 - 不同日期内容不混合 - 每篇文章可看到摘要与链接 - 每天有独立总结 ### 14.3 日报录入模块验收 - 可为某一天录入多个公众号链接 - 同一公众号可录入多篇 - 可保存后再次编辑 - 可点击生成日报 ### 14.4 前端验收 - 页面没有明显冗余信息 - 板块信息占比明显缩小 - 大V摘要与文章列表已整合 - 桌面端浏览不显得拥挤,滚动条视觉弱化 ## 15. 开发建议 ### 15.1 首期优先级 1. 先打通日报录入 -> 抓取 -> 生成日报 -> 展示 2. 再完善财联社定时刷新和最近一周缓存 3. 最后优化页面视觉与部署结构 ### 15.2 推荐开发顺序 1. 先定义数据结构 2. 再完成 FastAPI 接口 3. 再开发 Vue 页面 4. 最后补调度和部署脚本