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.