headless-adapters

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Headless Adapters

Headless 适配器

Purpose

用途

Schema-driven adapter for headless CLI agents. No code required - just define a JSON schema describing how to interact with the CLI.
Use CaseTool
Wrap headless CLI agent
headless
command
Create new schemasSchema Creation Guide
面向Headless CLI Agent的Schema驱动适配器。无需编写代码——只需定义一个JSON schema来描述与CLI的交互方式。
使用场景工具
封装Headless CLI Agent
headless
命令
创建新SchemaSchema创建指南

Quick Start

快速开始

  1. Check if a schema exists in schemas/
  2. Run the adapter:
    bash
    ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json
  1. 检查schemas/目录中是否已有对应Schema
  2. 运行适配器:
    bash
    ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json

CLI Commands

CLI 命令

headless

headless

Schema-driven adapter for ANY headless CLI agent.
bash
bunx @plaited/agent-eval-harness headless --schema <path>
Options:
FlagDescriptionRequired
-s, --schema
Path to adapter schema (JSON)Yes
Schema Format:
json
{
  "version": 1,
  "name": "my-agent",
  "command": ["my-agent-cli"],
  "sessionMode": "stream",
  "prompt": { "flag": "-p" },
  "output": { "flag": "--output-format", "value": "stream-json" },
  "autoApprove": ["--allow-all"],
  "outputEvents": [
    {
      "match": { "path": "$.type", "value": "message" },
      "emitAs": "message",
      "extract": { "content": "$.text" }
    }
  ],
  "result": {
    "matchPath": "$.type",
    "matchValue": "result",
    "contentPath": "$.content"
  }
}
Session Modes:
ModeDescriptionUse When
stream
Keep process alive, multi-turn via stdinCLI supports session resume
iterative
New process per turn, accumulate historyCLI is stateless
面向任意Headless CLI Agent的Schema驱动适配器。
bash
bunx @plaited/agent-eval-harness headless --schema <path>
选项:
标识描述是否必填
-s, --schema
适配器Schema(JSON)的路径
Schema格式:
json
{
  "version": 1,
  "name": "my-agent",
  "command": ["my-agent-cli"],
  "sessionMode": "stream",
  "prompt": { "flag": "-p" },
  "output": { "flag": "--output-format", "value": "stream-json" },
  "autoApprove": ["--allow-all"],
  "outputEvents": [
    {
      "match": { "path": "$.type", "value": "message" },
      "emitAs": "message",
      "extract": { "content": "$.text" }
    }
  ],
  "result": {
    "matchPath": "$.type",
    "matchValue": "result",
    "contentPath": "$.content"
  }
}
会话模式:
模式描述使用场景
stream
保持进程存活,通过标准输入实现多轮交互CLI支持会话恢复
iterative
每轮交互启动新进程,累积历史记录CLI无状态

Pre-built Schemas

预构建Schema

Tested schemas are available in schemas/:
SchemaAgentModeAuth Env VarStatus
claude-headless.json
Claude Codestream
ANTHROPIC_API_KEY
Tested
gemini-headless.json
Gemini CLIiterative
GEMINI_API_KEY
Tested
Usage:
bash
undefined
已测试的Schema可在schemas/目录中获取:
SchemaAgent模式认证环境变量状态
claude-headless.json
Claude Codestream
ANTHROPIC_API_KEY
已测试
gemini-headless.json
Gemini CLIiterative
GEMINI_API_KEY
已测试
使用示例:
bash
undefined

Claude Code

Claude Code

ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json
ANTHROPIC_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/claude-headless.json

Gemini CLI

Gemini CLI

GEMINI_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/gemini-headless.json
undefined
GEMINI_API_KEY=... bunx @plaited/agent-eval-harness headless --schema .claude/skills/headless-adapters/schemas/gemini-headless.json
undefined

Creating a Schema

创建Schema

  1. Explore the CLI's
    --help
    to identify prompt, output, and auto-approve flags
  2. Capture sample JSON output from the CLI
  3. Map JSONPath patterns to output events
  4. Create schema file based on an existing template
  5. Test with
    headless
    command
See Schema Creation Guide for the complete workflow.
  1. 查看CLI的
    --help
    信息,识别提示、输出和自动批准标识
  2. 捕获CLI的JSON输出示例
  3. 将JSONPath模式映射到输出事件
  4. 基于现有模板创建Schema文件
  5. 使用
    headless
    命令进行测试
完整工作流请参考Schema创建指南

Troubleshooting

故障排除

Common Issues

常见问题

IssueLikely CauseSolution
Tool calls not capturedJSONPath not iterating arraysUse
[*]
wildcard syntax - see guide
"unexpected argument" errorStdin mode misconfiguredUse
stdin: true
- see guide
401 Authentication errorsAPI key not properly configuredSet the correct API key environment variable (see Pre-built Schemas table)
Timeout on promptJSONPath not matchingCapture raw CLI output, verify paths - see guide
Empty responsesContent extraction failingCheck extract paths - see guide
Complete troubleshooting documentation: Troubleshooting Guide
问题可能原因解决方案
工具调用未被捕获JSONPath未遍历数组使用
[*]
通配符语法 - 查看指南
"unexpected argument"错误标准输入模式配置错误设置
stdin: true
- 查看指南
401认证错误API密钥配置不正确设置正确的API密钥环境变量(请参考预构建Schema表格)
提示超时JSONPath不匹配捕获CLI原始输出,验证路径 - 查看指南
空响应内容提取失败检查提取路径 - 查看指南
完整故障排除文档: 故障排除指南

External Resources

外部资源

Related

相关内容

  • agent-eval-harness skill - Running evaluations against adapters
  • agent-eval-harness skill - 针对适配器运行评估