你是否厌倦了主流股票 App 的高额订阅费、数据延迟、广告干扰和隐私疑虑?OpenStock 是一个真正为开发者与投资者共建的开源替代方案——它不是另一个“演示项目”,而是一个已获 1.7 万+ GitHub Star、具备生产级功能的实时股票追踪平台。它不收会员费、不卖用户数据、不强制注册,更关键的是:你可以一键部署到自己的服务器,完全掌控数据流向与功能逻辑。
核心功能
- 实时行情可视化(解决“看盘卡顿、刷新慢”的痛点):基于 Finnhub 实时 API + TradingView 原生图表组件,支持美股、港股、A股等主流市场分钟级价格更新(注:受数据源合规限制,部分市场为 15 分钟延迟),页面无刷新自动轮询,比多数免费 App 更稳定流畅。
- 个性化价格提醒(解决“错过买卖点”的焦虑):支持多条件组合告警——例如“当 $AAPL 跌破 182.5 美元且成交量超前日 200% 时,通过 Telegram/Email/Slack 推送”。告警规则可保存、复用,避免手动盯盘消耗注意力。
- 公司深度洞察页(解决“财报看不懂、信息太零散”的困扰):聚合展示财务摘要(PE/PB/ROE)、最新财报日期、机构持仓变化、新闻摘要及分析师评级趋势图,所有数据均标注来源与更新时间,拒绝“黑箱推荐”。
- 自定义投资组合仪表盘(解决“多个平台来回切换”的低效):支持创建多个虚拟组合(如“成长股池”“红利策略”),自动计算持仓收益、行业分布、风险相关性热力图,并导出 CSV 用于 Excel 分析。
- 免登录即用 + 可选增强认证(解决“注册门槛高、隐私泄露风险大”的担忧):首页无需任何账号即可查看行情与搜索股票;如需保存组合或设置告警,可启用 Better Auth 提供的邮箱验证或 GitHub 登录,全程无密码存储,敏感操作二次确认。
- 全站响应式 + 暗色模式优先(解决“夜间看盘伤眼、手机端排版错乱”的体验缺陷):基于 shadcn/ui 组件库构建,严格遵循 WAI-ARIA 标准,支持系统级深色模式自动切换,小屏设备上 K线图缩放、表格横向滚动优化到位。
- 本地化市场支持(解决“A股用户找不到沪深代码、港股无恒指成分股筛选”的地域适配问题):预置上交所/深交所代码映射表,支持输入“600519”直接跳转贵州茅台页;港股支持按恒生行业分类筛选,A股提供北向资金持仓 TOP50 实时榜单。
- 告警历史归档与回溯(解决“推送后无法查记录、不知是否触发成功”的运维盲区):所有触发的告警自动存入 MongoDB,支持按股票、时间、状态(已读/未读/失效)筛选,便于复盘策略有效性。
技术亮点
- 服务端无状态 + 边缘友好架构:采用 Next.js App Router 全栈开发,API Route 集成 Inngest 实现异步告警调度(避免 cron 单点故障),关键数据请求通过 Vercel Edge Functions 缓存,降低 Finnhub API 调用频次,提升全球访问速度。
- UI 工程化实践标杆:基于 shadcn/ui(非第三方 UI 库)定制金融场景组件:带价格锚点的滚动行情栏、支持双轴叠加的 K线图容器、可折叠的财报数据卡片组——所有组件均开放源码、支持 TypeScript 类型安全扩展。
- 可审计的数据管道设计:市场数据层抽象为独立模块(
lib/data-sources/finnhub.ts),若需切换至 Alpha Vantage 或 Yahoo Finance,仅需实现统一接口,无需改动前端或告警逻辑,规避厂商锁定风险。 - Docker 优先部署体验:提供开箱即用的
docker-compose.yml,内置 MongoDB、Redis(用于会话缓存)与 Nginx 反向代理配置,一条命令docker compose up -d即可启动完整服务,适合个人 NAS 或轻量云服务器。 - AGPL-3.0 许可下的真开源保障:不仅源码公开,其 AGPL 协议强制要求任何 SaaS 化部署者必须公开修改后的全部源码(含告警通知模板、UI 定制样式),确保社区能持续监督与复用改进成果,杜绝“开源皮、闭源骨”。
适合哪些人用
OpenStock 不是给量化高手准备的算法平台,而是为三类真实用户精心设计:
- 个人投资者(尤其 A股/港股用户):案例——一位上海上班族每天通勤时用手机打开自托管的 OpenStock,查看自选股组合盈亏,设置“中际旭创突破 120 元时微信通知”,收盘后对比北向资金数据调整仓位,全程无需打开券商 App 或忍受弹窗广告。
- 高校金融/计算机专业师生:案例——某大学《金融科技实践课》将 OpenStock 作为教学项目,学生分组改造财报分析模块(接入本地 PDF 解析)、开发微信告警插件、或为创业板股票添加 ESG 评分标签,在真实代码库中理解金融数据流与 Web 架构。
- 中小券商/财富管理团队的技术部门:案例——一家持牌私募将 OpenStock 改造成内部投研门户,替换 Finnhub 为自有行情网关,集成内部研报系统 API,在合规前提下快速交付员工专属行情工具,节省数月采购与定制开发成本。
快速上手
本地运行只需 Node.js 18+ 和 Docker:
- 克隆项目:
git clone https://github.com/Open-Dev-Society/OpenStock.git && cd OpenStock - 复制环境变量模板:
cp .env.example .env.local,填入 Finnhub 免费 API Key(官网注册即得) - 启动服务:
docker compose up -d mongodb redis(先启依赖),再执行npm install && npm run dev - 浏览器访问 http://localhost:3000,搜索 “TSLA” 即可开始体验
如需生产部署,官方文档提供 Vercel + MongoDB Atlas 一键部署按钮,以及针对腾讯云 CVM 的 Nginx 安全加固配置片段。
同类对比 / 注意事项
与主流工具对比:TradingView 基础版免费但禁止商用、高级版年费 $149;雪球 App 数据延迟严重且充斥营销内容;Yahoo Finance 无告警功能且界面陈旧。OpenStock 的差异在于——它把“可部署性”置于“功能堆砌”之前。
使用注意事项:
- 实时行情依赖 Finnhub 免费 tier(限 60 请求/分钟),高频用户建议升级付费计划或自行对接其他数据源;
- AGPL 协议要求:若你将修改版部署为公开网站(如 openstock-yourname.com),必须在网站页脚注明“基于 OpenStock 修改”,并提供源码获取方式;
- 不提供交易接口——它专注做“看得清、记得住、管得住”的行情中枢,与券商系统解耦,符合监管对非持牌机构的技术边界要求。
项目信息
Open-Dev-Society/OpenStock
GitHub
OpenStock is an open-source alternative to expensive market platforms. Track real-time prices, set personalized alerts, and explore detailed company i
17.6k
今日 +843 stars today
Stars
2.2k
Forks
TypeScript
AGPL-3.0
编程语言:TypeScript|GitHub Star 数:17558|开源协议:AGPL-3.0|GitHub 项目地址
如果你相信“金融信息不该被垄断,技术自由需要可落地的载体”,那么 OpenStock 就是此刻最值得部署、阅读、贡献的开源股票平台——它不承诺一夜暴富,但坚定守护你对市场真相的知情权与掌控权。



