Open Net Worth
Open Net Worth는 직접 운영하는 오픈소스 개인 AI 자산 비서로, 전체 재무를 하나의 원장에 기록하고 사용자가 제어하는 AI가 관리
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Modular trading framework for Mid-Frequency Trading
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
AI-assisted trading for Hyperliquid perpetual futures.
Jeeva is an AI-assisted trading application for Hyperliquid perpetual futures. It watches the market, periodically asks an AI decision model ("Jev") whether a given market should be long, short, or flat, and moves each position to match — either against a simulated paper-trading wallet or a real Hyperliquid wallet.
A dashboard lets you turn markets on/off, tune how often and how aggressively each one trades, choose which decision engine drives it, and watch the resulting decisions, positions, and P&L in real time.README 전문 보기 ↗A modular trading engine, initially built to test trading with Jev. But turned out to be a pretty useful tool that can be extended with other algorithm's for Mid-Frequency trading.
A dashboard lets you turn markets on/off, tune how often and how aggressively each one trades, choose which decision engine drives it, and watch the resulting decisions, positions, and P&L in real time.
MARKET_DATA_TTL_DAYS) are pruned automatically, so history doesn't grow unbounded.long, short, or flat.flowchart LR
subgraph Browser
FE["Next.js Dashboard\n(frontend/)"]
end
subgraph API["Express API (api/)"]
REST["REST endpoints\n/perps, /engine-mode,\n/decisions, /positions ..."]
end
subgraph Engine["Rust Trading Engine (engine/)"]
SUP["Decision Supervisor\none task per trading-enabled PERP"]
DM["DecisionMaker\n(Fake / TypeSafe Jev / OpenRouter Jev)"]
EXEC["ExecutionAdapter\n(Mock or Live)"]
SAMP["Market-Data Sampler"]
end
Mongo[("MongoDB\nperpConfigs, engineConfig\n(watched live via change streams)")]
PG[("TimescaleDB / Postgres\nmarket data, decisions,\npositions, funding history")]
HL["Hyperliquid\n(market data + order API)"]
Jev["Jev\n(TypeSafe System One model,\ndirect or via OpenRouter)"]
FE <--> REST
REST -->|read/write PERP & mode config| Mongo
REST -->|read history for charts| PG
Mongo -->|change streams,\nno restart needed| SUP
Mongo --> SAMP
SUP --> DM
DM -->|market state summary| Jev
Jev -->|target direction| DM
SUP --> EXEC
EXEC -->|mock: simulate fill| PG
EXEC -->|live: real order| HL
SAMP -->|price / OI / volume / spread| HL
SAMP --> PG
SUP -->|decision log, health| PG
frontend/ — the operator dashboard (Next.js). Lists markets, shows live price/positions/health, and is where you enable trading/sampling per PERP, pick a PERP's decision maker, and flip the engine between mock and live execution. Its API URL is resolved at runtime from the container's API_URL (served to the browser from /runtime-config), so one built image can be reused across instances pointing at different API backends.
api/ — a small Express service that mediates between the dashboard and the shared state: PERP configuration and engine mode live in MongoDB; market data, decisions, positions, and funding history live in TimescaleDB (used as plain Postgres).
engine/ — the always-running Rust process that actually trades. It watches MongoDB for configuration changes and, for every PERP with trading enabled, runs an independent loop on that PERP's configured frequency. Nothing here requires a restart to pick up a config change (enabling a market, changing its frequency/leverage/decision maker, flipping mock/live) — every loop iteration reads the latest config fresh.
Each tick of a trading-enabled PERP's loop does the following, in order:
ExecutionAdapter.| Current | Target | Action |
|---|---|---|
| flat | long/short | open |
| long/short | flat | close |
| long | short (or vice versa) | close, then open the opposite side |
| long/short | same direction | no-op (no pyramiding) |
ExecutionAdapter — a simulated fill in mock mode, a real signed Hyperliquid order in live mode.여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗