> ## Documentation Index
> Fetch the complete documentation index at: https://agent-compass.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# agentcompass config

`agentcompass config` 用于查看配置文件合并后的值，或查询当前安装中组件接受的配置字段。

```bash theme={"system"}
agentcompass config {show|docs}
```

## `config show`

`config show` 合并内置默认值与已加载的配置文件，并将结果输出为 YAML 或 JSON：

```bash theme={"system"}
agentcompass config show [OPTIONS]
```

未提供组件选择器时，命令只输出 `runtime` 和 `execution`。使用 `--benchmark`、`--harness` 或 `--env` 可加入指定组件的配置；每个选择器都支持以空格分隔多个 ID，也可以重复使用。

```bash theme={"system"}
agentcompass config show \
  --config examples/configs/swebench_verified.yaml \
  --benchmark swebench_verified \
  --harness mini_swe_agent \
  --env docker
```

| 参数                    | 说明                                     |
| --------------------- | -------------------------------------- |
| `--config <path>`     | 加载额外的 YAML 或 JSON 配置文件；可重复指定，后指定的文件优先。 |
| `--benchmark <id>...` | 显示指定 Benchmark 的内置默认值和配置文件覆盖。          |
| `--harness <id>...`   | 显示指定 Harness 的内置默认值和配置文件覆盖。            |
| `--env <id>...`       | 显示指定 Environment 的内置默认值和配置文件覆盖。        |
| `--format yaml\|json` | 选择输出格式；默认为 `yaml`。                     |

这些选择器只决定输出哪些组件配置，不会改变评测使用的组件；配置文件中的其他组件也不会自动显示。

`config show` 会遮盖常见密钥、令牌和密码字段，但私有端点等信息不一定会被识别。分享或提交输出前仍需检查其内容。

## `config docs`

`config docs` 查询一个已注册组件声明的字段、类型、内置默认值和说明：

```bash theme={"system"}
agentcompass config docs KIND COMPONENT-ID
```

例如：

```bash theme={"system"}
agentcompass config docs benchmark swebench_verified
agentcompass config docs harness mini_swe_agent
agentcompass config docs env docker
```

| 位置参数           | 取值                            | 说明                                                                               |
| -------------- | ----------------------------- | -------------------------------------------------------------------------------- |
| `KIND`         | `benchmark`、`harness` 或 `env` | 组件类型。                                                                            |
| `COMPONENT-ID` | 已注册的组件 ID                     | 要查询的组件。可通过 [`agentcompass list`](/zh/user_guide/using_agentcompass/cli/list) 查找。 |

该命令显示组件代码中声明的结构，不读取配置文件；较长的默认值会缩略显示。若要查看配置文件合并后的结果，请使用 `config show`，其中的敏感字段仍会被遮盖。待测 Model 的参数不属于 `config docs` 的查询范围，具体字段见[配置 Model](/zh/user_guide/modules/models/overview)。

## 配置文件结构

配置文件适合保存可在多次运行中复用的默认值。支持的顶层部分如下：

| 配置路径                | 内容                                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------------------ |
| `runtime`           | 结果与数据目录、评测总时限、日志、进度和 [Environment provider 限制](/zh/user_guide/using_agentcompass/run_controls#安全扩展并发)等运行级设置。 |
| `execution`         | 任务并发、重试、环境保留和结果分析等执行设置。                                                                                      |
| `benchmarks.<id>`   | 指定 Benchmark 的配置字段。                                                                                          |
| `harnesses.<id>`    | 指定 Harness 的配置字段。                                                                                            |
| `environments.<id>` | 指定 Environment 的配置字段。                                                                                        |

组件字段直接写在对应 ID 下，不要再嵌套一层 `params`。`--config` 加载的运行配置不支持顶层 `models`；待测 Model 通过 `agentcompass run` 参数、`agentcompass launch` 编排请求或 Python SDK 提供。

仓库中的 [`examples/configs/swebench_verified.yaml`](https://github.com/open-compass/AgentCompass/blob/main/examples/configs/swebench_verified.yaml) 展示了这些部分的组合写法。它只选择一个 SWE-bench Verified 样本，适合验证配置与运行环境；删除 `benchmarks.swebench_verified.sample_ids` 即可选择完整数据集。

设置 `MODEL_NAME`、`MODEL_BASE_URL` 和 `MODEL_API_KEY` 后，在仓库根目录中运行：

```bash theme={"system"}
agentcompass run swebench_verified mini_swe_agent "$MODEL_NAME" \
  --env docker \
  --config examples/configs/swebench_verified.yaml \
  --model-base-url "$MODEL_BASE_URL" \
  --model-api-key "$MODEL_API_KEY"
```

## 覆盖顺序

`config show` 按以下顺序合并配置，优先级从低到高：

1. 内置 `runtime`、`execution` 和组件默认值。
2. `$XDG_CONFIG_HOME/agentcompass/config.yaml`；未设置 `XDG_CONFIG_HOME` 时使用 `~/.config/agentcompass/config.yaml`。
3. 从当前工作目录向上找到的最近一个 `config.yaml`。
4. 显式指定的 `--config` 文件；可重复使用，后指定的文件覆盖先指定的文件。

映射会递归合并；标量和列表由高优先级值整体替换。不存在的用户级或项目级文件会被忽略，显式指定但不存在的文件会报错。

`config show` 只反映上述配置文件层。实际评测中，显式的 `run`/`launch` CLI 选项、编排文件字段和 Python SDK 参数优先于配置文件；单评测请求的[依赖自动安装](/zh/user_guide/using_agentcompass/dependencies#自动安装)还可由环境变量 `AGENTCOMPASS_AUTO_INSTALL_DEPENDENCIES` 覆盖，`launch` 不读取该变量。[Recipe](/zh/user_guide/other_features/recipes) 随后按具体任务适配执行计划：它通常会保留兼容的显式镜像和资源设置，但仍可能调整 Benchmark 或 Harness 必需的工作区、网络或执行设置。因此，`config show` 的结果不是某次评测的完整运行计划。

## 环境变量与敏感信息

配置文件支持使用完整的 `${VAR}` 引用环境变量。例如：

```yaml theme={"system"}
environments:
  daytona:
    api_key: ${DAYTONA_API_KEY}
```

环境变量在配置文件合并后解析。变量未设置时会得到空字符串；不支持 `https://${HOST}/api` 这类在同一字段中拼接变量的写法。

不要将密钥、令牌或私有端点提交到版本控制。若必须使用包含敏感值的私有配置文件，请将其排除在版本控制之外。
