跳到主要内容
项目档案应用项目

OpenStock 开源股票平台 - 免费实时行情跟踪与价格提醒,Docker 一键部署

Open-Dev-Society/OpenStock:OpenStock 是一个免费开源的股票市场平台,提供实时价格跟踪、个性化价格提醒和详细公司洞察,作为昂贵商业订阅服务的替代方案,让每个人都能自本页整理它解决什么问题、适用场景、安装方式和使用方法。

15,956TypeScriptStar 于 2026年1月9日2026年9月19日 更新

AI 总结

OpenStock 是一个免费开源的股票市场平台,提供实时价格跟踪、个性化价格提醒和详细公司洞察,作为昂贵商业订阅服务的替代方案,让每个人都能自由访问市场数据。

中文项目介绍

OpenStock 是一个致力于打破信息壁垒的开源股票市场应用。它解决了传统金融数据平台费用高昂、信息封闭的问题,为个人投资者提供免费的实时股价跟踪、自定义价格提醒以及深入的公司财务与市场数据查看功能。 该项目适用于任何希望自主监控市场、设置投资提醒或研究公司的用户,无需支付昂贵订阅费。其技术栈基于现代 Web 开发实践:使用 Next.js (App Router) 构建全栈应用,TypeScript 确保类型安全,Tailwind CSS 与 shadcn/ui (Radix UI) 提供一致且可访问的界面。数据层由 MongoDB 持久化存储,Finnhub API 提供实时市场数据,TradingView 组件渲染专业图表。认证由 Better Auth 管理,后台任务(如邮件通知、提醒检查)由 Inngest 驱动,邮件发送通过 Nodemailer 完成。项目遵循 AGPL-3.0 许可证,强调开放、免费与社区共建。

详细信息与使用说明

1. 项目定位与用途

OpenStock 定位为昂贵市场平台的开源替代品,核心用途是让用户能够免费跟踪股票实时价格、设置个性化价格提醒、探索详细公司财务与市场洞察。它是一个面向所有投资者的社区构建工具,旨在降低获取市场信息的门槛,而非提供经纪服务。

2. 解决的问题

主要解决金融信息被付费墙和订阅制锁定的问题。传统平台将关键市场数据和高阶功能包装成昂贵服务,阻碍了普通投资者和 newcomers 的 access。OpenStock 通过开源、免费的方式,提供基础且核心的市场数据查看与提醒功能,促进知识开放与金融普惠。

3. 适用场景

适用于个人投资者实时监控自选股价格波动;为特定股票设置价格阈值或事件提醒;浏览上市公司的基础财务数据、新闻与分析;管理自定义的股票观察列表。注意:数据可能因 Finnhub 等提供方规则而延迟,且项目不构成财务建议。

4. 安装方式

支持两种主要部署方式:1) Docker 部署:使用 docker-compose.yml 配置并启动所有依赖服务(如 MongoDB)。2) 本地开发:克隆仓库后,配置所需环境变量(见环境变量章节),运行 npm install 安装依赖,然后执行 npm run dev 启动开发服务器。具体依赖服务配置需参考仓库中的 docker-compose.yml 和 .env 示例(若存在)。

5. 使用方式

用户首先通过 Better Auth 注册或登录账户。登录后,可在首页或通过全局搜索查找股票代码(符号)。进入股票详情页可查看实时价格、TradingView 图表及相关公司信息。用户可将股票添加至个人观察列表,并在观察列表页面创建价格提醒。提醒条件由 Inngest 后台任务定期检查,触发时通过邮件(Nodemailer)或应用内通知(Sonner)告知用户。

6. 补充说明与实现特点

项目采用 Next.js App Router 全栈架构,服务端组件与客户端交互结合。数据获取由 Finnhub API 驱动,图表渲染依赖 TradingView Widget。后台采用事件驱动设计,Inngest 函数处理周期性任务(如发送每周新闻摘要、检查不活跃用户)。UI 组件库基于 shadcn/ui 和 Radix UI 构建,确保可访问性与一致性。项目严格遵循 AGPL-3.0 许可证,任何修改、再分发或部署(包括作为 Web 服务)都必须开源衍生代码。

思维导图

OpenStock
核心功能
实时股价跟踪
个性化价格提醒
公司洞察查看
观察列表管理
技术架构
前端框架
UI 与样式
数据与后端
服务与集成
基础设施
Docker 容器化
Vercel Analytics
AGPL-3.0 许可证

常见问题

OpenStock 是否完全免费?

是的,OpenStock 作为开源项目在 AGPL-3.0 许可证下永久免费。但请注意,其依赖的第三方数据源(如 Finnhub)的免费套餐可能有调用限制或数据延迟,具体以提供方规则为准。

股票数据是实时的吗?会有延迟吗?

项目使用 Finnhub 等第三方 API 获取数据。根据提供方规则和您的配置,免费层级的数据可能存在延迟(通常 15 分钟或更长)。项目本身不保证数据绝对实时,且明确提示市场数据可能延迟。

如何部署 OpenStock?

您可以使用 Docker 通过 docker-compose.yml 快速部署所有服务,或进行本地开发:配置环境变量后运行 npm install 安装依赖,然后执行 npm run dev 启动。具体环境变量要求需参考仓库中的配置说明(如 .env.example)。

OpenStock 提供财务建议吗?

不提供。项目明确声明所有内容不构成财务建议,仅为市场数据查看与提醒工具。用户应自行判断投资决策,并注意市场数据可能存在的延迟风险。

我可以贡献代码或自行修改吗?

可以,项目欢迎社区贡献。由于采用 AGPL-3.0 许可证,如果您修改、再分发或部署(包括作为 Web 服务),必须公开释放衍生代码的源代码并注明原作者。请查阅 CONTRIBUTING 指南(若存在)了解流程。