Skip to main content
A job is a collection of trials. A trial is an agent’s attempt at completing a task. To run a job in Harbor, use the harbor run command.

Configuring a job

Harbor exposes CLI flags for configuring jobs.
Run harbor run --help to see all available flags.

Agents

Harbor has pre-integrated agents and support for custom agents. Run harbor run --help to see the available agents. You can configure agents using the --ak flag. You can also configure the model using the --model/-m flag.
See Pre-integrated agents or Custom agents to learn more.

Config files

Under the hood, configuring a job with CLI flags builds a JobConfig object and passes it to the runner. You can see the config when you run harbor run with the --print-config flag, or by inspecting the <job/path>/config.json file after you run harbor run. You can also use harbor job init to create and save a config instead of running the job. For frequent setups, we recommend creating and version controlling your configs.
You can pair a config with CLI flags to override values in the original config.
An example config is shown below.
See Configs for the complete job config schema.

Run on Harbor Hub

You can run your jobs on Harbor Hub by including the --launch flag. Harbor Hub
  • Orchestrates your trials in the cloud
  • Enforces per-provider concurrency limits
  • Pauses on cascading failures (e.g. usage limits)
  • Backs off on rate limits
  • Can be accessed using the UI or CLI to debug, trigger retries, share results, or monitor progress
First, sign in.
Then, run your job with the --launch flag.
See Hosted jobs for more information about evaluating custom agents and Git-based tasks and datasets.