OpenStock 值得学的不是“永久免费平替”:开源金融产品真正要审的是数据、依赖、许可和自托管边界
“永久免费 TradingView / 雪球平替。” “实时行情。” “自己部署,数据掌握在自己手里。” AH-0282 的源帖用这三个卖点介绍 Open-Dev-Society/OpenStock。 项目本身是真的。 而且不是一个空仓库。 截至 2026-08-14,OpenStock GitHub 仍有很高 Star/Fork 数,README 完整,项目技术栈、Docker、数据源、市场支持
OpenStock 值得学的不是“永久免费平替”:开源金融产品真正要审的是数据、依赖、许可和自托管边界
“永久免费 TradingView / 雪球平替。”
“实时行情。”
“自己部署,数据掌握在自己手里。”
AH-0282 的源帖用这三个卖点介绍 Open-Dev-Society/OpenStock。
项目本身是真的。
而且不是一个空仓库。
截至 2026-08-14,OpenStock GitHub 仍有很高 Star/Fork 数,README 完整,项目技术栈、Docker、数据源、市场支持、License 和 Security 都写得比较清楚。
真正需要纠正的是:
> 开源应用 ≠ 免费数据 ≠ 无外部依赖 ≠ 数据完全归你 ≠ 可以闭源商用。
这是所有“免费开源金融神器”最容易混在一起的五层概念。
一、先看项目本身:OpenStock 是什么
当前 README 显示核心技术栈:
- Next.js 15;
- React 19;
- TypeScript;
- Tailwind / shadcn;
- Better Auth;
- MongoDB;
- Finnhub;
- TradingView widgets;
- Inngest;
- Nodemailer;
- 可选 Gemini / MiniMax / Siray 等 AI。
- 登录;
- 股票搜索;
- Watchlist;
- 公司页;
- K 线/市场图表;
- 新闻;
- 情绪信息;
- 邮件;
- onboarding;
- 市场 overview。
功能包括:
所以“它是一个可以自部署的现代股票 dashboard”这个判断成立。
但接下来要拆依赖。
二、第一层:Code License
OpenStock 当前采用:
> AGPL-3.0
这和很多人脑子里的:
“开源 = 拿来改一改直接闭源卖 SaaS”
不是一回事。
项目 README 甚至主动写明:
如果修改、重新分发或部署,包括作为 Web Service,需按相应 AGPL 要求开放源码并保留归属。
这里不是要替用户做具体法律意见。
但对产品经理来说,至少要建立:
> Copyleft Deployment Gate
检查:
License → Modified? → Distributed? → Network Service? → Source Offer? → Attribution? → Dependencies?
如果你要把它变成 alphahole 的一个闭源收费功能:
不能看到“GitHub 开源”就开始抄。
先过许可。
三、第二层:开源代码不等于免费行情
源帖最大的问题是:
> “永久免费。”
OpenStock 的代码可以在其 License 条件下使用。
但数据不来自代码许可证。
官方 README 当前明确显示:
Finnhub
股票搜索、公司资料、市场新闻等。TradingView
图表、heatmap、quote、timeline widgets。并且 README 明确提醒:
- free tier 可能是 delayed quote;
- 非美国市场免费层可能延迟 15 分钟以上;
- 某些市场有 TradingView 限制;
- 更广覆盖可能需要升级。
所以真正公式是:
> Open-source App Cost ≠ Total Product Cost
Total Cost 至少包括:
Data + Database + Hosting + Email + AI + Authentication + Monitoring + Maintenance。
四、“实时行情”必须拆成 Data SLA
金融产品里“实时”是一个非常危险的词。
应该问:
Provider
数据是谁给的?Exchange entitlement
有没有交易所授权要求?Delay
0 秒、15 秒、15 分钟?Asset
US / HK / A-share / fund?Use
展示还是交易?Rate Limit
请求限制?Redistribution
能不能二次展示给商业用户?OpenStock README 自己已经给出:
不同市场覆盖不一样。
所以源帖把它统一写成“实时股价”是不准确的。
新增:
> Financial Data SLA Contract
Provider / Market / Instrument / Delay / Rate / License / Redistribution / Failure / Verified Date。
五、“数据掌握在自己手里”也要拆
自部署 MongoDB 确实意味着:
你的: 用户账户、 watchlist、 部分应用状态 可以存到自己的数据库。
但这不等于:
> 所有金融数据都在本地、所有数据控制权都属于你。
因为页面仍会依赖:
Finnhub; TradingView widgets; AI provider; SMTP; Inngest; 第三方 sentiment source。
这叫:
> Data Sovereignty Claim Gate
Self-hosted 应该继续问:
What leaves the server? What leaves the browser? Which provider receives symbols/watchlists? Where are emails sent? Where are AI prompts sent? What is retained externally?
只有回答完这些,才能说:
“哪些数据掌握在自己手里。”
六、一个很重要的安全细节:NEXT_PUBLIC API Key
README 当前环境变量示例里出现:
NEXT_PUBLIC_FINNHUB_API_KEY
并明确提醒:
NEXT_PUBLIC_ 变量会暴露到浏览器。
这不一定意味着项目存在漏洞。
因为有些 provider key 本来就是浏览器可用的 client token。
但部署者必须理解:
> 放进浏览器的东西不能按服务器 secret 来保护。
所以增加:
Secret Classification Gate
Public client key / Server secret / User credential / Webhook secret / SMTP password / AI API key。
不能看到“API KEY”三个字就全部同一种保存策略。
七、OpenStock 不是 TradingView 的功能等价替代
“平替”这个词还隐藏了一层问题。
TradingView 不只是:
一个 K 线组件。
还包括:
- charting;
- data;
- alerts;
- community;
- scripting;
- broker integration;
- screeners;
- workflows;
- licensing/commercial infrastructure。
OpenStock 当前是:
一个开源股票 market app。
它使用 TradingView widgets。
因此把它叫:
“永久免费的 TradingView 平替”
逻辑上甚至有点反直觉:
> 它的一部分体验本身就在依赖 TradingView。
更准确的定位应该是:
> 适合学习、自托管和二次开发的开源市场 Dashboard 基础。
八、雪球也不是同一类产品
源帖又写:
“TradingView / 雪球平替”。
但雪球包含:
内容社区、 用户关系、 讨论、 组合、 信息流、 金融社交等。
OpenStock 当前核心不是社交网络。
所以“平替”必须拆成:
Feature Substitution Matrix
Charts Search Watchlist News Community Alerts Trading Backtest Social Data Export Self-hosting。
真正比较功能。
不是把“股票相关网站”放在一起。
九、项目的商业价值在哪里?
如果只是把 OpenStock fork 一份,换 Logo:
商业壁垒很弱。
而且 AGPL 会影响闭源服务策略。
真正可商业化的方向不是:
“我也做一个免费股票看板”。
而是从它学:
1. Financial dashboard architecture
前端、auth、watchlist、data provider、workflow。2. Provider abstraction
不同数据源、延迟、成本、市场覆盖。3. User-specific workflow
Watchlist → daily summary → email → personalized analysis。4. Self-hosted niche vertical
针对一个明确市场/工作流做深。例如:
不是“全球股票平台”。
而是:
“某类研究团队的证据看板”。
十、alphahole 最值得复用的是 Dependency Architecture
从 OpenStock 可以抽一个非常实用的产品审计图:
Application Layer
Next.js UI / auth / dashboard。Persistence Layer
MongoDB。Market Data Layer
Finnhub / widgets / external APIs。Intelligence Layer
Gemini / other model。Workflow Layer
Inngest。Communication Layer
Email。License Layer
AGPL + third-party terms。Operations Layer
Hosting / logs / monitoring / secrets。这才是“开源项目研究”。
不是看 README 功能列表然后说:
“真香,冲。”
十一、quoted post 里的 stock-sdk 不能混成 OpenStock 的一部分
源文件里还引用了另一个项目:
chengzuopeng/stock-sdk
这个项目当前也确实存在,且已经发展出 v2、CLI、MCP、JS/TS 多市场数据接口,License 是 ISC。
但它是:
另一个独立项目。
不能因为同一作者连续推荐,就把它们当一套。
这又新增一个:
> Quoted Project Separation Rule
主项目 ≠ 引用帖项目 ≠ 作者系列工具。
每一个独立做 Repo / License / Provider / Maintenance 审计。
十二、金融数据 SDK 还有一个更深的风险:公开接口不是交易级 SLA
stock-sdk 当前 README 自己也提醒:
数据来自腾讯财经 / 东方财富等公开接口; 通常可能有数十秒到数分钟延迟; 不适合高频交易决策。
这恰好说明:
> “免费股票数据”应该按使用目的分级。
Education / Demo
允许更宽松延迟。Personal research
需要时间戳、缺失检查。Signal generation
需要稳定数据质量。Execution
需要交易级 market data / broker feed / SLA。不同层不能混。
十三、产品是否“永久免费”,最难的是运营层
即使:
代码免费; 数据库自己跑; 免费 API 暂时够用;
你仍然有:
- 服务器;
- 域名;
- 邮件;
- API quota;
- 数据 provider;
- 监控;
- 安全;
- 升级;
- 数据库备份;
- issue 修复。
所以真正可比较的是:
> TCO — Total Cost of Ownership
不是 Subscription Fee。
一个月 20 美元 SaaS, 可能比自己维护 20 小时开源系统便宜。
当然,也可能相反。
要算。
十四、什么时候值得自己部署?
自部署最有价值的场景通常不是:
“我不想付订阅费。”
而是:
Control
你要定制 workflow。Integration
要连自己的数据库/内部系统。Data Policy
需要控制用户状态或内部数据。Product Building
要把它变成自己的产品模块。Learning
需要研究完整架构。如果只是:
看行情和图表,
自部署未必是最省事的答案。
十五、给 alphahole 建一个 Open-source Product Due Diligence
以后看到 GitHub “神器”,先不问:
能不能装?
先问 12 个字段:
Repository / Maintainer / Last Commit / Release / License / External Data / Secrets / Runtime Cost / Platform Terms / Security / Deployment Obligation / Exit Path。
OpenStock 这条最重要的资产,就是把这张表做实。
十六、V3 产品化
新增:
> Open-source Product Due Diligence / Data Dependency Auditor
输入 GitHub 项目。
输出:
Code
License / maintenance / release。Data
Provider / delay / terms / cost。Runtime
DB / hosting / AI / email / cron。Security
Secrets / browser exposure / auth。Commercial
Can modify? Can SaaS? Copyleft? Attribution?Fit
Demo / personal / internal / commercial / execution-grade?免费: 12-field Repo Checklist。
低价: Open-source Commercial Readiness Report。
会员: Repo Lifecycle / License / Provider Drift。
高阶: 团队项目选型审计。
最后
OpenStock 值得研究。
但不是因为:
> “从此 TradingView 和雪球的钱都不用交了。”
更值得学的是:
> 一个看起来“免费、开源、自部署”的金融产品,背后仍然有数据、许可、API、第三方服务、安全和持续维护成本。
真正成熟的开源研究,
不是会 git clone。
是知道 clone 下来的到底只是代码,
还是一个你真的能长期负责的产品。