OpenStock
OpenStock 是面向所有人的开源行情平台,可追踪价格、纵览市场并查看公司洞察,作为昂贵市场平台的免费替代。
访问 Open-Dev-Society/OpenStock项目简介
OpenStock 是一个由社区构建的开源市场平台,用于追踪价格、观察市场并查看公司洞察,无需昂贵的终端订阅。它提供市场仪表盘、个股页面、自选列表、价格提醒和情绪视图,可在托管站点使用,也可自托管。
核心功能
- 覆盖美国、印度、德国、加拿大、澳大利亚、加密货币和外汇七个市场的仪表盘,包含指数脉搏、板块热力图、市场领导者和头条新闻。
- 个股页面提供 TradingView K 线、绘图工具、全屏图表、可选指标、财务数据、技术指标和公司简介。
- 最多 50 只股票的自选列表可保存到账户;价格提醒可设高于或低于目标价,每五分钟检查一次,并在实时模式下通过电子邮件发送。
- 每只股票可并排查看来自 Reddit、X、新闻和 Polymarket 的情绪,需使用 Adanos 密钥。
- 使用 ⌘K 搜索 Finnhub 覆盖的所有交易所,并以浏览器式标签页保持股票打开。
- 每周一通过电子邮件发送由 AI 撰写的新闻摘要,覆盖用户关注的股票。
适用场景
- 盘前关注主要指数、板块和头条新闻。
- 通过图表、指标、财务数据和技术指标研究个别公司。
- 跟踪个人自选列表,并为目标价位设置价格提醒。
- 使用自备 Finnhub 密钥,为团队运行自托管市场仪表盘。
快速开始
- 需要 Node.js 22 LTS、一个 MongoDB 数据库和一个免费的 Finnhub 密钥。
- 克隆仓库,运行 npm ci,将 .env.example 复制为 .env,并填写 MONGODB_URI、BETTER_AUTH_SECRET 和 FINNHUB_API_KEY。
- 运行 node scripts/check-env.mjs 和 npm run test:db 检查环境与 MongoDB 连接,然后运行 npm run dev。
- 使用 Docker Compose 时,填写 .env 并运行 docker compose up -d --build,然后在 localhost 的 3000 端口打开应用。
部署与要求
- 需要 MongoDB 数据库和 MongoDB 连接 URI。
- BETTER_AUTH_SECRET 用于签署会话,必须配置;BETTER_AUTH_URL 用于认证回调和邮件链接,也必须配置。
- 市场数据需要 Finnhub API 密钥;可提供多个免费密钥并以逗号分隔,系统会轮换使用。
- 生产环境的欢迎邮件、价格提醒和每周摘要等后台任务需要 Inngest 的签名密钥和事件密钥。
- 邮件发送使用 Nodemailer 和 Gmail 应用密码;未配置这些设置时,邮件会被跳过。
采用前须知
- 许可证:AGPL-3.0。在使用、修改或分发项目前,请确认其具体条款。