TradingAgents/agent_os
Ahmet Guzererler 4e8e6c237e feat: introduce flow_id with timestamp-based report versioning
Replace run_id with flow_id as the primary grouping concept (one flow =
one user analysis intent spanning scan + pipeline + portfolio). Reports
are now written as {timestamp}_{name}.json so load methods always return
the latest version by lexicographic sort, eliminating the latest.json
pointer pattern for new flows.

Key changes:
- report_paths.py: add generate_flow_id(), ts_now() (ms precision),
  flow_id kwarg on all path helpers; keep run_id / pointer helpers for
  backward compatibility
- ReportStore: dual-mode save/load — flow_id uses timestamped layout,
  run_id uses legacy runs/{id}/ layout with latest.json
- MongoReportStore: add flow_id field and index; run_id stays for compat
- DualReportStore: expose flow_id property
- store_factory: accept flow_id as primary param, run_id as alias
- runs.py / langgraph_engine.py: generate and thread flow_id through all
  trigger endpoints and run methods
- Tests: add flow_id coverage for all layers; 905 tests pass

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 14:13:50 +01:00
..
backend feat: introduce flow_id with timestamp-based report versioning 2026-03-26 14:13:50 +01:00
frontend feat: finalise storage layout, run history loading & phase-level re-run (#121) 2026-03-26 11:12:16 +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.