mcpField
H
Harness

Harness

本地服务
harness.autonomous.aiAI 与智能体1.4k今天更新

关于 Harness

Harness 是用于跨设备运行和观察编码 Agent 会话的开源指挥中心,面向使用 Agent CLI 的开发者。它提供桌面和命令行界面、独立 worktree、加密远程连接,以及创建领域专用 harness 的功能;它不会包装 Agent CLI。

主要功能

  1. 01跨设备管理 Agent 会话
  2. 02使用真实 tmux 终端和原生 CLI
  3. 03为每个 harness 创建独立 worktree
  4. 04端到端加密远程连接
  5. 05以键盘操作的桌面与命令行界面
  6. 06创建带查看器的领域专用 harness

适用场景

  1. 01查看并检查多台设备上的 Agent 会话
  2. 02通过 worktree 隔离 Agent 的代码变更
  3. 03连接笔记本电脑与家用服务器或 GPU 设备
  4. 04为设计、工程或媒体工具构建工作流

MCP 相关

Harness 的 Store 收录 Bonsai MCP 和 Comfy MCP 等 harness;README 未说明 Harness 本身是 MCP 服务或提供 MCP 客户端连接功能。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npm@autonomous-ai/harness-mcp0.2.0
mcpbharness-mcp.mcpb

工具

1

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

README 配图

像专家一样驾驭。

为编码 Agent 及更多场景打造的终极驾驭工具。
工作时用 Claude Code,在家用 Codex,在云端用 Hermes。一个指挥中心。
从代码开始,然后顺着好奇心跨领域构建:CAD、电路、机器人、游戏和音乐。

下载 · 工作原理 · 代码之外 · Harness · 设备

所有 Agent,并排工作

Claude Code、Codex、Cursor、OpenCode、Devin、Amp、Copilot,以及另外七款。

四个 Agent 同时在一个窗口中工作:Claude Code 和 Codex 在一台 MacBook 上,Cursor 在办公室台式机上,OpenCode 在 GPU 主机上。每个窗格都显示其机器、项目和分支。

所有机器,并排显示

在一个窗口中查看你的笔记本电脑、家用服务和 GPU 主机。使用密码连接每台机器。 无需 SSH 密钥。无需 Tailscale。无需端口转发。

一台新的 GPU 主机运行四条设置命令后上线。应用使用其密码连接主机,然后在主机上启动 Claude Code。

键盘优先

⌘P 可在任意机器上查找任何 Harness。⇧⌘I 可跳转到正在等待你的 Harness。⌘D 可拆分窗格。每个按键都可重新映射。

仅用键盘操作:输入几个字母打开一个 Harness,将其放大,跳转到提问的 Agent 并回答问题,然后在下方拆分出一个新窗格。

端到端加密

代码、密钥和按键输入都在你的机器上加密封存。中继只转发无法读取的字节。

左侧,一个 Agent 轮换密钥并重新部署。右侧,中继看到的是同一个 Harness:一帧帧编号的密文。

快速轻量

原生应用,而非 Electron。关闭应用后,你的 Agent 仍会继续工作。

M2 Max 上的空闲测量结果:

  • **⌘N、⌘O、⌘T 界面:**中位数 11–13 ms,p95 为 15–18 ms。
  • **本地终端回显:**中位数 1.1 ms,p95 为 7.2 ms,不包括界面渲染。
  • **桌面资源占用:**约占一个 CPU 核心的 0.1% 和 304 MiB,包括终端渲染和回滚缓冲区;不包括 Agent CLI 和守护进程。

桌面端测试使用 Release 环境,包含 16 个终端,每个终端有 1,000 行回滚记录。 有关工作负载、长尾延迟、连接失败和原始数据,请参阅工作流和资源基准测试 以及远程 P2P、TURN 和中继结果。

按开发者的工作方式打造
  • **真正的终端。**每个 Agent 都在自己的 tmux 窗格中运行。回滚记录、颜色和按键输入均可正常使用。
  • **原样使用你的 CLI。**Harness 不会封装 Agent。它会读取转录记录,并使用供应商自带的钩子。
  • **每个 Harness 都有独立工作树。**让 Agent 在自己的分支上启动。你的工作副本保持干净。
  • **重新映射每个按键。**使用一个 JSONC 文件,保存后自动重新加载。快捷键最多支持四次按键。
  • **本地模型。**使用 Grid、Ollama、MLX-LM 和 vLLM 在自己的机器上运行开放权重模型。
  • **传输字节,而非像素。**远程终端通过点对点方式传输文本,无需远程桌面。
  • **全部开源。**应用、CLI、守护进程、中继和设备都在此代码库中。

工作原理

在工作区中,harness 是 Agent 的一个运行会话,例如 Codex 或 Claude Code,每个会话都有自己的对话和工作上下文。标签页用于将 harness 分组。使用 New Harness 启动一个会话,使用 New Tab 对工作 进行分组。同一标签页中的 harness 可以通过 harness send 相互发送消息:Agent Messages 是你账户中的一项实验功能,默认关闭,可在“设置 ▸ 实验功能”中开启。

商店提供适用于特定专业领域的 harness,其中包含指令、工具和可选的查看器。 安装 harness,然后在工作区中启动它。完整的命名规则请参阅 命名系统。

每台机器上运行一个守护进程,在 tmux 中运行你的 Agent。它会主动建立出站连接,因此无需在任何机器上开放端口。

flowchart LR
  subgraph laptop["Your laptop"]
    app["Harness app"] -- loopback --> d1["daemon"]
    d1 --> a1["tmux · Claude Code · Codex"]
  end
  subgraph box["Your GPU box"]
    d2["daemon"] --> a2["tmux · OpenCode · Hermes"]
  end
  device["Harness device"] -- USB --> d1
  d1 <-. "direct WebRTC" .-> d2
  d1 <-- "ciphertext" --> relay["Harness relay · no keys"]
  relay <-- "ciphertext" --> d2

所有连接路径均采用端到端加密:ChaCha20-Poly1305、X25519 会话密钥、固定的 Ed25519 身份标识。 Harness 会自行选择最佳路径。

直连。 在你的机器之间建立 WebRTC 通道。路径中没有服务器。

Harness 窗口通过 WebRTC 直接连接到 home-server、office-desktop、cloud-server 和 mac-mini,路径中没有服务器。

通过 Cloudflare。 防火墙阻止直连路径时,相同的加密通道会通过 Cloudflare 的 TURN 网络运行。Harness 会继续尝试建立直连路径。

防火墙阻止直连路径时,加密的 WebRTC 通道会通过最近的 Cloudflare 边缘节点传输。

通过我们的中继。 WebRTC 协商期间的备用路径。中继不持有密钥,只转发密文。

WebRTC 协商期间,Harness 中继通过 WebSocket 保持 harness 可访问。它不持有密钥。

详情请参阅架构指南。

开始使用

macOS 或 Linux 用户请**下载应用**。

添加一台机器。在该机器上运行以下命令,然后在应用中选择 Machines → Link Machine:

curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
harness login
harness remote-password set
harness start

**在终端中:**同一行命令会安装 hn——包含 tmux 的按键配置和你的 ~/.tmux.conf,并适用于每台机器上的每个 harness(hn)。首次运行时,hn 会登录并连接这台计算机:

curl -fsSL https://harness.autonomous.ai/cli/install.sh | bash
hn

**供 Agent 使用:**Claude Code 和 Codex 可以通过 harness 技能启动、等待其他 harness,并读取其内容 (harness.autonomous.ai/agents,其中也包含 Codex 命令):

claude plugin marketplace add autonomous-ai/openharness --sparse .claude-plugin plugins
claude plugin install harness@openharness
从源代码构建

需要 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

make install-cli 会安装此代码检出版本中的 CLI,并重启本地守护进程。请参阅 开发指南。

不止于代码:跨领域创作

“世界级的企业家都是博学多才的人。” — Peter Thiel

编码 Agent 能构建的远不止软件。为它配置一个 harness,它就能使用某个专业领域的真实 工具。你可以在实时查看器中引导它。以下每段视频都是真实会话。

不止于代码:设计

**Blender。**让它制作一盏台灯,并加入关键滑块。拖动滑块,Blender 就会重建几何形状。保留你喜欢的版本。

Blender 中的 Shape Lab:拖动高度和扭转滑块即可重建缎带台灯,并保留选中的设计。

### 超越代码:电路

CircuitJS。 构建一个滤波器。更换一个电阻。叠加新的曲线,测量差异,并保留两条曲线。

CircuitJS 中的示波器实验室:一个 RC 滤波器在 1 kΩ 和 2 kΩ 下的采样曲线叠加在一起,并用游标测量。

超越代码:机器人

MuJoCo。 在机器人的运行过程中固定一个时刻。用 100 N 的力推它。观察两种未来如何分岔。

MuJoCo 中的 Unitree Go2:原始未来和受推后的未来一同播放,并显示高度图表。

超越代码:游戏

Godogen。 你的 Agent 制作出一款可玩的游戏。跳跃失误了,就倒回去再试一次。固定那个时刻,让 Agent 明白你的意思。

Alpine Drift,一款用 Godogen 制作的游戏:一段运行过程被倒回并重试,同时固定了一个时刻并附上反馈。

超越代码:音乐

Strudel。 曲目是可以现场演奏的代码。让不同声部进出,标记精彩片段,并保留 WAV 文件。试听。

Strudel 现场演奏:声部轨道与代码并排播放,并通过标记保留演奏片段。

超越代码:化学

RDKit。 转动一个键,观察分子移动。沿着真实的能量曲线追踪。保留值得仔细观察的构象。

RDKit 中的键扫描:分子沿着 MMFF94 能量曲线在采样构象间旋转。

超越代码:文档

Typst。 你的 Agent 编写出真正的 PDF。圈出一个细节,引用一行文字,留下一条备注。下一版草稿会作出回应。

正在审阅的 Typst PDF:备注固定在一个区域和一句话上,然后带入下一版草稿。

领域专用工作台(DSH)

代码是通用媒介。几何脚本用于制作零件,网表用于制作电路板,动画代码用于制作影片。

领域专用工作台能将编码 Agent 转变为某个领域的专家。它提供该领域的操作说明和技能、固定的工具链、项目模板、检查项以及实时查看器。 你在一侧聊天,另一侧的电路板、零件或游戏则逐渐成形。

Agent 负责推理,工作台提供工具和视图。它只是一个包含 harness.json 的文件夹,因此新增一种领域无需改动应用。

商店中的 49 个工具套件
类别Agent 与工具套件
编码Claude Code, Codex, Cursor, OpenCode, Pi, Hermes, Command Code, Devin, Muse Code, Amp, Antigravity, GitHub Copilot, Grok Build, Kilo Code, Machine Monitor, Trail of Bits Skills
基础工具Harness Monitor, Memories
设计Autonomous Workshop, Blender, Bonsai MCP, Creative Direction, Excalidraw, FreeCAD, Generative Art, OpenSCAD, text-to-cad
工程Autonomous Circuit, CircuitJS, Home Assistant, KiCad, Orca Slicer, Yosys
媒体Comfy MCP, Manim, OpenMontage, Remotion
音乐Ableton AI, JUCE Agent Toolkit, Music Studio, Score, Strudel
效率Marp, Typst
科学与数据autoresearch-mlx, Data Studio, Lab Bench, marimo, RDKit
仿真DimOS, Drone Pilot, Foam-Agent, MuJoCo, SimSkill
游戏Game Master, Godogen, Phaser, Voxel Worlds
研究Roundtable
本地 AIMLX-LM, Model Manager, Ollama, vLLM

上游开源工具与原始工作流。10 个共享查看器会与需要它们的工具套件一同安装。未列出的实验项目不予展示。

构建自己的工具套件

下一个工具套件,就属于你的专业领域。封装你喜爱的工具或团队的工具链。 它可以放在这里,也可以放在你自己的仓库中。从此仓库开始:

{
  "spec": 1,
  "id": "examples/hello-world",
  "name": "Hello World",
  "engine": "codex",
  "workspace": { "template": "template", "marker": "index.html" },
  "agent": { "instructions": "AGENTS.md" },
  "viewer": { "use": "autonomous/web-viewer" }
}
harness dsh install "$PWD/store/viewers/web-viewer" --link
cp -R store/examples/hello-world ../my-harness
harness dsh check ../my-harness
harness dsh install ../my-harness --link

按 ⌘N → Hello World,然后打声招呼。创作指南介绍了其余内容。

Harness 设备

获取 Harness 设备,或使用下方文件自行制作。 固件指南列出了支持的开发板和构建 命令,硬件指南介绍了设计文件。

手指轻触圆形 Harness 设备,说出修复登录流程的任务,设备随后显示 Agent 正在部署,最后显示已交付修复的摘要。

可选的 Harness 设备是一款常亮圆形显示屏,放在键盘旁,让你一眼了解各个 Agent 的状态:每个 Agent 正在做什么、哪个已经完成,以及哪个正在等待你的回应。你可以在屏幕上阅读问题并作答,也可以轻触设备,说出新任务,无需切换窗口。

它从始至终都是开放硬件。本仓库提供了制作它所需的一切:

层级内容
固件ESP32-S3、ESP-IDF、466 × 466 圆形 AMOLED 屏,带触控、麦克风和音频功能。通过 USB 连接主机上的守护进程——无需设置 Wi-Fi,也无需在设备上注册账号。
PCBEasyEDA Pro 项目、原理图、Gerber 文件、物料清单和用于组装的贴片数据。
外壳用于编辑的 STEP 文件和用于打印的 STL 文件:外壳、铁制配重底座、USB 夹具和按钮。

参与贡献

为你喜爱的工具制作一个 Harness。改进终端、引擎、守护进程或中继。移植固件。请从贡献指南开始。

架构 · 产品方向(提案) · 开发 · 扩展 · CLI · 安全 · MIT 许可证;上游工具保留各自的许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。