Skip to content

VincentFF/autoStockNews

Repository files navigation

autoNews

autoNews 是一个面向个人使用的 A 股信息雷达:采集高质量公开信息源,处理和存储数据,调用 AI 生成结构化分析,并把符合条件的结果推送到 Telegram。

项目边界:不做交易系统、不做 Web UI、不做多用户平台,也不输出买入、卖出、目标价、仓位等直接投资建议。

架构状态

目标生产架构是 PostgreSQL 事实主库和任务状态账本,加上 data_collectiondata_processai_analysedata_push 四个独立 worker。四个 worker 通过共享 persistence/storage、PostgreSQL 状态和 data/ payload 协作,不通过单个总 daemon 串行编排。

当前数据库生产路径已切换为 PostgreSQL + Alembic + 共享 persistence repository;四个模块化常驻 worker 入口已落地,run-once/manual compensation 命令仍用于联调和人工补偿。生产部署资产包括 Dockerfile、compose 示例、systemd 示例和上线手册,入口见 docs/handlebook/production-deployment.md

快速开始

环境要求:

  • Python 3.12
  • uv
  • PostgreSQL(运行依赖数据库的命令时需要)

安装依赖:

uv sync --dev

安全基线命令:

uv run --locked auto-news version
uv run --locked auto-news healthcheck

这两个命令不会触发新闻抓取、AI 调用、数据库写入或 Telegram 发送。

常用验证

uv run --locked python scripts/qa.py --mode fast

修改代码或可执行配置后,优先运行与改动匹配的最小测试;需要全量确认时再运行上面的快速基线或 uv run --locked python scripts/qa.py

聚焦验证示例:

uv run --locked pytest
uv run --locked ruff check .

目录入口

  • src/:项目实现代码。
  • tests/:单元测试和 CLI 行为测试。
  • docs/:项目设计、操作手册、数据源说明和待办。
  • deploy/:生产部署示例,包括 docker compose 和 systemd 模板。
  • data/:运行期 payload 根目录,用于附件、manifest、raw 快照等产物;任务状态以状态账本为准,不以文件是否存在判断完成。
  • openspec/:OpenSpec 规格和变更记录。

AI 或新维护者阅读文档时,先看 docs/doc-roadmap.md,再按任务进入具体文档。

工作流入口

依赖数据库的命令只从 DATABASE_URL 连接 PostgreSQL。

export DATABASE_URL='postgresql+psycopg://user:password@host:5432/autonews'
uv run --locked alembic upgrade head
  • 生产上线、状态检查、备份和回滚:docs/handlebook/production-deployment.md
  • 本地联调和跨模块诊断:docs/handlebook/README.md
  • 模块命令参考:docs/handlebook/data-collection.mddocs/handlebook/data-process.mddocs/handlebook/ai-analyse.mddocs/handlebook/data-push.md
  • 全局设计和模块边界:docs/project-design.mddocs/design/README.md
  • 部署规格:openspec/specs/production-deployment/spec.md

具体 CLI、入口函数和验证方式见 docs/handlebook/

About

auto fetch, analysis and push stock news of China market.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages