TradingAgents/agent_os
ahmet guzererler 4c14080d73
feat(scanner): Finviz smart money scanner + Golden Overlap strategy
## Summary
- Adds `smart_money_scanner` as a new Phase 1b node that runs sequentially after `sector_scanner`, surfacing institutional footprints via Finviz screeners
- Introduces the **Golden Overlap** strategy in `macro_synthesis`: stocks confirmed by both top-down macro themes and bottom-up Finviz signals are labelled high-conviction
- Fixes model-name badge overflow in AgentGraph (long model IDs like OpenRouter paths were visually spilling into adjacent nodes)
- Completes all documentation: ADR-014, dataflow, architecture, components, glossary, current-state

## Key Decisions (see ADR-014)
- 3 zero-parameter tools (`get_insider_buying_stocks`, `get_unusual_volume_stocks`, `get_breakout_accumulation_stocks`) instead of 1 parameterised tool — prevents LLM hallucinations on string args
- Sequential after `sector_scanner` (not parallel fan-out) — gives access to `sector_performance_report` context and avoids `MAX_TOOL_ROUNDS=5` truncation in market_movers_scanner
- Graceful fallback: `_run_finviz_screen()` catches all exceptions and returns an error string — pipeline never hard-fails on web-scraper failure
- `breakout_accumulation` (52-wk high + 2x vol = O'Neil CAN SLIM institutional signal) replaces `oversold_bounces` (RSI<30 = retail contrarian, not smart money)

## Test Plan
- [x] 6 new mocked tests in `tests/unit/test_scanner_mocked.py` (happy path, empty DF, exception, sort order)
- [x] Fixed `tests/unit/test_scanner_graph.py` — added `smart_money_scanner` mock to compilation test
- [x] 2 pre-existing test failures excluded (verified baseline before changes)
- [x] AgentGraph badge: visually verified truncation with long OpenRouter model identifiers

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-03-24 16:03:17 +01:00
..
backend feat(ui): scoped graph nodes per ticker + MockEngine for LLM-free UI testing (#100) 2026-03-24 10:03:16 +01:00
frontend feat(scanner): Finviz smart money scanner + Golden Overlap strategy 2026-03-24 16:03:17 +01:00
DESIGN.md docs: finalize AgentOS documentation 2026-03-22 22:54:20 +01:00
README.md docs: finalize AgentOS documentation 2026-03-22 22:54:20 +01:00
__init__.py fix: add missing __init__.py files to agent_os package tree 2026-03-23 07:16:38 +00:00

README.md

AgentOS: Visual Observability & Command Center

AgentOS is a real-time observability and command center for the TradingAgents framework. It provides a visual interface to monitor multi-agent workflows, analyze portfolio risk metrics, and trigger automated trading pipelines.

System Architecture

  • Backend: FastAPI (Python)
    • Orchestrates LangGraph executions.
    • Streams real-time events via WebSockets.
    • Serves portfolio data from Supabase.
    • Port: 8088 (default)
  • Frontend: React (TypeScript) + Vite
    • Visualizes agent workflows using React Flow.
    • Displays high-fidelity risk metrics (Sharpe, Regime, Drawdown).
    • Provides a live terminal for deep tracing.
    • Port: 5173 (default)

Getting Started

1. Prerequisites

  • Python 3.10+
  • Node.js 18+
  • uv (recommended for Python environment management)

2. Backend Setup

# From the project root
export PYTHONPATH=$PYTHONPATH:.
uv run python agent_os/backend/main.py

The backend will start on http://127.0.0.1:8088.

3. Frontend Setup

cd agent_os/frontend
npm install
npm run dev

The frontend will start on http://localhost:5173.

Key Features

  • Literal Graph Visualization: Real-time DAG rendering of agent interactions.
  • Top 3 Metrics: High-level summary of Sharpe Ratio, Market Regime, and Risk/Drawdown.
  • Live Terminal: Color-coded logs with token usage and latency metrics.
  • Run Controls: Trigger Market Scans, Analysis Pipelines, and Portfolio Rebalancing directly from the UI.

Port Configuration

AgentOS uses port 8088 for the backend to avoid conflicts with common macOS services. The frontend is configured to communicate with 127.0.0.1:8088.