用途:面向无头 CLI 智能体的 schema 驱动适配器,用于把输出 JSON 的 CLI 智能体接入评测流程,无需编写代理专用代码。
主要能力:通过 headless 命令按 JSON schema 封装 CLI;支持 stream(保持进程存活、经 stdin 多轮)与 iterative(每轮新进程、累积历史)两种会话模式;用 JSONPath 把 CLI 输出映射为消息、工具调用等事件,并提取工具调用的输入与输出。
使用方式:先按 Schema Creation Guide 创建 schema;执行 bunx @plaited/agent-eval-harness headless --schema <path>,其中 -s/--schema 为必填。schema 包含 version、name、command、sessionMode、prompt、output、autoApprove、outputEvents、result 等字段,可为流式或迭代模式配置。
适用场景:需要把任意输出 JSON 的 CLI 智能体纳入统一评测与轨迹采集时使用。
限制与安全:CLI 输出属不可信内容,轨迹字段(尤其 tool_call.input 与 tool_call.output)应视为不可信,不得执行、用于未净化的 shell 命令,或未经注入防护直接传给 LLM。autoApprove 会绕过安全确认,高风险标志仅限隔离容器使用,并应使用最小权限标志;修改文件系统的评测应使用 --workspace-dir 或 Docker。常见问题包括工具调用未捕获、输入输出缺失、认证错误、超时与空响应,均需检查 JSONPath 与提取路径。