> ## Documentation Index
> Fetch the complete documentation index at: https://opencompass-docs-preview-pr-335-0.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose a Harness

Select a registered harness and configure its complete harness-parameter schema.

A harness defines how an agent attempts a prepared task. It may call a model directly, launch a coding or terminal CLI,
or integrate an external agent framework. The benchmark still owns task preparation and scoring.

Use the recommended harness on the selected benchmark page when reproducing an official result. Choose another harness
only when its page confirms that the model protocol, environment, workspace, and prepared-task contract are compatible.

## Find a Harness

Use the live registry to see the harnesses available in your installed AgentCompass revision:

```bash theme={"system"}
agentcompass list harness
```

The sidebar links to harnesses with dedicated protocol, installation, parameter, execution, and troubleshooting
documentation. For any registry entry, including a newly integrated harness without a dedicated page, inspect its
current configuration schema with:

```bash theme={"system"}
agentcompass config docs harness <harness-id>
```

## Configure Harness Parameters

The [Run Parameter Reference](/en/user_guide/using_agentcompass/cli/run#parameter-reference) introduces
`--harness-params <json>`. The `<json>` value contains fields owned by the selected harness:

```bash theme={"system"}
agentcompass run <benchmark> <harness> "$MODEL_NAME" \
  --harness-params '{
    "<harness-field>": "<value>"
  }'
```

Unlike benchmark parameters, harness parameters have no user-facing fields shared by every harness. The selected
harness defines the complete schema.

### Inspect the Complete Schema

Print every accepted field, type, default, and description from the selected harness implementation:

```bash theme={"system"}
agentcompass config docs harness <harness-id>
```

The harness page explains valid values, supported protocols and environments, installation behavior, and interactions
that cannot be expressed by type and default alone.

### Build the JSON Object

For example, `mini_swe_agent` exposes executable, version, installation, step, cost, timeout, environment, and artifact
settings in one object:

```json theme={"system"}
{
  "version": "2.4.5",
  "install_strategy": "install_if_missing",
  "step_limit": 250,
  "cost_limit": 3.0,
  "cost_tracking": "ignore_errors",
  "timeout": null,
  "command_timeout": 2400
}
```

This expanded object demonstrates the schema; it is not a recommendation to repeat defaults. Pass only the fields that
must differ from the effective harness configuration.

`--harness-params` must be valid JSON. CLI values deep-merge over matching keys in `harness.params` from configuration
files. Inspect the merged built-in and configuration-file values before adding the final CLI override:

```bash theme={"system"}
agentcompass config show \
  --harness <harness-id> \
  --config <config-file>
```

## Keep Parameter Ownership Clear

Agent turn limits and installation settings belong in `--harness-params`. Dataset filters and verifier behavior belong
in `--benchmark-params`; model inference requests belong in `--model-params`; sandbox images, resources, and network
policies belong in `--env-params`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.