跳到正文
GitHub·· 9 天前AI 评分20

Ripplesight:面向个人非商业使用的公开资讯阅读与舆情监控项目

StephenQiu30/Ripplesight

AI 导读

Ripplesight 是一个面向个人非商业使用的公开资讯阅读与舆情监控项目,围绕关键词连接来源材料、讨论与事件进展,让变化可追溯。项目通过 Docker Compose 部署,需 PostgreSQL、Redis、Kafka,采用 MIT 许可证,仓库为 StephenQiu30/Ripplesight。

正文

Ripplesight 是面向个人非商业使用的公开资讯阅读与舆情监控项目。围绕关键词连接来源材料、讨论与事件进展,让正在发生的变化有依据、可追溯。

GitHub 仓库:StephenQiu30/Ripplesight。本机工作区为 Ripplesight/,当前仓库为其中的 ripplesight-server/,冻结的客户端为 ripplesight-app/。Compose 项目、容器、网络与自有镜像统一使用 ripplesight,生产项目为 ripplesight-prod。既有 HOTKEY_* 环境变量、数据库、历史数据卷、登录协议、MCP 工具名及 Obsidian 导出目录继续兼容现有部署;改名不迁移这些数据。

  • 不登录:阅读有出处、经过去重的公开资讯、事件、日报周报,以及 AI 模型榜。
  • 登录后:配置关键词和来源,查看已采集的帖子、评论与任务状态。来源、情感分析、报告与告警的可用范围以实际配置和验收为准,不代表各平台已全部接通。

当前需求以页面数据与操作为依据;收敛方案说明已撤销的过度设计、必要依赖和后续清理门槛。

产品目标与规划见 PRD,每项能力现在到哪一步见文档工作区;下一步做什么,见 BACKLOG。

快速开始

需要 Docker Compose 2.24.4+,以及已经在运行的 PostgreSQL、Redis、Kafka。如果没有,见下文「全新环境」。

cp .env.example .env

编辑 .env,填写数据库、Redis、Kafka 的连接地址和各项密钥。然后启动:

docker compose --env-file .env up --detach --build --wait backend frontend

前后端由 Docker 运行,复用本机已有的数据服务。默认自动加载 docker-compose.override.yml,本机开启热更新:

  • 修改 backend/app/ 的 Python 代码后,API 自动重载。
  • 修改 frontend/src/ 或 frontend/public/ 后,Next.js 开发服务器自动更新页面。

代码挂载与依赖缓存留在开发容器内。环境文件、依赖、Dockerfile 和数据库结构变化仍按对应流程重新加载或构建。项目文档直接在 docs 中编辑,Obsidian 打开同一目录。

需要重新构建依赖并重启前后端时:

docker compose --env-file .env up --detach --build --force-recreate --wait backend frontend

本机要使用与生产一致的构建镜像时,显式选择基础文件:

docker compose --env-file .env -f docker-compose.yml up --detach --build --wait backend frontend

启动后台任务。Worker 建议跑在宿主机上,见 backend/README;Scheduler 可以用 Compose 启动:

docker compose --env-file .env --profile worker up --detach scheduler

全新环境

只有在没有可复用的 PostgreSQL、Redis、Kafka 时才执行:

docker compose --env-file .env -f docker-compose-env.yml up --detach --wait

它只会在全新的空数据卷上初始化 backend/database/schema.sql。不要在已有业务库上执行这个脚本,升级方法见 PROJECT §6。

新数据卷以当前 Compose 项目名为前缀。复用已有环境卷时,在 .env 中将 HOTKEY_POSTGRES_VOLUME_NAME、HOTKEY_REDIS_VOLUME_NAME、HOTKEY_KAFKA_VOLUME_NAME 设置为原卷名,保持现有数据存储。

生产

cp .env.example .env.prod

编辑 .env.prod,设置 HOTKEY_ENVIRONMENT=production、HTTPS 的 HOTKEY_WEB_ORIGIN,以及独立的生产密钥。然后启动:

docker compose --env-file .env.prod -f docker-compose-prod.yml up --detach --build --wait

显式选择生产文件不会加载本机热更新覆盖。API 和 Web 只绑定 localhost,需要通过反向代理对外提供访问。

停止服务时,使用与启动时相同的文件和参数执行 down。不要加 --volumes,否则会删除数据。

文档

项目文档回归 docs 下的 Markdown/Git 管理。Obsidian 直接打开 docs/,模板、Bases 看板、相对链接和元数据继续保留;AI 直接按需读取原文。在线项目知识库、网页编辑和自动发布已撤销,业务报告的 Obsidian 导出继续保留。

文档 内容
PRD 为什么做、为谁做、目标与发布规划
文档工作区 各能力的现状与验收标准(Obsidian 打开 docs)
BACKLOG 优先级与进度
PROJECT 技术架构与约定
AGENTS 工程规范与检查
backend / frontend 本地开发与测试
THIRD_PARTY_NOTICES 第三方代码与许可

参与开发见 CONTRIBUTING,安全问题见 SECURITY。本项目采用 MIT 许可证。

来源:GitHub · github.com