🤖💻 终端里的 AI 调度大师:herdr 让你同时驾驭多个智能体

想象一下这样的场景:你正一边让 Claude 帮你写单元测试,一边向 ChatGPT 请教 Rust 的所有权问题,同时又让 Gemini 生成数据库表结构。三个浏览器标签页、两个 VS Code 插件面板、还有一个独立的 API 测试工具…… 开发者的大脑上下文切换成本,往往比 AI 的推理延迟还要昂贵。

那时候我总在想:为什么没有一个像 tmux 那样的多路复用器,让我在一个终端窗口里同时和多个 AI 对话?直到我遇见了 herdr —— 一个活在终端里的 agent multiplexer。

herdr 是什么

herdr 是一个基于终端的 AI 代理多路复用工具,由 ogulcancelik/herdr 开发。它不提供任何 AI 模型本身,而是像一个智能接线员,帮你把多个 LLM 后端(OpenAI、Claude、Ollama 等)接进同一个 TUI(终端用户界面),让你能用一套快捷键同时管理无限个对话会话。

简单来说:如果你用过 tmux 管理终端窗口,那么 herdr 就是为 AI 对话设计的 tmux。

为什么要多路复用 AI 代理

现代开发中,我们很少只用一个模型。不同任务适合不同模型,不同模型又有各自的偏见和长处。于是开发者被迫在多个界面之间切来切去,复制粘贴提示词,手动对比输出,甚至忘记某个会话里刚问过的重要上下文。

herdr 解决三个核心痛点:

  • 📋 上下文碎片化:每个对话独立成窗,但可以用一条命令广播到所有会话。
  • 🔄 流程断裂:无需离开终端,从写提示到查看结果,全程键盘驱动。
  • 🧪 A/B 测试困难:同时向多个模型发送相同提示,左侧看 Claude 的输出,右侧看 GPT 的输出,一目了然。

herdr 的工作方式

herdr 用 Go 语言编写,基于 Bubble Tea 框架构建 TUI。启动后会看到一个类似 tmux 的分屏界面,每个窗格(pane)代表一个独立的 AI 会话。你可以创建新的会话并指定后端提供商和模型名称,之后就像在终端里打字一样与 AI 交互。


# 安装(需要 Go 1.21+)
go install github.com/ogulcancelik/herdr@latest

# 启动
herdr

进入 herdr 后,几个核心操作可以盲打:

  • Ctrl+n 新建会话,选择模型。
  • Ctrl+w 关闭当前会话。
  • Ctrl+方向键 在分屏间移动焦点。
  • Ctrl+a 进入“广播模式”,输入一次,所有会话同时收到。

配置通过一个简单的 YAML 文件管理 API 密钥和模型列表:


# ~/.herdr.yaml
providers:
  openai:
    api_key: "sk-..."
    models: ["gpt-4o", "gpt-4-turbo"]
  anthropic:
    api_key: "sk-ant-..."
    models: ["claude-3-5-sonnet"]
  ollama:
    base_url: "http://localhost:11434"
    models: ["llama3.1", "codellama"]

这样,你可以随时从 OpenAI 切换到本地 Ollama 模型,零摩擦。

实际使用场景

🧪 多模型代码审查

让 GPT-4o 和 Claude 3.5 Sonnet 同时审阅同一段代码。左侧窗格干净严谨,右侧窗格详细周到,你连鼠标都不用碰就能对比建议,把两种风格融合成最佳方案。

🔍 并行研究查询

调研某个技术方案时,你可以同时向三个模型提问:“用 WebSocket 实现实时协作编辑器的最佳架构是什么?”然后在一个屏幕里看到它们的回答,迅速挑出最有价值的观点。

🧩 上下文工程流水线

你可以建立多个专门化会话:一个负责生成初稿,另一个负责重构优化,第三个负责写测试。通过 herdr 的 管道模式,甚至可以把一个会话的输出直接送入另一个会话作为输入,实现 AI 工作流串联。


# 在 herdr 内,将窗格1的输出管道到窗格2
:pipeline 1 2

进阶用法与最佳实践

  • 为高频任务创建“角色模板”:在配置中预设 system prompt,例如 code-reviewerrubber-duck,新建会话时直接选用,不用每次都解释角色。
  • 利用广播模式快速比较模型:按下 Ctrl+a 后输入提示,所有活跃窗格同时应答,这是直观感受不同模型能力的绝佳方式。
  • 结合终端复用器使用:herdr 本身是一个终端程序,你可以把它放在 tmux 的某个窗口里,然后在其他窗口运行编辑器、服务器等,整个开发站都在终端内完成。
  • 本地模型零延迟:通过 Ollama 接入本地模型,herdr 无需网络就能快速响应,隐私和安全都更有保障。

需要注意的地方

herdr 本质上是一个智能客户端,所有的负载仍然落在 API 提供商或本地模型上。以下问题值得留意:

  • API 费用:广播模式会同时调用多个模型,如果不小心,账单会比预期来得更快。建议先在单会话下测试提示。
  • 速率限制:公司级的 API key 可能有并发限制,同时发出大量请求可能导致部分窗格报错。herdr 内置了简易的重试与退避机制,但仍需留意。
  • 密钥安全:配置文件里明文存储 API key,务必设置合适的文件权限(chmod 600 ~/.herdr.yaml),并避免将配置提交到公开仓库。
  • 学习曲线:TUI 的快捷键需要一点时间适应,但熟悉后效率会远超 GUI 工具。

💡 小技巧:如果你希望配置更加安全,可以利用环境变量指定密钥路径,或将敏感信息存放在 macOS 钥匙串中,再通过脚本动态生成配置文件。

终端 AI 多路复用的未来

herdr 让我们看到一种趋势:AI 工具正在从独立的 Web 应用下沉到开发者的主要工作环境——终端和编辑器。当 AI 不再是一个需要你专门打开的东西,而是像 grepmake 一样嵌入工作流时,生产力才能真的翻倍。

更令人兴奋的是,herdr 的架构非常适合组合。你可以把它和 fzfjq 等工具组合,搭建出自己专属的 AI 流水线。比如:


# 结合 fzf 选择提示模板,送入 herdr 的所有会话
cat prompt_templates.txt | fzf | herdr broadcast

总结:把终端变成 AI 指挥中心

herdr 不发明新的 AI 模型,它解决的是更实际的问题——如何在一个充满智能体的世界里,依然保持对一切的控制。它让多模型协作像切分终端窗口一样自然,让比较、组合和自动化变得简单。

如果你是那种讨厌离开键盘、频繁切换窗口的开发者,herdr 很可能会成为你工作流中不可或缺的工具。不妨现在就试试 go install github.com/ogulcancelik/herdr@latest,然后在终端里开启你的第一个 AI 多路复用之旅。🖥️🤖