mrkeyoor.com_
Fri 16 Oct 18:52 UTC
Dataevaluationupdated 15 Oct 2026

OpenTerminal review

OpenTerminal is a local market dashboard that puts charts, watchlists, news, and a portfolio log into a movable panel layout. It fetches public market data without mandatory paid data credentials, with an optional Claude assistant that needs its own provider key. The project explicitly treats prices as indicative and warns against using it for real investment decisions.

trackingstars / 7d
Verdict

Our OpenTerminal run passed its 53-second build and all 26 tests, but npm audit reported 14 vulnerabilities, including 5 critical. It is a useful candidate for a local market-data learning workspace, provided you accept indicative prices and investigate dependencies. Keep it local while access-control concerns remain unresolved, and choose a licensed feed when accurate trading data is the requirement.

We ran it

Lab card: what happened when we ran OpenTerminalScreenshot of OpenTerminal (github.com/ErTasselli/OpenTerminal)
Install✓ · 38s618 packages · 549 MB
Build✓ · 53s
Tests✓ · 4s26 passed · 0 failed of 26 (vitest)
Known vulns145 critical · 4 high · 5 moderate · 0 low (npm audit)
Repo89 files~6,072 lines of source · 3.9 MB · 1 CI workflows

Answers from our run

Does OpenTerminal build from source?

Dependencies installed in 38 seconds (618 packages), and the build succeeded in 53 seconds. We cloned commit aed097c into a clean Debian container with 3 CPUs and no project-specific setup.

Do OpenTerminal's tests pass?

Yes: 26 of 26 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does OpenTerminal have known vulnerabilities in its dependencies?

npm audit flagged 14 known advisories in the dependency tree, including 5 critical at the time of our run.

Who should not use OpenTerminal?

Traders needing execution-grade quotes: the README says public endpoint data can be delayed, incomplete, or wrong.

What are the alternatives to OpenTerminal?

OpenBB Open Data Platform, Ghostfolio. Our OpenTerminal run passed its 53-second build and all 26 tests, but npm audit reported 14 vulnerabilities, including 5 critical.

Setup4/538-second install and passing checks, no mandatory data key
Docs4/5Useful provider table, local defaults, and explicit data limits
Community3/5October 6 push, with active October issues and proposed fixes
Maturity2/526 tests pass, but audit and web-proxy concerns need attention

Who it’s for

Developers who want a local dashboard for learning about market data and adapting provider integrations.
Hobbyists who prefer charts, news, and a watchlist in one configurable workspace.
People comfortable checking provider availability and keeping a Node application and SQLite data locally.

Who it’s NOT for

Traders needing execution-grade quotes: the README says public endpoint data can be delayed, incomplete, or wrong.
Commercial data redistributors: the README warns that provider terms can restrict reuse even though the application has an MIT license.
Teams needing automatic price alerts or options Greeks today: those remain unchecked roadmap items in the README.
Operators seeking an internet-ready shared dashboard: open PR #43 reports access problems in the bundled web proxy and proposes hardening.
Anyone requiring a clean npm audit: our run found 14 vulnerabilities, including 5 critical.

Setup reality

Our sandbox installed commit aed097c in 38 seconds, adding 618 npm packages and using 549 MB on disk. The build passed in 53 seconds, and Vitest passed all 26 tests in 4 seconds. npm audit reported 14 vulnerabilities: 5 critical, 4 high, 5 moderate, and 0 low.

The core dashboard needs outbound access to its public data providers, without a mandatory market-data API key. The server and web workspaces run together, and portfolio records use SQLite. Local setup generates a shared API secret automatically. The optional assistant needs ANTHROPIC_API_KEY or a configured compatible service.

The Compose configuration publishes ports only on loopback by default. Wider hosting needs deliberate access control and TLS, with an open web-proxy hardening proposal still unresolved. Our Node sandbox did not establish feed freshness, provider availability, or Docker deployment success. Public endpoint restrictions remain part of the operating cost.

Public prices are useful for study and unsuitable for execution

OpenTerminal's README says its prices may be delayed, incomplete, or wrong and warns against using the application for real investment decisions. Read that before the terminal-style screenshot. A chart beside a watchlist and news feed can help you explore a company or understand a market move. The interface cannot turn public endpoints into a licensed feed with a guarantee about freshness. That distinction determines whether this dashboard fits your job.

Our sandbox found a manageable codebase: 89 files, roughly 6,072 source lines, and a 3.9 MB checkout. It is appealing material for a developer who wants to inspect how market widgets connect to providers. Someone expecting a dependable trading workstation has a different requirement. The project itself draws that boundary in its data-source warning, even when other README language makes the experience sound more certain.

What happened when we ran it

Our run installed 618 npm packages in 38 seconds, built successfully in 53 seconds, and passed all 26 Vitest tests in 4 seconds. Installation used 549 MB on disk. We ran commit aed097c on October 15, 2026, in a fresh Debian sandbox with 3 CPUs, 8 GB of RAM, and the lab-node:22 image. The container was unprivileged and had no secrets.

npm audit reported 14 known vulnerabilities: 5 critical, 4 high, 5 moderate, and 0 low. Those are the findings from our measured checkout, regardless of the README's narrower discussion of dependency advisories. The supplied record does not identify vulnerable packages or establish whether affected code is reachable in a running service. It is enough to require dependency investigation before adoption, and insufficient to declare a particular exploit.

Our scan found 1 CI workflow file, workspace packages, and a Compose file, without a tests directory or standard root Dockerfile. Tests can live beside source files, so the directory result does not contradict the passing suite. These checks establish repository installation and command outcomes. They do not establish market-data accuracy, a successful Compose deployment, or the quality of the optional assistant's answers.

Some data families have fallbacks, while others have one provider

The README's provider table sends stock quotes through Nasdaq, with Yahoo Finance and Stooq as fallbacks. Other rows, including fundamentals and the market screener, show a single provider. Its broad promise that every endpoint has a fallback therefore needs qualification. If the particular panel you depend on has only one listed source, the application's overall provider count does not give that panel an alternate route.

The 26 passing tests did not measure feed freshness. The cache implementation keeps previous values and can return them when a fresh fetch fails. That helps preserve a readable screen during an outage, but a visible number can be old. A useful adoption check is whether your chosen symbols and widgets return data you can independently understand, including what happens when their provider stops responding.

The workspace combines local records with remote data

The documented interface has resizable panels, a symbol command palette, and charts with technical indicators. You can place a news feed near the active symbol or keep a portfolio log alongside the watchlist. Layout persists locally, while portfolio transactions live in SQLite. This arrangement suits personal exploration because you can shape the screen around the questions you keep asking, without signing up for a hosted dashboard.

The 549 MB installed environment is the local footprint we measured, not a substitute for those outside services. Quotes and news still come from network requests. The optional Claude widget adds a provider credential and external inference to the picture, even though the market-data path requires no paid API key. Leave that widget disabled if the reason for trying OpenTerminal is a dashboard without an AI account.

Local defaults do not establish safe public hosting

The Compose file publishes both services on loopback, and the README describes an automatically generated secret for protected API routes. Those are sensible local defaults. The bundled web proxy reads that secret and attaches it to forwarded requests. Consequently, backend secret protection alone does not establish that every person reaching the web interface has been authenticated.

Our 14 audit findings are separate from the proxy concern. Open PR #43 specifically reports that reachable web clients can obtain portfolio and paid-AI access through the bundled proxy, and proposes additional access checks. We have not reproduced that report, and the proposal remains open. Keep this application local rather than assuming the README's wider-hosting settings amount to a reviewed shared-service design.

October maintenance continues beyond the September release

The last push was October 6, 2026, and GitHub listed 15 open issues and PRs. Release v0.2.0, published September 8, added economic and earnings calendars. October discussion and proposed fixes show activity beyond that release tag. Features in open pull requests are still proposals: price alerts and options Greeks remain unchecked README roadmap items, so choose based on what the main branch documents today.

OpenBB's Open Data Platform is a better candidate when you want programmable data integration for research. Ghostfolio deserves a look when maintaining portfolio records is the central task. For OpenTerminal, our successful 53-second build makes local experimentation reasonable. Before saving anything you care about in its portfolio, back up the SQLite data and confirm how you will recover it. Keep an independent source beside any price you intend to act on.

Alternatives

ProjectWhat it isPick it when
OpenBB Open Data PlatformA programmable layer for integrating financial data into analysis tools.pick this instead when you need Python or API-based research workflows and provider integration more than a ready-made local widget layout.
GhostfolioA self-hosted application focused on tracking investments and wealth.pick this instead when portfolio records and allocation views are the main job rather than a dense market-data workspace.

What people are saying

  1. [github-trending] ErTasselli/OpenTerminal

Sources

  1. OpenTerminal README and data-source limits
  2. Cache implementation
  3. Compose configuration
  4. Bundled web proxy
  5. Open web-proxy hardening proposal
  6. v0.2.0 calendar release

More data reviews

wine-quality-svc-tuning · dhis2-immunisation-audit · The-Quant-Trading-Vault · multimodal-product-discovery · edgequake · SETS · the whole board →