开源 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 |
|
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.tool_use |
|
|
agent.tool_result |
|
|
agent.thinking |
|
|
agent.tool_confirmation_request |
|
|
session.status_* |
|
|
SSE 流式传输,支持 Last-Event-ID 断点续传,断线重连不会丢失上下文。
与 Claude Managed Agents 全面对比
|
|
|
|
|---|---|---|
| 模型 |
|
|
| 托管 |
|
|
| 平台税 |
|
|
| 子 Agent |
|
|
| 权限策略 |
|
|
| 会话配额 |
|
|
| 审计日志 |
|
|
| 重启安全 |
|
|
| SDK |
|
|
| 开源 |
|
|
特别值得一提的是子 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 提供了三种一键部署脚本:
|
|
|
|
|---|---|---|
|
|
|
$4/月 |
|
|
|
|
|
|
|
|
|
|
|
$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
夜雨聆风