Skip to main content
The harbor view command starts a web server that provides an interactive UI for browsing and analyzing agent trajectories from job and trial directories.

Usage

Arguments

Path
required
Folder containing job/trial directories with trajectories.

Options

string
Port or port range to bind the server to. Default: 8080-8089Examples:
  • Single port: 8080
  • Port range: 8080-8090
string
Host to bind the server to. Default: 127.0.0.1
boolean
Run frontend in development mode with hot reloading. Requires bun.
boolean
Skip auto-building viewer if static files are missing.
boolean
Force rebuild of the viewer even if static files exist.

Examples

Basic Usage

View trajectories from a job directory:
View from a custom directory:

Custom Port

Start on a specific port:
Use a port range:

Network Access

Allow access from other machines:

Development Mode

Run with hot reloading (requires bun):

Force Rebuild

Rebuild the viewer frontend:

Features

Trajectory Browsing

  • Job List: Browse all jobs in the directory
  • Trial List: View all trials within a job
  • Trajectory Viewer: Step through agent execution
  • Tool Calls: Inspect tool invocations and results
  • Metadata: View trial results, rewards, and timing
  • Filter trials by outcome (success/failure)
  • Search by task name, agent, or model
  • Sort by reward, duration, or timestamp

Comparison

  • Compare multiple trials side-by-side
  • Diff tool calls and outputs
  • Analyze success vs. failure patterns

Export

  • Download trajectories as JSON
  • Export filtered views
  • Generate reports

Trajectory Format

The viewer displays trajectories in the ATIF (Agent Trajectory Interchange Format):

Directory Structure

The viewer scans for trajectories in this structure:

Server Modes

Production Mode (Default)

Serves pre-built static files:
Output:
Open http://127.0.0.1:8080 in your browser.

Development Mode

Runs frontend dev server with hot reloading:
Output:
Open http://localhost:5173 in your browser.

API-Only Mode

If static files are missing and --no-build is set:
Output:

Building the Viewer

The viewer frontend is built using Bun:

Auto-Build

On first run, the viewer automatically builds if source is available:
Output:

Manual Build

Force a rebuild:

Skip Build

Skip auto-building:

Use Cases

Debug Agent Behavior

Inspect why a trial failed:
  1. Navigate to failed trial
  2. Step through trajectory
  3. Inspect tool calls and errors
  4. Compare with successful trials

Analyze Evaluation Results

Review job results:
  1. View overall statistics
  2. Filter by success/failure
  3. Identify patterns in failures
  4. Export data for further analysis

Compare Agent Strategies

Compare different agents or models:
  1. Select trials from different agents
  2. View side-by-side
  3. Compare tool usage patterns
  4. Analyze performance differences

Demo and Presentation

Show agent behavior in meetings:
Share the URL with meeting participants.

API Endpoints

The viewer provides a REST API:
  • GET /api/jobs - List all jobs
  • GET /api/jobs/{job_id} - Get job details
  • GET /api/jobs/{job_id}/trials - List trials in a job
  • GET /api/trials/{trial_id} - Get trial details
  • GET /api/trials/{trial_id}/trajectory - Get trajectory
Access API docs at http://localhost:8080/docs (when UI is not available).

Advanced Examples

Remote Viewing

View trajectories from a remote server:

Multiple Job Directories

View multiple directories (symlink them):

Custom Port Range

Use a custom port range for team environments:

Troubleshooting

Port Already in Use

If the default port is occupied:

No Trajectories Found

If no trajectories appear:
  1. Check that trials have trajectory.json files
  2. Verify the agent supports ATIF (check SUPPORTS_ATIF flag)
  3. Ensure trials completed successfully

Build Fails

If viewer build fails:

Static Files Missing

If static files are missing:

Browser Compatibility

The viewer works best on:
  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+

See Also