乐于分享
好东西不私藏

开源 Agent 基建新标杆:OpenClaw Managed Agents 完全指南

开源 Agent 基建新标杆:OpenClaw Managed Agents 完全指南

当 Claude 推出 Managed Agents 时,很多开发者都在问:有没有开源的替代方案?

答案是:现在有了。

OpenClaw Managed Agents 是一个完整复刻 Claude Managed Agents 架构的开源项目,它把 Agent 的运行环境完全准备好了——你只需要定义 Agent 要做什么,剩下的交给平台。


为什么需要 Managed Agents?

让我们先理解一个核心问题:直接调用大模型 API 和使用 Managed Agents 有什么区别?

直接调用 API 的问题在于:会话状态怎么管理?工具调用怎么隔离?多轮对话的上下文怎么持久化?如果服务重启,正在执行的任务怎么办?

Claude Managed Agents 给出了标准答案:Agent / Environment / Session / Event 四个核心原语。但它是闭源的,只能用在 Anthropic 云上。

OpenClaw Managed Agents 把这四个原语完整复刻,并且:

  • • 支持任意模型(Anthropic、OpenAI、Gemini、DeepSeek、Moonshot、Mistral、xAI……)
  • • 支持任意云(Hetzner、AWS、GCP,从 4/月)
  • • 完全开源 MIT
  • • 零平台税(Claude Managed Agents 每 Session 小时额外收 $0.08)

四大核心模块

OpenClaw Managed Agents 的设计哲学是:把复杂的事情封装好,把简单留给用户。它的核心是四个标准模块:

1. Agent:可复用的智能体配置

Agent 是可复用的配置单元,包含:

字段
说明
model
使用的模型
instructions
系统提示词
tools
工具列表
mcpServers
MCP 服务器配置
permissionPolicy
权限策略
quota
配额限制

Agent 是版本化管理的——每次更新都创建不可变历史记录,支持乐观并发控制(PATCH 时的 version 字段),再也不会因为并发修改导致配置丢失。

2. Environment:容器运行环境配置

Environment 定义了容器的软件环境:

{
  "name"
: "data-science",
  "packages"
: {
    "pip"
: ["pandas", "numpy", "scikit-learn"],
    "apt"
: ["postgresql-client"],
    "npm"
: ["ts-node"]
  }
,
  "networking"
: {
    "type"
: "limited",
    "allowedHosts"
: ["api.openai.com", "*.anthropic.com"]
  }

}

网络策略支持两种模式:

  • • unrestricted:完全出站访问
  • • limited:白名单模式,通过 egress-proxy 限制域名访问

3. Session:隔离的执行单元

这是最核心的设计:每个 Session 对应一个独立的 Docker 容器

Session = Agent + Environment + 隔离容器

容器的生命周期完全由 Session 管理:

  • • 冷启动:约 78 秒(Hetzner CAX11)
  • • 热启动(预热池复用):约 4 秒
  • • 空闲超时自动回收:默认 10 分钟
  • • 预热池上限:5 个容器

这意味着每个用户/每个任务的 Agent 实例完全隔离,一个任务崩溃不会影响其他任务。

4. Event:事件驱动的事件流

所有交互都通过事件流完成:

事件类型
来源
说明
user.message
客户端
用户发送的消息
agent.message
Agent
Agent 的文本回复
agent.tool_use
Agent
工具调用请求
agent.tool_result
工具
工具执行结果
agent.thinking
Agent
思考过程(支持模型)
agent.tool_confirmation_request
编排器
工具执行需确认
session.status_*
系统
会话状态变更

SSE 流式传输,支持 Last-Event-ID 断点续传,断线重连不会丢失上下文。


与 Claude Managed Agents 全面对比

Claude Managed Agents
OpenClaw Managed Agents
模型
Claude 专用
任意模型
托管
Anthropic 云
任意 Docker 云
平台税
$0.08/Session 小时
0
子 Agent
预览版,不透明
正式版,完全可审查
权限策略
always_allow / always_ask
always_allow / deny / always_ask
会话配额
未暴露
成本 / Token 数 / 时长三重配额
审计日志
仅遥测
可查询的完整审计
重启安全
未说明
4 大保证
SDK
7 种语言
Python + TypeScript + OpenAI 兼容
开源
MIT

特别值得一提的是子 Agent 可审查性。在 Claude Managed Agents 中,子 Agent 的调用结果只是一个工具返回值;而在 OpenClaw Managed Agents 中,每个子 Agent 都是一个完整的 Session,可以通过同一套 API 查看其完整的执行历史。


权限策略:安全不只是说说

OpenClaw Managed Agents 提供了三种权限策略:

always_allow(默认):所有工具自动执行,适合内部可信场景。

deny:完全阻止指定工具:

{
  "type"
: "deny",
  "tools"
: ["bash", "write"]
}

always_ask:指定工具执行前需客户端确认。这使用 OpenClaw 的 before_tool_call 钩子实现,Agent 会暂停等待确认:

{
  "type"
: "always_ask",
  "tools"
: ["bash", "eval"]
}

客户端通过 user.tool_confirmation 事件解决挂起的确认请求。


部署:从 4

这是最有吸引力的部分。OpenClaw Managed Agents 提供了三种一键部署脚本:

平台
规格
价格
Hetzner CAX11
2 vCPU / 4 GB
$4/月
AWS Lightsail medium
2 vCPU / 4 GB
$24/月
GCP e2-medium
1 vCPU / 4 GB
$25/月
GCP e2-micro
1 vCPU / 1 GB
$0/月

(免费套餐)

以 1 个 Session 7×24 运行为例的成本对比:

  • • Claude Managed Agents:$57.60/月(仅基础设施,不含 Token 费用)
  • • Hetzner CAX11:$4/月

节省超过 90%。

部署命令只需要三行:

export HCLOUD_TOKEN=<your-token>
export
 MOONSHOT_API_KEY=sk-...
./scripts/deploy-hetzner.sh

重启安全:服务不怕宕机

很多 Agent 平台有个致命问题:编排器重启时,正在执行的任务会丢失。

OpenClaw Managed Agents 实现了 4 大重启安全保证:

1. HMAC 密钥持久化
子 Agent 委托令牌的 HMAC 密钥存储在 SQLite 中,编排器重启后令牌依然有效。

2. 持久化事件队列
所有提交的事件({queued: true})存储在 SQLite 中,重启后重新分发给对应容器。

3. 容器重新attach
编排器重启后,自动识别并接管标签化的运行中容器,恢复 Session 状态。

4. 观察者侧运行完成
对于重启前正在运行的 Session,通过 WebSocket 订阅其 chat 事件,确保 in-flight 的 Agent 响应不会丢失。


OpenAI SDK 兼容:一行代码切换

OpenClaw Managed Agents 提供了完整的 OpenAI SDK 兼容接口:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="unused",
    default_headers={"x-openclaw-agent-id": "<your-agent-id>"},
)

# 非流式

r = client.chat.completions.create(
    model="placeholder",
    messages=[{"role": "user", "content": "Summarize the agent platform landscape."}],
)
print
(r.choices[0].message.content)

# 流式(真实的 token 级别 SSE)

for
 chunk in client.chat.completions.create(
    model="placeholder",
    messages=[{"role": "user", "content": "Write a haiku about containers."}],
    stream=True,
):
    print
(chunk.choices[0].delta.content or "", end="", flush=True)

这意味着任何使用 OpenAI SDK 的现有代码,只需要改一个 base_url 就能迁移过来。


技术架构

所有数据持久化到 SQLite(编排器元数据)和 JSONL(事件日志),编排器本身无状态,重启后可完全恢复。


195 个测试用例

项目包含完整的测试覆盖:

  • • Session 多轮记忆(跨容器重启、跨编排器重启)
  • • 成本计算(基于 Provider 实际账单数据)
  • • SQLite 持久化(跨编排器重启,含迁移测试)
  • • 持久化事件队列(FIFO,Session 隔离)
  • • HMAC 密钥持久化
  • • 容器池重新 attach
  • • 真实 SSE token 流
  • • SSE 断点续传
  • • WebSocket 取消
  • • OpenAI SDK 兼容性(形状、多轮记忆、流式)
  • • 子 Agent 委托与可审查性
  • • Agent 版本管理(乐观并发冲突检测)
  • • 网络受限模式(9 种场景 E2E 测试)
  • • 每 Session 配额(成本 / Token / 时长三重拒绝)
  • • 审计日志(记录、过滤、保留)
  • • 权限策略(deny + always_ask 审批流)

结语

OpenClaw Managed Agents 的定位很清晰:它是 OpenClaw 框架的程序化 API 层——OpenClaw 负责在每个容器内执行 Agent,它负责把多个 Agent 实例变成一个可扩展的云服务。

如果 Claude Managed Agents 是”托管版 Claude Agent”,那么 OpenClaw Managed Agents 就是”开源版托管 Agent 平台”——不只是换一个模型那么简单,而是给了你部署在自己云上的完全控制权

GitHub 地址:https://github.com/stainlu/openclaw-managed-agents