2026年6月6日 2 分钟阅读

用 Lite-Harness 统一调用 Claude Code、OpenCode 与 Codex 编码 Agent

tinyash 0 条评论

如果你同时使用 Claude Code、OpenCode 和 Codex CLI,你一定遇到过这个问题:每个 Agent 有自己的启动方式、参数格式和 SDK。切换工具意味着切换整套工作流——不同环境变量、不同的 API 密钥管理方式、不同的工具注册机制,切换成本远超工具本身的价值。

更糟的是,当你想要在同一个项目中对比不同 Agent 的输出质量时(”Claude 修这个 bug 和 GPT 修得哪个好?”),你需要开两个终端、手动对齐 prompt、分别检查结果。这种断裂的体验已经成为实际工作中的痛点。

痛点对比:各自独立运行 vs Lite-Harness

维度各自独立运行Lite-Harness
多 Agent 支持每个 Agent 一套命令统一 query() 接口
API 密钥管理每终端独立设置同一环境上下文
SDK 语言TS 或 Python 各不同同时提供 TS 和 Python
切换成本停旧 → 开新 → 重配harness: "codex" 改一行
生产集成需自行封装 CLI可直接导入 SDK
许可证各项目不同MIT 许可

快速上手

Lite-Harness 是 LiteLLM Labs(LiteLLM 团队,主项目 20k+ ⭐)推出的统一 Agent 运行时 SDK。安装只需三步:

git clone https://github.com/LiteLLM-Labs/lite-harness.git
cd lite-harness

npm install --prefix src/sdk/server

export ANTHROPIC_API_KEY=sk-xxx   # 用于 claude-code
export OPENAI_API_KEY=sk-xxx      # 用于 codex

然后就能用 Python 或 TypeScript 统一调用了:

from lite_harness import query, AgentOptions

async for msg in query(
    prompt="修复所有失败的测试",
    options=AgentOptions(harness="claude-code", model="claude-opus-4-8"),
):
    print(msg)

async for msg in query(
    prompt="修复所有失败的测试",
    options=AgentOptions(harness="codex", model="gpt-5.5"),
):
    print(msg)

TypeScript 版本同样简洁:

import { query } from "@lite-harness/sdk";

for await (const message of query({
  prompt: "修复所有失败的测试",
  options: { harness: "claude-code", model: "claude-opus-4-8" },
})) {
  console.log(message);
}

核心功能

1. 多 Harness 调度

Lite-Harness 内置了三种 Agent 运行器:

  • claude-code — 基于 Anthropic Claude Agent SDK
  • codex — 基于 OpenAI Codex CLI
  • pi-ai — Pi AI 运行器

切换只需改 harness 参数值,同一段 prompt 在三种 Agent 间的表现差异一目了然。对于评测型任务(”哪个 Agent 更适合我的项目”),这个特性本身就节省了大量手动操作。

2. 与 LiteLLM AI Gateway 集成

如果你的团队已经使用 LiteLLM AI Gateway 做 API 密钥管理、预算控制和回退路由,Lite-Harness 直接对接:

export LITELLM_API_BASE=https://litellm.your-company.com/v1
export LITELLM_API_KEY=sk-xxx

await query({
  prompt: "分析这个生产 trace",
  options: {
    harness: "codex",
    model: "anthropic/claude-opus-4-8",  // 通过 Gateway 路由
  },
});

这意味着你可以在不改变 Agent 代码的前提下,通过 Gateway 实现模型回退(Claude 挂了 → 自动切到 GPT)、用量统计和预算控制。

3. Claude Agent SDK 兼容的消息格式

所有 Agent 的返回都以统一流式格式输出(兼容 Claude Agent SDK 的 MessageStreamEvent 格式)。这意味着你的前端展示层、日志系统、回调处理都不需要为每个 Agent 写适配代码——一套接口处理所有返回。

横向对比:Lite-Harness vs 各自独立运行 vs OpenCode 原生

特性Lite-Harness各自运行OpenCode 原生
统一 Prompt 接口query() 一处调用❌ 各 CLI 语法不同❌ 仅限 OpenCode
多模型切换✅ 一行改 model❌ 需改 CLI 参数❌ 仅支持 Codex
流式输出格式✅ 统一格式❌ 格式各异❌ 专有格式
企业 Gateway 集成✅ 原生支持❌ 需自行封装❌ 不支持
安装复杂度克隆 + npm install各工具独立安装pip install
协议MIT各项目不同Apache 2.0

注意事项

  • 仍处于 Preview 阶段:SDK 尚未发布到 npm 或 PyPI,目前需要克隆仓库使用。如果有强制的生产环境依赖,可以关注 GitHub Issues 等待发布状态。
  • 需要先有 Agent 本身:Lite-Harness 只是运行时调度层,不包含 Claude Code 或 Codex CLI 的安装。你需要先确保这些 Agent 在你的开发环境中可用。
  • 适合个人/小团队:目前的设计侧重于开发者体验,企业级的多租户/权限分离尚未覆盖。
  • API 密钥安全:密钥通过环境变量注入,建议生产环境配合 LiteLLM Gateway 使用,而非直接暴露。

总结

如果你在多个 AI 编码 Agent 间切换(或想对比它们的输出质量),Lite-Harness 提供了一个优雅的统一接口。它不重新发明任何 Agent,而是让你用同一段代码调度所有 Agent——一条 import 语句,调用全部编码 Agent。配合 LiteLLM Gateway 使用时,还可以获得企业级的密钥管理、日志审计和成本控制能力。

适合人群:多 Agent 使用者、Agent 效果评测者、需要将 Agent 集成到现有工作流的团队。

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。