Skip to main content

Overview

SkyDiscover includes a built-in live monitoring dashboard that provides real-time visualization of the evolutionary search process. The dashboard displays fitness progression, solution quality, and AI-generated summaries.

Basic Configuration

Enabling the Monitor

In Configuration File

configs/human_in_the_loop.yaml

From CLI

Access the Dashboard

Once enabled, open your browser to:

MonitorConfig Parameters

Defined in skydiscover/config.py:500-515
bool
default:"false"
Enable or disable the live monitoring dashboard
int
default:"8765"
Port number for the web server
str
default:"127.0.0.1"
Host address to bind the server to. Use 0.0.0.0 to allow external access
int
default:"10000"
Maximum character length to display for solutions in the dashboard

AI Summary Configuration

The monitor can generate AI-powered summaries of search progress using an LLM.
str
default:"gpt-5-mini"
Model to use for generating progress summaries
str
default:"None"
API key for summary model. Falls back to OPENAI_API_KEY if not specified
str
default:"https://api.openai.com/v1"
API base URL for summary model
int
default:"3"
Number of top programs to include in the summary
int
default:"0"
Auto-generate summary every N programs. Set to 0 for manual triggering only

Complete Example

configs/monitor_full.yaml

Dashboard Features

The live monitor provides:
  • Fitness progression over iterations
  • Best, median, and worst fitness curves
  • Island-specific plots (for multi-island algorithms)
  • Interactive zooming and panning
  • View all generated solutions
  • Syntax-highlighted code display
  • Fitness metrics for each solution
  • Filtering and sorting capabilities
  • High-level progress overview
  • Key insights from top solutions
  • Strategy recommendations
  • Automatic or manual generation
  • Total iterations completed
  • Best fitness achieved
  • Improvement rate
  • Time per iteration
  • Model usage breakdown

Human-in-the-Loop Integration

Combine the monitor with human feedback for interactive search:
configs/human_in_the_loop.yaml

Providing Feedback

  1. View solutions in the dashboard
  2. Write feedback to the feedback file:
    feedback.txt
  3. Feedback is incorporated into the next generation

Network Configuration

Local Access Only (Default)

Access at: http://127.0.0.1:8765

Remote Access

Access at: http://<server-ip>:8765
Binding to 0.0.0.0 allows external access. Ensure proper firewall rules are in place.

Custom Port

Useful if port 8765 is already in use.

Performance Considerations

The monitor adds minimal overhead to the search process:
  • WebSocket updates are asynchronous
  • Solution data is sent in batches
  • AI summaries only run when triggered

Optimizing for Long Runs

AI Summary Models

Choose different models based on your needs:

Fast & Cheap

Detailed Analysis

Local Model

Troubleshooting

Error: Address already in useSolution: Change the port number
Issue: Dashboard not loadingChecklist:
  1. Verify monitor is enabled: enabled: true
  2. Check the console for server startup message
  3. Ensure firewall allows connections to the port
  4. Try host: "0.0.0.0" instead of 127.0.0.1
Issue: Summaries not appearingSolutions:
  1. Check API key is set: summary_api_key or OPENAI_API_KEY
  2. Verify model name is correct
  3. Check API base URL
  4. Set summary_interval > 0 for automatic generation
  5. Use manual trigger button in dashboard
Issue: Dashboard consuming too much memorySolutions:
  1. Reduce max_solution_length to 3000-5000
  2. Increase summary_interval to generate summaries less often
  3. Clear old solutions from the dashboard periodically

Example Configurations

Minimal Monitoring

Production Monitoring

Research Setup

Next Steps

Configuration Overview

Learn about other configuration options

Human Feedback

Guide the search with human expertise