Unified Trading + AI Dashboard
A 10-page Streamlit application unifying DeepChartsPro, ST4RBOY Core, Hermes, and OmniRoute into a single control cockpit. Features a voice assistant (ENI), live market ticker, command palette, and Jarvis-themed UI.
| Page | Purpose |
|---|---|
| Home | Overview — balance, P&L, recent signals, journal sentiment, core snapshot |
| Core Status | ST4RBOY spine status — strategy mode, hive queue, Hermes integration |
| Terminal | Live system logs from DeepChartsPro |
| Signals | Quant signal feed from Supabase — trade history, win rate, P&L |
| Signal Scanner | Vision-based signal generation — screenshot analysis, AI confidence |
| Trading Terminal | MT5 live feed, Fabio CVD/absorption, AI brain, execution, self-learning journal |
| System Health | CPU, RAM, disk, MT5, Supabase health |
| Jarvis | Hermes AI agent console — swarm tasks, hive queue |
| Settings | Live strategy_config.json editor — regime_btc, EMA, scalp, risk |
| Logs | Three-pane log viewer |
| OmniRoute | LLM provider routing — model status, fallback chain |
Browser-native push-to-talk voice assistant embedded in the sidebar. Context-aware responses with dedup logic to prevent response loops.
# ENI assistant with response dedup
class ENIAssistant:
def __init__(self):
self._last_response = None
self._response_count = 0
def respond(self, user_input: str) -> str:
response = self._generate_response(user_input)
if response == self._last_response:
self._response_count += 1
if self._response_count > 2:
return "I've already said that, love. Try asking something else."
self._last_response = response
self._response_count = 0
return responseCmd+K fuzzy search overlay for instant navigation across all 10 pages.
Sidebar price strip with real-time updates from MT5 feed.
6 theme presets with particle effects and focus mode:
- Midnight J.A.R.V.I.S.
- Deep Space
- Oceanic
- Forest
- Sunset
- Monochrome
Real-time data streams from:
- MT5 live feed (OHLCV, positions)
- AI brain outputs (CVD, absorption signals)
- Signal pipeline (Supabase quant feed)
- System health metrics
| Layer | Technology |
|---|---|
| Framework | Streamlit 1.36 |
| Charts | Plotly 5.22 |
| Data | pandas, NumPy |
| Trading | MetaTrader5 API |
| Database | Supabase (PostgreSQL) |
| LLM | OmniRoute (multi-provider) |
| Audio | WebAudio API for tone feedback |
git clone https://github.com/JayV42069/ai-command-center.git
cd ai-command-center
pip install -r requirements.txt
streamlit run app.py --server.port 8502Open http://localhost:8502 in your browser.
# MT5
MT5_LOGIN=your_login
MT5_PASSWORD=your_password
MT5_SERVER=your_server
# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your_anon_key
# OmniRoute (optional)
OMNIROUTE_API_KEY=your_key
OMNIROUTE_BASE_URL=http://localhost:20128AI Command Center (Streamlit :8502)
├── ENI (voice/text assistant)
├── Trading Terminal (MT5 + Fabio CVD + AI Brain)
├── Signal Scanner (vision model → trade signals)
├── Core Status (spine health)
└── Settings (live strategy config)
│
├──► Hermes Gateway (WSL Ubuntu)
│ ├── Telegram Bot
│ ├── Agent Swarm
│ └── LLM via OmniRoute
│
├──► MT5 (MetaTrader 5)
│ ├── BTCUSD.m
│ ├── Order execution
│ └── Real-time OHLCV
│
└──► Supabase
├── trades table
├── st4rboy_journal
└── signals feed
| Module | Purpose |
|---|---|
app.py |
Main dashboard — sidebar, routing, all widgets |
config.py |
Central config — paths, colors, sidebar sections |
eni_assistant.py |
ENI voice assistant — female voice, push-to-talk |
floating_journal.py |
Quick-capture thoughts with auto-tags and sentiment |
command_palette.py |
Cmd+K fuzzy search overlay |
sidebar_ticker.py |
Live market price strip |
jarvis_theme.py |
6 theme presets, particles, focus mode |
widget_lib.py |
Shared UI — confidence meters, status pills, sparklines |
audio_feedback.py |
WebAudio tone system for all actions |
MIT — see LICENSE for details.