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.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗This repository contains the dashboard, signal scanner, indicator library, and optional Alpaca execution helpers used to run the Brasfield momentum workflow locally or on a server.
Quick links:
dashboard.py (FastAPI + WebSocket)signal_engine.pysignals.pyalpaca_trader.pyswing_screener.pyrs_screener.py (+ rs_core.py, rs_cache.py, rs_fetch.py)config.py, config/bot_config.json, config/secrets.example.jsonDocs (see docs/)
docs/ONBOARDING.mddocs/RELATIVE_STRENGTH.mddocs/TICKER_RECOGNITION_SUMMARY.md,
docs/TICKER_RECOGNITION_IMPROVEMENTS.md, docs/CODX_FIX_SUMMARY.mdQuickstart (local)
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp config/secrets.example.json config/secrets.json
# edit config/secrets.json (do NOT commit this file)
python dashboard.py
Then open http://localhost:8888 in your browser.
Security & secrets
secrets.json MUST NOT be committed. This repo already includes
.gitignore entry for secrets.json. If you accidentally committed
keys, rotate them immediately.secrets.example.json as the template for required keys.Recommended next steps
pip install pre-commit && pre-commit install.github/workflows/)Configuration
bot_config.json or use environment variables. See config.py for
default keys and SAFE_CONFIG_KEYS that can be changed from the dashboard.Discord alert source (OCR — macOS)
discord_ocr.swift → discord_ocr (compiled Swift binary) and
discord_source.py (polls the binary, parses alert lines, POSTs new mentions).bash scripts/build_ocr.shconfig/bot_config.json: "discord_ocr_enabled": truestart_all.py launches it automatically (logs prefixed [discord]).TradingView webhook (second signal source)
scripts/brasfield_squeeze_alert.pine) fires
a webhook to /api/tradingview/webhook when a squeeze releases on the chart.tv_webhook_secret in config/bot_config.json and point the TV alert at
https://trading.jbrasfield.com/api/tradingview/webhook?secret=<your_secret>.docs/ONBOARDING.md §6 for the full setup walkthrough.Tests & CI
tests/ and enable CI. A secret-scan workflow
and a pre-commit config are included to prevent accidental key commits.If you want, I can update this README with deployment or Docker instructions.
Pinned-fill exit replay (no re-arm):
.venv/bin/python tools/sim_fill_replay.py --tape ai_reports/tapes/YYYY-MM-DD \
--bars-cache ai_reports/fill_replay/bars.json --no-fetch \
--overlay give_r=0.35
Entry+exit A/B on a packed tape (drop fills that fail NEW arm provenance,
then replay exits). Does not write bot_config.json:
.venv/bin/python tools/sim_tape_ab.py --day 2026-09-01 \
--tape ai_reports/tapes/2026-09-01 --no-fetch \
--bars-cache ai_reports/fill_replay/bars.json \
--a 'rest+give=0.2' --b 'stream+rt_macd+give=0.35'
Pack a day on the mini after the close: tools/desk_tape.py pack --day YYYY-MM-DD.