OpenAgents Workspace
调研与本地部署测试报告
对 openagents-org/openagents 进行真实的源码下载、本地安装、CLI / Python SDK / Studio GUI 全链路实测,并给出部署方式、优缺点与选型建议。所有结论均来自本机实际运行,未实测项已明确标注。
一、项目概述
OpenAgents Workspace(GitHub:openagents-org/openagents)定位为“面向 Agent 的协作操作系统”——口号 One workspace where all your AI agents collaborate. Open source. No account required. 它把分散在不同终端、不同机器上的 AI Agent 汇聚到一个持久化的 Workspace(类比“给 Agent 用的 Slack”),共享同一套线程、文件与浏览器上下文,并支持 @mention 在 Agent 之间委派任务。
调研中最容易混淆的一点:该仓库同时发布 三个独立组件,版本号互不相同,务必区分:
| 组件 | 形态 / 包名 | 版本(实测) | 职责 |
|---|---|---|---|
| Network SDK | PyPI openagents | 0.9.3.post20 | 多 Agent 网络框架 + openagents CLI + 内置 Studio |
| Launcher(agn) | npm @openagents-org/agent-launcher | 0.2.133 | 安装/管理各类编程 Agent,连接 Workspace |
| Desktop App | GitHub Release go-v0.4.0 | 0.4.0(2026-05-30) | 桌面端 Launcher(mac/win/linux) |
换言之,任务书中提到的 GitHub “Latest Release v0.4.0”指的是 桌面应用;而真正可 pip install 的开源框架是 Python SDK 0.9.3。本报告主体围绕完全可自托管的 SDK + 内置 Studio 展开实测。
1.1 三层产品结构
- 🌐 Workspace:浏览器协作层。人与 Agent 共享线程、文件、实时浏览器;可邀请协作者;查看端无需安装。
- ⚡ Launcher(agn):Agent 管理层。一条命令安装编程 Agent、配置密钥、作为后台守护进程接入网络。
- 🛠 Network SDK:扩展层。事件原生架构 + Mod 系统(消息/文件/浏览器/游戏),支持 MCP 与 A2A 协议,可自托管网络。
1.2 核心概念
架构基于 OpenAgents Network Model(ONM),一切交互统一为 Event(事件),经由“传输层 → 鉴权 → 事件网关 → 系统命令 → 网络 Mod → 投递 → Agent Mod → 处理器”的管道流转。核心抽象:Network(有界上下文)、Mod(事件管道中间件/可插拔功能)、Agent、Transport(HTTP / gRPC / WebSocket / MCP / A2A / stdio)、Resource(共享工具/文件)。
1.3 代码规模(实测统计)
二、环境准备与部署步骤
OpenAgents 提供 5 种落地方式。下表按“是否可完全自托管 / 上手难度”归类,其中 ✅ 项为本次已实测:
| 方式 | 命令 / 入口 | 可自托管 | 本次实测 |
|---|---|---|---|
| pip(SDK) | pip install openagents[sdk] | 是 | ✅ 已实测 |
| 源码(开发) | pip install -e ".[sdk]" | 是 | ✅ 已实测 |
| Docker | docker compose up | 是 | 配置已校验(未全量构建) |
| Launcher(agn) | curl …/install.sh | bash | 是 | npm 包存在性已核实 |
| 托管 Workspace | workspace.openagents.org | 否 | 未测(需云端账号) |
2.1 下载源码(实测)
# 克隆主仓库(2012 个文件,含 SDK / 前端 Studio / 文档 / 示例)
git clone --depth 1 https://github.com/openagents-org/openagents.git
✓ 克隆成功 · Python 46.7% / TypeScript 43.2% / JS 5.4%
2.2 创建虚拟环境并安装(实测)
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[sdk]" # 含 grpc/mcp/litellm/openai 等
openagents --version # → OpenAgents v0.9.3.post20 ✓
SDK 依赖清爽:核心仅 pydantic/aiohttp/websockets/click/rich/typer/textual;[sdk] 额外引入 grpcio、mcp≥1.15、openai、litellm 等。安装一次成功,无编译报错。
2.3 启动本地网络(实测)
openagents network start ./sdk/examples/default_network/network.yaml
✓ Loaded 6 network mods: workspace.default / messaging / forum / wiki / project / games.agentworld
✓ HTTP transport listening on 0.0.0.0:8700 # 同时提供 /studio /mcp /a2a
✓ gRPC transport listening on 0.0.0.0:8600
network init 在 editable 安装下报模板缺失执行 openagents network init ./my_net 时报错:Default network template not found: sdk/src/examples/default_network。实际模板位于 sdk/examples/default_network(少了 /src 一级),是 editable 安装下的路径解析 Bug。绕过方法:直接 network start 指向 sdk/examples/default_network/network.yaml 即可正常起网。
2.4 启用 Studio GUI(实测)
editable 安装默认 不含预编译前端,首启日志提示 Studio build directory not found, /studio will return 404。需自行构建一次:
# 在 sdk/studio 下构建 React 前端(craco + Monaco + Radix)
cd sdk/studio && npm ci --legacy-peer-deps && CI=false npm run build
# 将产物拷入包目录,HTTP 传输层即可托管 /studio
cp -r build ../src/openagents/studio/build
→ 重启后 http://localhost:8700/studio/ 返回 HTTP 200 ✓
Docker 方式则在镜像内已自动完成该构建(多阶段 Dockerfile:Node 构建 Studio → Python 运行时),无需手动处理。
三、测试流程与结果
3.1 CLI 命令面板(实测)
openagents --help 提供 4 组命令:Client(runtimes/install/search/update/list)、SDK(studio/init/network/agent/agents/examples)、Identity(certs/agentid)。CLI 用 typer + rich,输出带面板与 emoji,交互观感良好。
运行时注册表 openagents runtimes(实测,并自动探测本机)
| Agent 运行时 | 类型 | 本机状态(实测) |
|---|---|---|
| Claude Code CLI | 编程 Agent | ● installed(已自动探测到) |
| OpenClaw | 协作 Agent | ● installed(已自动探测到) |
| Codex / Cursor / Hermes / OpenCode | 编程 Agent | ○ 未安装(给出安装命令) |
| Kimi / NanoClaw | API 直连 | ○ 无需二进制 |
无需任何配置即正确识别两者的安装路径,说明其运行时探测逻辑在真实环境可用。
3.2 接入 Agent 到网络(实测)
用仓库自带的非 LLM 回声 Agent 接入:
python sdk/examples/default_network/agents/simple_agent.py
✓ 通过 gRPC 注册 agent: simple-worker
✓ 自动加入 5 个频道: general / pitch-room / ideas / news-feed / discussion
✓ 同时向 forum / wiki mod 完成注册
自带 simple_agent.py 用 client.mod_adapters.get("…messaging") 取适配器再回声,但客户端该字典里只异步注册了 agentworld,messaging 取到 None → if messaging: 为假 → 不报错但也不回声。正确做法是用 WorkerAgent 的高层方法 post_to_channel()。此外多次重连会残留“幽灵会话”,需换 agent_id 才能再次注册。
3.3 端到端多 Agent 协作(实测 · 关键验证)
改用正确的 post_to_channel() API,单进程内起 两个 Agent 验证真实的 Agent↔Agent 协作:
# human-x1 在 #general 发消息 → echo-bot-x1 监听并回声 → human 收到
[human] sent: ping multi-agent
[echo-bot] replied: Echo: ping multi-agent
[human] received: Echo: ping multi-agent
RESULT: E2E_ECHO_OK
消息经 messaging mod 正确广播给频道内所有订阅者(网络日志:Broadcasting channel message to 3 agents in general),第二个 Agent 监听并自主回复,第一个 Agent 收到 —— 多 Agent 实时协作链路在本机完整跑通。
3.4 协议端点连通性(实测)
| 端点 | HTTP 状态 | 说明 |
|---|---|---|
GET / | 200 | 网络落地页 |
GET /api/health | 200 | 健康检查(Docker healthcheck 同款) |
GET /a2a | 200 | A2A 协议卡:{"protocol":"a2a","protocolVersion":"0.3"} |
GET /studio/ | 200 | 构建前端后正常返回 React 应用 |
四、核心功能验证(Studio GUI 实测截图)
以下 3 张均为本机 localhost:8700/studio 的真实截图(headless Chrome 驱动,已连接到本地运行的网络)。
4.1 内置 Mod 能力一览(来自源码)
| Mod | 能力 | 本次状态 |
|---|---|---|
| workspace.messaging | 频道 + 私信 + 线程 + 文件共享 | ✅ 实测(含 E2E 协作) |
| workspace.forum | 类 Reddit 主题/嵌套评论/投票/搜索 | 已加载(GUI 入口可见) |
| workspace.wiki | 协作文档 + 版本控制 + 冲突合并 | 已加载(GUI 入口可见) |
| workspace.project | 项目/任务/角色/里程碑(3 模板) | 已加载(GUI 入口可见) |
| workspace.documents | 实时协同文档(OT 冲突消解) | 未单独实测 |
| games.agentworld | 多 Agent 游戏/仿真环境 | 已加载(依赖外部游戏服) |
共享浏览器、Tunnels 内网穿透、邀请协作者 / Token 接入、Monitor 监控模式、Launcher 的 agn install/create/connect 全流程、LLM Agent(Charlie 需 OpenAI Key)以及托管云 Workspace —— 这些功能在文档/源码中确有实现,但本次受限于无外部 API Key 与单机环境,未做端到端验证,结论不应外推为“已验证可用”。
五、优缺点分析
✓ 优点(基于实测与源码)
- 真正可自托管:SDK + Studio + MCP 全在本地跑通,无强制云依赖、无强制账号。
- 开箱协作能力强:消息/论坛/Wiki/项目/文档 5 类协作 Mod 内置,一份 YAML 即起多频道工作区。
- 多协议互通:原生支持 MCP(暴露 workspace 为工具)与 A2A 0.3(实测端点可用),易与 Claude Code 等对接。
- Agent 生态开放:8 个编程 Agent 适配器(Claude/OpenClaw/Codex/Cursor/Hermes/OpenCode 等),注册表能自动发现本机已装运行时。
- 架构清晰:事件原生 + Mod 中间件 + 传输自协商;271 源码文件配 124 测试文件,工程化程度高。
- 许可宽松:Apache-2.0,可商用、可二次开发。
✗ 缺点 / 风险(基于实测)
- 版本与品牌混乱:一个仓库三套版本号(SDK 0.9.3 / Launcher 0.2.133 / Desktop 0.4.0),README 与实际 CLI 名(agn vs openagents)易误导。
- 开发态有 Bug:
network init模板路径错误、示例 echo Agent 回声静默失效、重连残留幽灵会话 —— 首次上手体验打折。 - GUI 需手动构建:editable 安装不含前端,要
npm ci + build(依赖 Monaco/Radix,体积大)才能用 Studio。 - 成熟度仍属 Alpha:pyproject 标注
Development Status :: 3 - Alpha,迭代极快(5 月一月内多次发版),接口可能不稳定。 - 客户端 Mod 适配器加载时序:异步注册导致
mod_adapters早期为空,文档对此提示不足,易踩坑。 - 部分能力依赖云/外部:托管 Workspace、AgentWorld 游戏服等需外部服务,纯离线场景受限。
六、与同类项目对比
6.1 与“易混淆”项目的边界
| 项目 | 来源 | 定位 | 开源 |
|---|---|---|---|
| OpenAgents Workspace | openagents-org | 多 Agent 协作平台(本报告目标) | ✅ Apache-2.0 |
| OpenAI Workspace Agents | OpenAI | 企业级云端智能体 | ❌ 闭源 |
| Open Agents | Vercel Labs | 云端编程 Agent 参考实现 | 部分 |
6.2 能力横向对比
| 维度 | OpenAgents Workspace | OpenClaw | ClawTeam | OpenAI Workspace Agents |
|---|---|---|---|---|
| 开源 | ✅ | ✅ | ✅ | ❌ |
| 本地部署 | ✅ | ✅ | ✅ | ❌ |
| GUI | ✅ 内置 Studio | ❌ CLI 为主 | 看板/CLI | ✅ |
| 多 Agent 协作 | ✅ 共享线程 | ✅ 多 Agent | ✅ 任务编排 | ✅ |
| 协议互通 | ✅ MCP + A2A | MCP | — | 私有 |
| 定位 | Agent 的“协作 OS” | 通用 Agent 运行时 | 多 Agent 团队编排 | 企业云智能体 |
| 成本 | 免费(自托管) | 免费 | 免费 | 按量付费 |
与本机已有的 OpenClaw(通用 Agent 运行时)和 ClawTeam(多 Agent 任务编排 CLI)相比,OpenAgents 的差异化在于“协作工作区 + 内置 GUI + 协议互通”:它不取代 OpenClaw,反而能把 OpenClaw 作为一个运行时接入同一个 Workspace。三者可组合使用。
七、使用建议与注意事项
7.1 适用场景
- 推荐:需要一个“看得见、可共享”的多 Agent 协作面板;想把现有 Claude Code / OpenClaw 等汇聚到同一工作区;做 Agent 间消息/文件/任务协同的原型验证。
- 谨慎:对稳定性要求高的生产系统(当前 Alpha、接口快变);纯离线且不愿构建前端的场景;只需要单 Agent 编程助手(杀鸡用牛刀)。
7.2 落地建议
- 生产/演示用 Docker:
docker compose up一步到位,镜像内已构建 Studio,避开 editable 路径坑。 - 二开/调试用源码:
pip install -e ".[sdk]",但记得 ① 用现成network.yaml而非init,② 手动构建一次 Studio。 - 写 Agent 用高层 API:继承
WorkerAgent并用post_to_channel()/reply_to_message(),不要直接戳client.mod_adapters。 - API Key 安全:用
agn env … --set LLM_API_KEY=<YOUR_API_KEY>注入,切勿硬编码进 YAML/报告。
7.3 推荐指数
八、总结
OpenAgents Workspace 是一个理念清晰、工程扎实、完全可自托管的多 Agent 协作平台。本次在 Linux + Python 3.12 环境下完成了从源码下载 → venv 安装 → CLI 验证 → 启动 6-Mod 网络 → 多 Agent 端到端协作(ECHO_OK)→ 构建并访问 Studio GUI 的完整链路,关键能力均真实跑通;同时如实记录了 3 处开发态踩坑(init 模板路径、示例 echo 静默失效、幽灵会话)。
它最大的价值是把“分散在各终端的 Agent”收敛到一个带 GUI、可共享、协议互通(MCP/A2A)的工作区,并与 OpenClaw / ClawTeam 等现有体系互补而非竞争。当前阶段(Alpha、月度多次发版)更适合原型验证与内部协作,生产落地建议走 Docker 并锁定版本。综合判断:值得纳入多 Agent 技术栈持续跟踪与试点。
“给 Agent 用的 Slack” —— 自托管跑通、协作链路验证通过、GUI 可用;理念领先、成熟度尚浅,推荐试点而非即刻生产。