missuo/herdrm · 上手攻略

  • 仓库:missuo/herdrm
  • 链接:https://github.com/missuo/herdrm
  • 分类:开发者工具 · 终端管理
  • 作者:Tom
  • 更新:2026-08-20

是什么

herdrm 是 herdr 的原生 macOS 图形控制台。herdr 本身是一个后台服务进程,作为你所有编程 Agent 的「终端运行时」——它持有真实终端,让 Agent 的工作在你关闭笔记本盖或断网后继续运行,并知道每个 Agent 当前是工作中、阻塞中还是已完成。herdrm 则在这个运行时之上套了一层原生 macOS 窗口,让你从一台 Mac 上就能看到、搜索、跳转所有设备上的所有 Agent 终端。

简单说:herdr 是底座,herdrm 是 macOS 专属的视图壳

解决什么问题

当你同时跑多个 Agent(Claude Code、Codex、opencode、Grok……),分布在本地机器和多台远程服务器上时,传统的做法是开一堆终端窗口或 tmux 会话,散落在各处,既不知道哪个卡住了,也不知道哪个跑完了。herdrm 把这堆东西聚合到一个侧边栏里,实时显示每个 Agent 的状态,完成了还会发系统通知。

核心解决的是「多设备多 Agent 运维焦虑」:不用 SSH 反复跳转,不用盯着窗口等结果,状态自动汇报,点击即达。

快速安装

依赖前提:

  • macOS 14+
  • 本地已安装 herdrcurl -fsSL https://herdr.dev/install.sh | sh
  • 远程设备需要 SSH 访问(支持 user@host、user@host:port、~/.ssh/config 中的别名)
  • Tailscale SSH 需要远程主机装 Tailscale ≥ 1.98.0

安装 herdrm(二选一):

# 方式一:Homebrew(推荐)
brew install owo-network/brew/herdrm

# 方式二:手动
# 下载最新 release 的 herdrm-x.y.z.zip,解压后将 herdrm.app 拖入 /Applications

安装后 herdrm 会自动帮你启动本地 herdr server(如果它还没在跑的话),然后打开应用窗口。

从源码编译(开发者):

brew install xcodegen
make build   # 编译出 build/Build/Products/Debug/herdrm.app
make run     # 直接运行
make kit-test # HerdrKit 集成测试(需要本地 herdr 在运行)

核心用法

1. 连接设备

首次打开应用,在侧边栏添加远程设备。支持三种连接方式:

  • SSH 配置别名:~/.ssh/config 中定义的 Host 名直接填入
  • user@host:标准格式,支持指定端口
  • Tailscale SSH:如果远程机器和本地都接入了同一个 Tailscale 网络,直接填机器名即可,herdrm 会处理 Unix socket 转发

herdr 通过 ssh -L 做本地端口转发把远程 socket 映射过来,所以远程设备上不需要额外装 herdr 以外的任何东西。连接建立后会持续保持,掉线自动重连。

2. 管理 Agent

herdrm 侧边栏以两级结构展示:Spaces(工作空间)→ Agents(具体 Agent 实例)

  • 阻塞中的 Agent 会自动冒泡到列表顶部
  • 正在工作的 Agent 会有旋转动画
  • 已完成的 Agent 会打勾
  • 点击任意 Agent 即直接 attach 到它的实时 PTY(相当于 herdr agent attach),终端体验和本地终端完全一致,支持完整 TUI

3. 新建 Agent

点侧边栏的 "+" 或使用 ⌘K 命令面板,选择目标设备和目标 Space,herdrm 会列 出该设备上实际安装了的 Agent CLI(不会列出没装的),并默认帮开 --dangerously-skip-permissions 之类 bypass 权限的 flag(比如 Claude Code 的对应参数)。

4. 搜索与过滤

⌘K 命令面板支持跨所有设备搜索 Agent 和 Space。侧边栏左下角有设备切换器,可以只盯着某一台机器看。

5. 通知

任何设备上任何 Agent 完成或需要人工输入时,系统会发通知,点击通知直接跳转到对应 Agent 的终端。如果你在主动盯着某个 Agent 看,则不会通知你(避免打扰)。

典型适用场景

  • 多机器并行开发:本地跑前端 Agent,远程服务器跑后端/编译 Agent,在一个窗口里同时监控
  • 长时间任务看护:训练、微调、大规模数据处理这类任务跑在远端,关闭本地电脑也不会中断
  • 团队共享 Agent 状态:一台「值班机」跑 herdrm,多人远程 SSH 进去操作同一 herd 服务,herdrm 聚合所有人的 Agent 状态
  • 多 Agent 协同调试:几个 Agent 互相调用、互相等待,herdrm 的「阻塞冒泡」机制让你一眼看到谁卡住了

坑与注意

⚠️ 软件成熟度:README 明确标注「Early stage software without full test coverage — expect bugs」,生产环境使用需谨慎,有问题多看 GitHub Issues 和 PR。

⚠️ herdr 是必须的:herdrm 本身只是客户端,目标机器必须先装好 herdr 服务端。它不是取代 tmux/screen,而是 herdr 的专属 GUI。

⚠️ Tailscale SSH 版本要求:老版本 Tailscale(< 1.98.0)不支持 Unix socket 转发,远程设备需要升级才能用 Tailscale SSH 方式直连。

⚠️ macOS 独占:herdrm 本身是 SwiftUI macOS 应用,不支持 Linux 或 Windows。如果你是 Linux 用户想管理远程机器上的 Agent,还是得用命令行工具。

⚠️ Agent 支持范围:herdrm 支持 herdr 官方集成列表中的 Agent(Claude Code、Codex、Cursor、Grok、opencode 等),但如果某个 Agent 没有被 herdr 支持,herdrm 也无法 attach 到它的终端。

与同类对比

工具 定位 跨设备 Agent 状态感知 通知 平台
herdrm herdr 的 macOS GUI ✅ 自动 SSH 转发 ✅ 阻塞/工作中/完成三级 macOS
tmux + SSH 通用终端复用 ❌ 手动跳转 ❌ 纯终端,无感知 全平台
Atom/VSCode 远程 编辑器远程开发 ✅ SSH ❌ 无 Agent 概念 全平台
Heeler herdr 的 iOS 客户端 ✅ SSH ✅ 同 herdrm iOS
Warp AI 终端 ❌ 本地为主 ❌ 无 Agent 管理 macOS/Linux

herdrm 的差异化在于它是 Agent 感知的——它知道哪些是 Agent、哪些终端、谁在阻塞、谁已完成。这是普通终端复用工具做不到的。

一句话推荐结论

如果你已经在用 herdr 管理多 Agent 运行时,herdrm 是 macOS 上体验最完整的图形控制台;如果你还没用 herdr,它是值得尝试的「多设备多 Agent 一站式看护台」,但需要接受早期软件的稳定性代价。

来源

  • https://github.com/missuo/herdrm(README、架构说明)
  • https://herdr.dev(herdr 运行时官网、安装脚本)