ErTasselli/OpenTerminal
金融在本地运行一个键盘驱动的行情终端,查看美股、加密货币、宏观数据并记录小型投资组合。
OpenTerminal 是一个自托管的终端风格交易仪表盘,从免费公开接口抓取行情、图表、新闻、期权和宏观数据,不需要付费 API key 或注册。它适合希望在自己机器上搭建高密度、可定制行情工作台做研究与学习的个人用户,而不是用于下单交易。
功能范围
基于 widget 的工作区(可拖拽、缩放、增删)包含报价面板、支持 8 个时间周期与六种技术指标的图表、按标的或全局聚合的新闻、全美股票筛选器、板块热力图、期权链、加密货币看板、国债收益率与 VIX 宏观视图、经济与财报日历,以及记录买卖交易、计算平均成本和已实现/未实现盈亏的投资组合跟踪器。布局保存在本地,报价和指数大约每秒刷新一次。
⌘K 调出搜索面板查找股票、ETF 和加密货币;⌥1–⌥9 可添加 widget。
数据来源机制
每类数据都有一个主来源和自动回退链——例如报价先试 Nasdaq,再退到 Yahoo Finance,最后 Stooq;加密货币报价先 CoinGecko,再 Binance。带 stale-while-revalidate 的 TTL 缓存避免单个数据源故障导致界面空白,各数据源是 server/src/providers/ 下的独立模块,作者称替换或新增一个来源大约需要 30 分钟(数据来源)。
README 明确说明这些是公开、部分为逆向使用的接口,因此价格是延迟或参考性的,不足以用于实际成交(免责声明)。
运行要求与限制
- 运行环境: 快速启动需要 Node.js 和 npm(
npm install、npm run dev);也支持用docker compose up --build启动,投资组合的 SQLite 数据保存在命名 volume 中(快速开始)。 - 可选 AI 助手: AI widget 需要
ANTHROPIC_API_KEY;不设置时其他功能照常工作,该 widget 显示为不可用。也可通过ANTHROPIC_BASE_URL和ANTHROPIC_MODEL指向兼容的其他端点(配置)。 - 暴露默认值: API 默认绑定
127.0.0.1且只接受本地 Web 来源。要对网络开放需显式设置API_HOST、API_KEY和WEB_ORIGIN,项目本身不处理 HTTPS(安全默认值)。 - 已知依赖通告:
npm audit报告fast-xml-parser的中危问题(有漏洞的构建路径未被使用)和 Next.js 内置postcss的高危问题,后者需大版本升级才能解决;两者都被记录但未强制修复(已知限制)。 - 许可与用途: 采用 MIT 许可,但 README 将项目限定为个人和教育用途,并警告勿用于真实投资决策;免费数据源通常只授权个人/研究用途并禁止商业再分发(免责声明)。
这是需要自行运行的源代码,不会替你托管或再分发数据。
本文由 AI 根据项目 README 生成,更新于 2026年10月30日,以项目官方文档为准。