ogulcancelik/herdr

GitHub: ogulcancelik/herdr

herdr 是一个基于 Rust 构建的终端多路复用器,让开发者在单个终端中运行、监控和管理多个 AI 编码 agent,提供持久会话和 agent 状态感知能力。

Stars: 19226 | Forks: 1260

# herdr

herdr

herdr.dev · 安装 · 快速开始 · 支持的 agent · 文档 · socket api · 赞助

herdr was #1 GitHub Trending repository of the day on Jun 30, 2026

https://github.com/user-attachments/assets/043ec09f-4bdd-41d5-aee0-8fda6b83e267 **在一个终端中运行你所有的编码 agent。一眼看清谁被阻塞、正在工作或已完成。** 在你的 agent 已经运行的地方运行它们:你的机器、服务器,任何你可以 ssh 的地方。每个 agent 都有自己的真实终端,而不是应用程序模拟的终端,因此即使是全屏 TUI 也能正确渲染。点击、拖拽、拆分窗格到工作区和标签页中,观察每个 agent 的状态变成阻塞、工作、完成。合上笔记本电脑,什么都不会中断;从另一个终端或通过 ssh 从手机重新连接。一个本地 Rust 二进制文件,而不是应用程序:没有 GUI,没有 Electron,没有 Mac 专属的包装器,无需账户,没有遥测数据。(如果你用过 tmux:就是它,只是为 agent 重新构建了。) ## 你能得到什么 - **每个 agent 一个真实终端。** 你看到的是每个 agent 自己的屏幕,而不是应用程序模拟的屏幕,因此即使是全屏 TUI 也能正确渲染。 - **一目了然的 agent 状态。** 侧边栏将每个 agent 的状态汇总为 🔴 阻塞、🟡 工作、🔵 完成或 🟢 空闲,让你随时知道谁需要你。零配置,不需要 hooks。 - **工作区、标签页、窗格。** 按 repo 或文件夹组织,点击、拖拽和拆分,全程原生支持鼠标。 - **断开后依然存活。** 后台服务器保持窗格和 agent 存活;从任何终端断开并重新连接,包括通过 ssh 连接的手机。 - **随处运行。** 单个约 10MB 的 Rust 二进制文件,支持 Linux 和 macOS(Windows beta),无依赖项,在你已使用的终端内运行。 - **可编写脚本。** 提供本地 socket API 和可供 agent 驱动的 CLI,以及可以用任何语言编写的插件。 ## 对比 | | tmux | GUI 管理器 | herdr | |--------------------------|------|--------------|-------| | 持久会话 | ✓ | — | ✓ | | 断开 / 重新连接 | ✓ | — | ✓ | | 通过 ssh 随处运行 | ✓ | — | ✓ | | 窗格、标签页、工作区 | ✓ | ✓ | ✓ | | agent 感知 | — | ✓ | ✓ | | 存在于你的终端中 | ✓ | — | ✓ | | 真实的终端视图 | ✓ | — | ✓ | | 原生鼠标操作 | — | ✓ | ✓ | | 轻量级二进制文件 | ✓ | — | ✓ | | agent 可编排 | ? | ? | ✓ | tmux 提供了持久性和窗格,但它是在 agent 出现之前构建的。它不知道哪个窗格被阻塞、正在工作或已完成;你可以给它强行加上响铃字符和每个 harness 的 hooks,但你必须自己连接每一个,而且仍然没有共享的群体视图。GUI agent 管理器(conductor、cmux、emdash)确实显示了 agent 状态,所以这只是基本要求。区别在于它周围的一切。它们是应用程序,通常是 Mac 专属且封闭的,在包装器内重新绘制终端。herdr 是一个二进制文件,在任何你可以 ssh 的地方,在你已经使用的终端中运行,并在断开连接时让每个 agent 的真实屏幕保持活跃。请查看与 tmux、zellij、cmux、warp、conductor 等的[完整对比](https://herdr.dev/compare/)。 ## 安装 ``` curl -fsSL https://herdr.dev/install.sh | sh ``` Windows 预览 beta: ``` powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex" ``` 也可以使用 `brew install herdr`、`mise use -g herdr`、`nix run github:ogulcancelik/herdr` 安装,或者从 [releases](https://github.com/ogulcancelik/herdr/releases) 下载稳定的 Linux/macOS 二进制文件。 `herdr update` 升级由安装程序管理的安装;Homebrew、mise 和 Nix 通过它们各自的包管理器进行更新。channel、preview、restart 和 restore 的详细信息请参见[安装文档](https://herdr.dev/docs/install/)。 ## 快速开始 ``` herdr ``` herdr 启动或连接到后台服务器并打开一个工作区。在窗格中运行一个 agent。 herdr 原生支持鼠标,因此点击和拖拽窗格、标签页和拆分边框可以让你无需任何键盘快捷键即可完成所有操作。对于键盘,`ctrl+b` 是前缀键:按下它,松开,然后按操作键,因此 `ctrl+b` 然后按 `c` 可以创建一个标签页。一个保留键让 herdr 不会干扰你的 shell。 - `ctrl+b` 然后按 `shift+n` 创建新工作区 - `ctrl+b` 然后按 `v` 或 `减号` 拆分窗格 - `ctrl+b` 然后按 `c` 创建新标签页 - `ctrl+b` 然后按 `w` 切换工作区 - `ctrl+b` 然后按 `q` 断开连接;agent 继续运行,再次运行 `herdr` 以重新连接 按 `ctrl+b` 然后按 `?` 查看所有绑定。[键盘指南](https://herdr.dev/docs/keyboard/) 解释了前缀模型以及如何去掉前缀;完整的按键映射、复制模式和配置语法位于[配置文档](https://herdr.dev/docs/configuration/)中。 ## 远程 在 VPS 上运行 herdr 并从你的本地终端访问它。`herdr --remote` 使你的本地终端成为远程服务器的客户端,因此将图像粘贴到你的 agent 中仍然有效,而这是普通的 `ssh` + `tmux` 会破坏的。 ``` herdr --remote workbox herdr --remote ssh://you@yourserver:2222 ``` 有关命名会话、keepalive、直接连接和移交,请参见[持久化与远程文档](https://herdr.dev/docs/persistence-remote/)。 ## 支持的 agent 通过进程名匹配和终端输出启发式算法,开箱即用地进行检测。 | agent | 空闲 / 完成 | 工作 | 阻塞 | |-------|-------------|---------|---------| | [pi](https://pi.dev) | ✓ | ✓ | 部分 | | [claude code](https://docs.anthropic.com/en/docs/claude-code) | ✓ | ✓ | ✓ | | [codex](https://github.com/openai/codex) | ✓ | ✓ | ✓ | | [droid](https://factory.ai) | ✓ | ✓ | ✓ | | [amp](https://ampcode.com) | ✓ | ✓ | ✓ | | [opencode](https://github.com/anomalyco/opencode) | ✓ | ✓ | ✓ | | [grok cli](https://x.ai/grok) | ✓ | ✓ | ✓ | | [hermes agent](https://github.com/NousResearch/hermes-agent) | ✓ | ✓ | ✓ | | [kilo code cli](https://kilo.ai/) | ✓ | ✓ | ✓ | | [devin cli](https://docs.devin.ai/cli) | ✓ | ✓ | ✓ | | cursor agent | ✓ | ✓ | ✓ | | antigravity cli | ✓ | ✓ | ✓ | | kimi code cli | ✓ | ✓ | ✓ | | [github copilot cli](https://github.com/features/copilot) | ✓ | ✓ | ✓ | | [qodercli](https://qoder.com/cli) | ✓ | ✓ | ✓ | | [kiro cli](https://kiro.dev/docs/cli/) | ✓ | ✓ | — | 已检测但未完全测试:gemini cli、cline。任何其他 agent 仍然有效;herdr 将其作为终端复用器运行,并且自定义集成可以通过 socket API 报告标签和状态。 官方集成添加了原生的会话恢复,并且有些可以直接报告语义状态。使用 `herdr integration install ` 安装它们,可用于 pi、omp、claude、codex、copilot、devin、droid、kimi、opencode、kilo、hermes、qodercli 和 cursor。请参阅[集成文档](https://herdr.dev/docs/integrations/)。 ## agent 也可以使用 herdr 本地 Unix socket 允许 agent 创建工作区、拆分或缩放窗格、生成 helper、读取输出,以及订阅状态更改而不是轮询。使用以下命令安装可重用的 skill: ``` npx skills add ogulcancelik/herdr --skill herdr -g ``` 从 [agent skill 文档](https://herdr.dev/docs/agent-skill/)、[socket API 文档](https://herdr.dev/docs/socket-api/)和 [`SKILL.md`](./SKILL.md) 开始。 ## 文档 - [快速开始](https://herdr.dev/docs/quick-start/):首次会话、窗格、复制和命名会话 - [概念](https://herdr.dev/docs/concepts/):服务器与客户端、工作区、标签页和窗格 - [安装](https://herdr.dev/docs/install/):安装、更新、channels、Homebrew、mise 和 Nix - [会话状态](https://herdr.dev/docs/session-state/):断开连接、重启恢复、agent 恢复和实时移交 - [配置](https://herdr.dev/docs/configuration/):键盘快捷键、复制模式、主题、通知、环境变量 - [集成](https://herdr.dev/docs/integrations/):每个 agent 的原生会话恢复和语义状态 - [socket api](https://herdr.dev/docs/socket-api/):socket 协议和 CLI 参考 - [`SKILL.md`](./SKILL.md):可重用的 agent skill ## agent 说明 如果你是协助维护此仓库的 ai agent,请在进行更改之前阅读 [`AGENTS.md`](./AGENTS.md),并在提出 issue 或 PR 之前阅读 [`CONTRIBUTING.md`](./CONTRIBUTING.md)。 ## 开发 ``` git clone https://github.com/ogulcancelik/herdr cd herdr cargo build --release ./target/release/herdr just test # unit tests just check # formatting, tests, and maintenance checks ``` ## 许可证 Herdr 采用双重许可: 1. 开源:GNU Affero General Public License v3.0 或更高版本 (AGPL-3.0-or-later)。 2. 商业:为无法遵守 AGPL 的组织提供商业许可。 联系方式:hey@herdr.dev ## 必看的 star 历史 star history chart
标签:AI编程助手, Rust, SOC Prime, 可视化界面, 开发工具, 开发效率, 文档结构分析, 终端复用器, 终端工具, 网络可观测性, 网络流量审计, 通知系统