当你的团队需要同时管理多个 AI 编码 Agent:Lite-Harness 统一自托管方案
如果你同时使用 Claude Code、Codex、OpenCode 甚至 Cursor,你一定遇到过这个问题:每个 Agent 都有自己的运行方式、配置文件和 API 密钥,切换起来手忙脚乱,团队协作更是无从谈起。
Lite-Harness 是 LiteLLM Labs 最新开源的解决方案——一个统一 Agent 运行时,让你用一个 Docker 容器运行所有主流 AI 编码 Agent,共享 MCP 工具、提示词和会话管理。
为什么需要 Lite-Harness?
团队使用多个 AI 编码 Agent 的典型痛点:
| 问题 | 传统方案 | Lite-Harness |
|---|---|---|
| 多个 Agent 各自独立运行 | 维护 3-4 个不同的服务 | 一个容器搞定 |
| API 密钥分散管理 | 每个 Agent 单独配置 | 统一通过 LiteLLM 网关 |
| MCP 工具重复配置 | 每个 Agent 单独注册 | 共享同一套工具 |
| 会话不互通 | 每个 Agent 有独立的上下文 | 持久化会话,跨 Agent 可用 |
| 沙箱环境不一致 | 每套 Agent 各有沙箱 | 统一 E2B/Daytona 沙箱 |
快速上手
Lite-Harness 的安装出奇简单。前提是你要有一个 LiteLLM 网关(兼容 OpenAI API 格式的模型代理)。
第一步:拉取并运行
export MASTER_KEY=$(openssl rand -hex 32) echo "MASTER_KEY: $MASTER_KEY" docker run -p 4096:4096 \ -e LITELLM_API_BASE=https://your-litellm-gateway \ -e LITELLM_API_KEY=*** \ -e MASTER_KEY="$MASTER_KEY" \ ghcr.io/litellm-labs/lite-harness:latest
打开 http://localhost:4096,输入 Master Key 登录。你就拥有了一个运行中统一的 Agent 管理界面。
第二步:安装 Skills 并部署 Agent
Lite-Harness 自带一套 CLI 工具,叫做 Skills。安装后你就可以在任意 AI 编码 Agent 中部署新的自动化 Agent:
npx skills add LiteLLM-Labs/lite-harness -g
然后在 Claude Code、Codex 或 Cursor 中运行:
/deploy-agent > Deploy a GitHub stargazer outreach agent that DMs new stars on LinkedIn, runs every 4 hours on weekdays, requires human approval before each send. ✓ Checking capabilities... sandbox=e2b vault=available cron=supported ✓ Stored vault key BROWSER_USE_API_KEY ✓ Stored vault key LINKEDIN_PROFILE_ID ✓ Created agent: agent_abc123 (opencode · claude-sonnet-4-6) ✓ Test run started: run_xyz789 → Logs: https://lite-harness.local/api/agents/agent_abc123/runs/run_xyz789/logs
这个 /deploy-agent 命令是 Lite-Harness 的核心交互模式——你用自然语言描述想要的任务,它自动配置沙箱、密钥、定时和审批流程。
核心功能详解
1. 多 Harness 统一调度
Lite-Harness 支持四种主流编码 Agent 运行时:OpenCode、Claude Code、Codex 和 GitHub Copilot。
你可以把它们当作路由选择而非技术锁定:
lite-harness run --harness opencode --model claude-sonnet-4-6 lite-harness run --harness claude-code --model gpt-5
所有 Harness 共享同一个 OpenCode 兼容 API,所以切换 Agent 不会影响已配置的 MCP 工具和提示词。
2. 共享 MCP 工具生态
这是 Lite-Harness 最大的亮点。你只需配置一次 MCP 工具(例如文件系统、数据库、浏览器自动化),所有通过 Lite-Harness 运行的 Agent 都能自动使用它们:
lite-harness mcp add postgres \ --command "npx @anthropic/mcp-postgres" \ --args "$DATABASE_URL"
相比传统方式——在 Claude Code 中配置 ~/.claude.json、在 Codex 中配置 codex.json、在 OpenCode 中配置 opencode.json——Lite-Harness 的共享配置把维护成本 降低了一个数量级。
3. 会话持久化
默认情况下,Agent 会话在重启后会丢失。Lite-Harness 支持持久化存储:
docker run -p 4096:4096 \ -v ./data:/home/sandbox/.local/share/lite-harness \ -e LITELLM_API_BASE=... \ -e MASTER_KEY=... \ ghcr.io/litellm-labs/lite-harness:latest
重启后服务器会输出 hydrated N session(s) from db,所有之前的会话立即可用。这对于长时间运行的自动化 Agent 调度尤为重要。
4. 隔离沙箱
设置 E2B_API_KEY 或 DAYTONA_API_KEY 后,运行的 Agent 会在隔离的 Linux 沙箱中执行。支持模板、快照和密钥保管库(Vault),适合需要安全隔离的生产场景。
实战场景:自动化定时代理
假设你需要在工作日每 4 小时检查一次 GitHub 仓库的新 Issue,并用 Slack 通知团队。用 Lite-Harness 只需一行自然语言指令:
/deploy-agent > Monitor GitHub Issues for repo "my-org/my-repo" every 4 hours on weekdays, summarize new issues, and post to #dev channel in Slack. Require human approval before posting. ✓ Checking capabilities... sandbox=e2b vault=available cron=supported ✓ Stored vault key GITHUB_TOKEN ✓ Stored vault key SLACK_WEBHOOK_URL ✓ Created agent: agent_gh_monitor_001 ✓ Scheduled: 0 */4 * * 1-5 America/Los_Angeles
不需要写任何调度代码,不需要配置 cron 表达式——Lite-Harness 自动把自然语言翻译为定时任务。
vs 其他方案
| 特性 | Lite-Harness | 各自独立运行 | Codex CLI | OpenCode 原生 |
|---|---|---|---|---|
| 多 Agent 支持 | ✅ 全部统一 | ❌ 各自为政 | ❌ 仅 Codex | ❌ 仅 OpenCode |
| 共享 MCP 工具 | ✅ 一次配置 | ❌ 重复配置 | ❌ 不适用 | ❌ 不适用 |
| 持久化会话 | ✅ 内置 | ❌ 需自行实现 | ❌ 无 | ❌ 无 |
| 沙箱隔离 | ✅ E2B/Daytona | ✅ 各自实现 | ❌ 无 | ✅ 可选 |
| Cron 调度 | ✅ 自然语言 | ❌ 手动配置 | ❌ 无 | ❌ 无 |
| 部署方式 | 一个 Docker 容器 | N 个服务 | CLI 本地运行 | CLI 本地运行 |
注意事项
- 需要 LiteLLM 网关:Lite-Harness 强依赖 LiteLLM Gateway 做模型路由,不支持直接连接 OpenAI/Anthropic API
- 磁盘空间:完整运行需要拉取 Docker 镜像 ~500MB,每个 Agent 会话额外 ~50-100MB
- Sandbox 依赖:如果想用隔离沙箱,需要有 E2B 或 Daytona 账号
- 社区活跃度:项目刚发布(36⭐),文档还在完善中,生产部署前建议先试用
总结
Lite-Harness 解决了一个真实且普遍的问题:AI 编码 Agent 生态的碎片化。当你的团队从使用单个 Agent 转向多个 Agent 协作时,统一运行时的价值会成倍放大——从维护多个服务、多套配置、多个会话,变成一个 Docker 容器、一套共享工具、一个管理界面。
对于正在评估 AI 编码工具链的团队来说,Lite-Harness 是一个值得关注的基础设施选择。它的思路——用标准化运行时吸收生态多样性——恰好呼应了 LiteLLM 在模型网关领域的一贯理念。