Skip to main content
defineConfig 从根目录的 niceeval.config.ts 默认导出,只放项目级默认值。agent、model、flags、attempts 和实验预算写在 experiments/ 下的 defineExperiment 文件里。

Config 字段

name

项目名,显示在 niceeval view 顶部 hero(<h1>),省略则回退到通用标题。 可传字符串,或按 locale 提供多语言(如 { en: "...", "zh-CN": "..." }),随 view 语言切换。

workspace

上传进 Sandbox 的工作区根目录,省略则用项目根;评估用例的 sandbox 视图从这里起步。

judge

项目级默认 judge 配置(model / baseUrl / apiKeyEnv);EvalDef.judge 可按评估用例覆盖。

reporters

项目级默认 reporter 列表(如落盘 / 上传结果);EvalDef.reporters 会与它合并。

maxConcurrency

项目级默认并发上限;CLI flag / experiment 的同名设置优先级更高(没有环境变量层)。

maxBuildConcurrency

Run 级 Sandbox 镜像准备并发;与 attempt 并发独立,省略时安全默认 2。

maxSetupPrefixConcurrency

Run 级 PreparedArtifact 前缀 DAG 准备并发;与 build / attempt 并发独立。

sandboxCache

项目级 SetupPrefix cache 默认;Experiment 与显式 CLI flag 可覆盖。

timeoutMs

项目级默认单次 attempt 超时(毫秒);CLI flag / experiment / EvalDef 的同名设置优先级更高。

telemetry

OTLP 接收配置,niceeval 项目内唯一入口(不读 NICEEVAL_OTLP_* 环境变量)。 port 钉住接收端口(固定端口模式:长驻服务把 OTEL_EXPORTER_OTLP_ENDPOINT 一次性指到 http://localhost:<port>/v1/traces,跑多少次评估用例都不用改)。省略 = 每次运行动态分配 临时端口(经 ctx.telemetry 交给 adapter)。代价:固定端口下同机同时只能跑一个 niceeval 进程, 且该端口被别的进程占用时会报错——换一个空闲端口写回这里即可。 host 是报给 adapter 的接收端 hostname(而非监听地址,监听地址恒为 0.0.0.0):默认 “127.0.0.1”。只有作者已经提供受控 tunnel / 可达路由时才在这里覆盖;Docker Sandbox 默认把 receiver 放在 Sandbox 内,不依赖隐式宿主 gateway。

pricing

内置价格表(o11y/prices.json)之上的用户覆盖 / 补充,按 model 查(见 Observability · 用量与成本)。key 支持精确 model 名或 provider/* 通配(自托管/网关折扣按 provider 批量覆盖); 精确 key 优先于通配。pricing 只驱动 estimatedCostUSD 的估算(estimateCost),与 usage.costUSD(网关实测)无关——两者独立并存,互不兜底。它是 runtime/config 价目表, 固定 Inspection operation 不会把它作为额外输入。
成本边界:这里的 pricing 只提供 Runner 的 Config/runtime price table 输入。Runner 不论是否已有 Usage.costUSD,都会从 model、上报的 token 用量和这个表独立产生 estimatedCostUSD。Experiment 的预算与 t.maxCost() 使用该 estimate,Usage.costUSD 不驱动它。读取结果时使用固定 Inspection operation,它不把运行期价格配置变成另一个输入。
NiceEval 把环境准备放在普通代码里:评估用例自己需要的文件写在 test(t),agent 自己的准备写在 adapter 的 setup。Config 刻意没有 sandbox 字段,也不自动探测 provider。请在评估用例或 Experiment 上声明 template-bearing SandboxLayer,让 link planning 在创建任何资源前确定它的 owner 与配对结果。