Herdr是什么?在云服务器上集中管理多个AI编程Agent
使用Claude Code、Codex、Gemini CLI等AI编程工具时,开发者经常需要同时打开多个终端窗口。一个Agent负责修改代码,一个Agent运行测试,另一个Agent可能正在等待权限确认。
当并行任务逐渐增加,开发者很难快速判断哪个任务仍在运行、哪个已经完成,以及哪个正在等待人工处理。Herdr就是针对这类场景设计的终端管理工具。
Herdr由ogulcancelik开源,定位是运行在终端中的AI Agent多路复用工具。它可以在一个界面中管理工作区、标签页和终端分屏,同时显示不同Agent的运行状态。Herdr使用真实终端呈现Agent输出,不需要额外搭建网页控制台,也不依赖Electron桌面程序。

Herdr能够解决哪些问题?
普通终端可以同时打开多个窗口,但不会主动识别AI Agent的工作状态。Herdr会将Agent状态显示在侧边栏中,开发者可以直接看到:
blocked:Agent正在等待输入、授权或确认;working:Agent正在处理任务;done:任务已经完成,但结果还没有查看;idle:任务已经完成并被查看,目前处于空闲状态。
状态还会从终端分屏汇总到标签页和工作区。例如,某个工作区中只要有一个Agent等待确认,工作区就会显示为阻塞状态,方便开发者优先处理需要人工操作的任务。
Herdr比较适合以下使用场景:
- 同时运行多个AI编程Agent;
- 分别处理前端、后端、测试和文档任务;
- 长时间执行代码分析或重构;
- 在远程服务器中保存开发会话;
- 通过SSH从不同设备继续工作;
- 使用脚本协调Agent执行顺序;
- 为多个代码仓库建立独立工作区。
为什么可以部署在云服务器上?
Herdr支持后台会话。关闭当前终端或断开SSH连接后,服务器上的Herdr会话和Agent进程可以继续运行。重新登录服务器并执行herdr,即可返回原有工作区。
这意味着开发者不需要让个人电脑长期保持开机。代码仓库、Agent环境和编译工具可以统一放在Linux服务器中,通过笔记本电脑、台式机或其他终端设备远程连接。
对于需要持续运行Agent的开发环境,可以考虑选择莱卡云服务器作为部署载体。安装Ubuntu或Debian系统后,通过SSH连接服务器,即可搭建Herdr和相关AI编程工具。
选择服务器时仍应根据Agent数量、项目规模和编译任务进行判断,而不是单纯追求较高配置。
Herdr服务器配置怎么选?
Herdr本身是单个Rust程序,主要负责终端界面、会话保持和Agent状态管理。服务器的主要资源消耗通常来自Claude Code、Codex、编译器、测试程序、Docker容器以及项目依赖。
个人体验环境
适合运行一个AI Agent和少量终端任务:
- 2核CPU;
- 4GB内存;
- 40GB以上SSD;
- Ubuntu或Debian系统。
日常开发环境
适合同时运行两到四个Agent:
- 4核CPU;
- 8GB内存;
- 80GB以上SSD;
- 定期快照或数据备份;
- 稳定的SSH网络。
多项目并行环境
适合大型代码仓库、编译任务或多个容器:
- 8核及以上CPU;
- 16GB及以上内存;
- 150GB以上SSD;
- 根据项目情况增加数据盘;
- 配置资源监控和日志清理。
这些配置是通用参考,并不是Herdr规定的最低配置。Node.js、Java和Rust等项目在安装依赖或编译时,可能会占用较多内存和磁盘空间。
使用莱卡云服务器部署时,可以先选择基础配置测试。后续发现内存不足、编译时间过长或需要增加Agent数量,再升级CPU、内存和硬盘,通常更容易控制使用成本。
在Ubuntu服务器上安装Herdr
连接服务器:
ssh root@服务器IP
更新系统:
apt update
apt upgrade -y
安装常用工具:
apt install -y curl git ca-certificates openssh-server
Herdr官方提供了安装脚本:
curl -fsSL https://herdr.dev/install.sh | sh
安装完成后检查命令:
herdr --help
为了降低远程脚本带来的风险,也可以先下载并检查脚本内容:
curl -fsSL https://herdr.dev/install.sh -o install-herdr.sh
less install-herdr.sh
确认脚本内容后再执行:
sh install-herdr.sh
Herdr当前面向Linux和macOS提供安装方式,也可以通过Homebrew或项目发布的二进制文件安装。
建议创建普通运行用户
AI Agent可能需要执行Shell命令、安装依赖和修改项目文件,不建议长期使用root账号运行。
创建用户:
adduser agent
根据需要授予sudo权限:
usermod -aG sudo agent
切换用户:
su - agent
创建项目目录:
mkdir -p ~/projects
cd ~/projects
以后可以在该用户目录中保存代码仓库、Herdr配置和Agent配置,减少程序误操作系统文件的风险。
启动第一个Herdr工作区
进入代码目录:
cd ~/projects/example
启动Herdr:
herdr
首次运行时,Herdr会进入引导流程。可以使用工作区、标签页和分屏组织不同任务,并在分屏中运行Agent。
例如在一个分屏中运行Claude Code:
claude
在另一个分屏中运行Codex:
codex
再创建一个普通终端运行测试:
npm test
这样可以在同一界面中观察代码修改、测试结果和Agent状态。
常用操作方式
Herdr默认使用Ctrl+B作为快捷键前缀。
例如:
| 操作 | 按键 |
|---|---|
| 新建工作区 | Ctrl+B,再按Shift+N |
| 打开工作区导航 | Ctrl+B,再按W |
| 新建标签页 | Ctrl+B,再按C |
| 左右分屏 | Ctrl+B,再按V |
| 上下分屏 | Ctrl+B,再按- |
| 退出当前客户端 | Ctrl+B,再按Q |
Herdr也支持鼠标操作,可以点击工作区、标签页和分屏,拖动分割线调整终端大小。
退出SSH后保持Agent运行
当Agent正在执行长时间任务时,可以按:
Ctrl+B,然后按Q
这项操作只会断开当前Herdr客户端,不会直接结束服务器中的后台会话。
随后退出SSH:
exit
再次连接服务器:
ssh agent@服务器IP
重新执行:
herdr
即可返回之前的终端布局和Agent会话。这也是将Herdr部署在云服务器上的主要用途之一。
配置SSH密钥登录
服务器长期运行开发环境时,建议使用SSH密钥登录。
在本地生成密钥:
ssh-keygen -t ed25519
上传公钥:
ssh-copy-id agent@服务器IP
确认密钥能够正常登录后,可以在服务器中关闭root远程登录和密码认证。
编辑配置:
sudo nano /etc/ssh/sshd_config
调整为:
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
检查配置:
sudo sshd -t
没有报错后重载SSH:
sudo systemctl reload ssh
修改前应保留当前连接,并通过另一个终端测试密钥登录,避免配置错误导致无法进入服务器。
从本地远程连接Herdr
最简单的使用方式是先通过SSH登录服务器,再运行Herdr:
ssh agent@服务器IP
cd ~/projects/example
herdr
Herdr也提供远程连接能力,可以让本地客户端连接远程服务器上的Herdr环境。不过原生Windows客户端的远程模式仍有限制,Windows用户可以直接通过SSH进入服务器后运行Herdr。
可以在本地配置SSH别名:
Host herdr-server
HostName 服务器IP
User agent
Port 22
IdentityFile ~/.ssh/id_ed25519
以后只需要执行:
ssh herdr-server
即可进入服务器。
使用Herdr管理多个项目
可以为不同项目建立独立工作区:
工作区一:网站后端
├── Agent:修改接口
├── Agent:检查代码
└── 终端:运行自动化测试
工作区二:管理后台
├── Agent:开发页面
├── Agent:检查类型错误
└── 终端:启动开发服务
工作区三:项目文档
├── Agent:整理说明文档
└── 终端:查看Git变更
侧边栏会显示各个工作区当前最需要关注的状态。某个Agent等待授权时,开发者可以快速切换过去处理,而不必逐一检查每个终端。
使用命令行进行自动化
Herdr还提供CLI和本地Socket API,可用于脚本化创建工作区、启动任务、读取终端输出和查询Agent状态。CLI通常会返回结构化结果,适合编写自动化流程。
例如,可以设计以下流程:
- 启动一个Agent修改后端代码;
- 等待Agent完成;
- 在另一个分屏运行测试;
- 测试通过后启动代码审查Agent;
- 将结果保存在项目日志中。
这种方式适合实验性的多Agent协作,但正式使用时仍需要人工检查Agent生成的代码,不能直接将未经验证的修改部署到生产环境。
API密钥和项目数据安全
AI编程工具通常需要API密钥、账号令牌或登录状态。部署时需要注意:
- 不要将API密钥提交到Git仓库;
- 不要把密钥直接写入公开脚本;
- 不同项目尽量使用独立凭证;
- 限制配置文件读取权限;
- 不让不可信项目读取整个用户目录;
- 定期更换不再使用的密钥;
- 重要代码仓库设置定期备份。
可以调整敏感配置文件权限:
chmod 600 ~/.config/相关工具/配置文件
服务器安全组通常只需要开放SSH端口。Herdr本身运行在终端中,没有必要额外开放公共网页管理端口。
是否需要使用Docker?
Herdr依赖终端、PTY、Shell、SSH和长期运行的Agent进程。虽然可以自行放入容器,但普通用户直接安装在Linux服务器中通常更方便。
使用Docker还需要处理:
- 交互式终端;
- 用户权限映射;
- SSH密钥挂载;
- 项目目录持久化;
- Agent登录状态;
- Docker套Docker;
- 容器重建后的会话恢复。
如果主要目标是保持多个远程开发会话,直接在莱卡云等Linux云服务器中创建普通用户并安装Herdr,会比额外封装容器更容易维护。
Herdr适合哪些开发者?
Herdr更适合已经开始同时使用多个命令行AI编程工具的开发者。
只有一个Agent且任务时间较短时,普通终端或者tmux通常已经能够满足需求。需要并行运行多个Agent,并希望快速查看阻塞、运行和完成状态时,Herdr的工作区和状态汇总功能更有价值。
将Herdr部署到莱卡云服务器后,可以把Agent、代码仓库和开发工具放在长期在线的Linux环境中,再通过SSH从不同设备接入。实际选择配置时,应根据项目规模、Agent数量、编译任务和内存占用逐步调整,同时做好SSH安全、密钥保护和代码备份。
更多推荐


所有评论(0)