Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
A prop trading tracking and performance dashboard
翻訳待ち
Loading the full README. The saved excerpt is shown below.
A personal trading operations suite — started as a prop-firm account tracker, has grown into a
full toolkit spanning account tracking, live broker sync, trade copying, journaling, and AI-backed
review. No firm's rules or risk math are hardcoded in anywhere; every number is either user-entered
or pulled live from a real broker. Data is per-user in Supabase (sign in required).Read the full README ↗A personal trading operations suite — started as a prop-firm account tracker, has grown into a full toolkit spanning account tracking, live broker sync, trade copying, journaling, and AI-backed review. No firm's rules or risk math are hardcoded in anywhere; every number is either user-entered or pulled live from a real broker. Data is per-user in Supabase (sign in required).
worker/) that holds the broker MT5 terminals open and places the orders itself. It is the
only part of the system that can reach a broker. The worker is platform infrastructure: the
founders run it and it serves every user, each in their own process, claimed through
expiring leases so no user is ever run by two machines. Add machines to scale out. Master/follower copy links (created
disarmed), risk profiles with stopouts/unlock, a per-copy execution log, and
test-connection / close / flatten commands pushed to the worker. The worker applies symbol
mappings from the symbol_mappings table, but the app has no screen for editing them yet. The worker also has a DXtrade
executor. cTrader and MT4 are stubs, and Tradovate is blocked. Futures copying isn't built.opening_balance_at), so the 72h backfill isn't counted twice.eaglecapital-broker-sync service, which isn't deployed. The
page is hidden from the nav unless VITE_BROKER_SYNC_API_URL is set. Tradovate is also blocked
on a paid API plan.trading-insights Edge Function. It uses Groq if
GROQ_API_KEY is set, otherwise Anthropic, and is capped per user per day.economic-calendar Edge Function, filterable by impact and by
country/instrument.purge-deleted-accounts).There is no separate backend service for the copier. The browser reads and writes the copier's
tables directly under RLS. The copier-gateway Edge Function handles the two things that need
ENCRYPTION_KEY (connecting an account, fixing its credentials) and is the worker's fallback
API. The worker itself talks to Postgres directly (worker_api functions) and receives commands
by NOTIFY. See WORKER.md for the whole picture.
npm install
npm test # run the test suite
npm run lint # correctness lint — run it, typecheck alone misses hook-order bugs
npm run dev # open http://localhost:5173
Requires a Supabase project. Set the env vars in .env.example in .env.local, then run these
three files in the SQL editor, in this order:
supabase/schema.sql — the app's tables.supabase/delta-engine-schema.sql — the copier's tables (read its header first).supabase/migrations-worker-direct.sql — the worker's direct database path.supabase/migrations-shared-worker.sql — one worker serving every user (leases, terminal
reservation, the operator fleet view).All four are idempotent. The other supabase/migrations-*.sql files are deltas for a database
created before they were folded into the two schema files. A fresh project doesn't need them.
Three pieces, none of which a git push deploys completely:
VITE_* vars in the Vercel dashboard. .env.local never
reaches production.copier-gateway, trading-insights,
economic-calendar, purge-deleted-accounts) and their secrets. See DEPLOY.md.WINDOWS-SETUP.md for the bring-up and
worker/README.md for running and scaling it.This is the beginning of the README. Read the rest at the original. Read the full README ↗