OpenHarness:让 Claude Code 等 Agent 跨机器统一调度的开源命令中心
OpenHarness 是真正把 AI Agent 从「聊天框」变成「命令中心」的基础设施层。它用 tmux 作为 Agent 运行时隔离,用端到端加密的 P2P WebRTC 连接笔记本、GPU 主机、家庭服务器,开发者从一台 Mac 上同时调度十余个 Agent 跑在不同的物理机器上。更激进的是,团队把硬件设计也开源了——3D 打印外壳 + ESP32-S3 固件 + PCB 原理图,花一个下午就能焊出专属的 Harness 实体控制台。这个项目不是又一个 Agent 包装器,而是把「Agent 能在哪跑、跑的时候怎么管理、跑完结果怎么持久」彻底工程化的产品。
功能与原则
OpenHarness 的核心定位是 Agent 的 Harness(挽具):模型决定做什么,Harness 决定怎么做、能不能做、以及做完留下什么结果。
核心功能:
– 多 Agent 并排管理:Claude Code、Codex、Cursor、OpenCode、Devin、Amp、Copilot 等十余个 Agent 同屏共存,每 Agent 运行在独立 tmux pane
– 跨机器统一调度:笔记本、家庭服务器、GPU 主机在同一窗口管理,无需 SSH key、无需 Tailscale、无需端口映射
– 端到端加密通信:ChaCha20-Poly1305 + X25519 session keys + pinned Ed25519 identities,relay 只转发密文
– 原生桌面 App:非 Electron,macOS 11–13ms UI 响应(p95),桌面资源仅占 0.1% CPU + 304MiB 内存
– 硬件开源:提供 STEP/STL 3D 打印外壳、Eagle 原理图与 PCB 布局、ESP32-S3 固件,可自制实体控制台
– 多路径网络穿透:自动选择直连 WebRTC → Cloudflare TURN → 私有 relay 三种路径
– 本地模型支持:集成 Grid、Ollama、MLX-LM、vLLM,可在自有机器上跑开源权重模型
– Session 持久化:关闭 App 后 Agent 继续运行,跨设备同步工作状态
认可度
GitHub 约 994 星(截至 2026-09-28,MCP Servers Live Index 实时追踪数据),Forks 约 167,GitHub 每周 trending 上榜。9月初还只有 60 星,一周内涨到 500+,9月25日达 828 星,增长曲线陡峭。项目有 1200+ 次 commit,团队保持高频迭代,最后 push 为 2026-09-26。
链接
GitHub:https://github.com/autonomous-ai/openharness
原作者
autonomous-ai 团队,专注 Agent Harness 赛道。产品愿景引用 Peter Thiel 名言:”World-class entrepreneurs are polymaths”,目标是把跨学科构建的门槛从「一万小时专精」降到「对 Agent 发号施令」。
介绍
OpenHarness 起源于一个朴素观察:现在的 AI Agent Demo 看起来很聪明,但真正进入项目后马上暴露一系列工程问题——Agent 能不能读到正确文件?有没有权限执行危险命令?工具失败后会不会无限重试?跨设备会话怎么接上?多个 Agent 同时工作时任务和结果怎么管理?
传统方案是把所有 Agent 关进 Docker 或虚拟机,但资源开销大、跨机器调度麻烦、端口映射复杂。OpenHarness 选择了完全不同的路:用 tmux 作为 Agent 的进程隔离层,每个 Agent 跑在自己的 tmux pane 里,Harness 只读 transcript、使用各 vendor 原生的 hooks,从来不包装 Agent 本身。这样 Agent 的能力完整保留,同时 Harness 拿到了完整的控制权。
网络层是另一个工程重点。开发者普遍在 NAT 后,Harness 的 daemon 主动 outbound 连接,USB 直连设备作为身份锚点,建立 WebRTC P2P 直连;NAT 穿透失败时自动切换 Cloudflare TURN;relay 作为最后保障且只转发密文。整套设计把安全信任模型写死在协议里,而不是靠运维配置。
特点
- tmux 原生集成:每个 Agent 跑独立 tmux pane,scrollback、colors、keys 完整保留,Agent 就是你原来在终端里用的那个
- 零网络配置:不需要 SSH key、不需要 Tailscale、不需要内网穿透,一个 USB 连接或一个 relay URL 即可组网
- 全链路加密:端到端 ChaCha20-Poly1305 + X25519,relay 无权解密,Device USB 锚定设备身份
- 跨学科 Agent 工作流:内置 Blender、CircuitJS、MuJoCo、Godogen、Strudel 等领域 harness,Agent 可以驱动 3D 建模、电路仿真、机器人强化学习、游戏引擎、音乐制作
- 开源硬件:3D 打印外壳 + PCB + ESP32-S3 固件可自制实体控制台,整个 stack 可审计、可复现
- 无锁死的 vendor 兼容:不包装 Agent,所有 Claude Code / Codex / Cursor 原生 hooks 完整保留,切换引擎无需改变 Harness 配置
使用方法
桌面 App 安装(macOS / Linux)
下载:https://harness.autonomous.ai/desktop
添加一台机器
在被管理的机器上运行:
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
harness login
harness remote-password set
harness start
然后在 App 里:Machines → Link Machine,输入密码即可。
在 TUI 里用(无图形界面)
curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
hn # 连接本地 daemon,等同 App 的 CLI
源码构建
需要 Node.js 20+、tmux、Xcode、Flutter 3.47+ / Dart 3.13+:
git clone https://github.com/autonomous-ai/openharness.git
cd openharness
(cd cli && npm ci)
make install-cli
cd desktop
flutter config --enable-swift-package-manager
flutter pub get
flutter run -d macos
使用场景与人群
适用场景:管理多台机器上的多个 AI Agent、跨设备调度 Agent 工作流、远程操控 GPU 机器跑 Claude Code、在非编程领域(CAD/电路/机器人/游戏/音乐)驱动 Agent 工作流。
目标用户:有 AI 编程实践经验的开发者,尤其是有多机协作需求(笔记本 + GPU 服务器 + 家庭主机)的个人工程师或小团队。
输入与输出案例
案例 1:在笔记本上调度远程 GPU 机器上的 Agent
输入:在 OpenHarness App 里,笔记本窗口左侧面板点击「GPU Server」机器,⌘T 新建 terminal,激活 Claude Code,运行:
Use Archify to draw: User -> API Gateway -> Auth Service -> Database
输出:远程 GPU 机器上的 Claude Code 生成一张可交互的架构图,返回到笔记本屏幕的 App 窗口内显示,整个过程网络层走 P2P 加密直连,无端口暴露。
案例 2:驱动 Blender 设计实体零件
输入:在 OpenHarness 窗口内启动 Blender harness,对 Agent 说:
Make a lamp with the sliders that matter for a desk lamp.
Then export the STL.
输出:Agent 调用 Blender Python API 生成参数化模型,保留版本历史,可导出 STL 用于 3D 打印。设计过程在 OpenHarness 内可回放,Session 关闭后 Agent 继续在后台运行。
评论区
登录后可评论。