Herdr – 用于管理多个 AI Bot 的终端代理复用器

Herdr – 用于管理多个 AI Bot 的终端代理复用器

Herdr 为终端带来了多代理编排功能

Herdr 是一个命令行工具,它将多个 AI 代理复用到一个交互式会话中,允许开发者在不离开终端的情况下启动、控制并与多个 Bot 进行对话。通过将代理管理整合到一个单一面板中,Herdr 消除了在不同窗口或 Web UI 之间来回切换的摩擦。


核心功能:一个面板,多个代理

Herdr 的主要价值主张是它能够同时托管多个代理,并允许用户即时切换上下文。

  • 代理生命周期管理 – 用户可以使用简单的命令启动、暂停和终止代理(herdr start <name>herdr stop <name>)。每个代理都作为一个轻量级的子进程运行,从而保持较低的资源占用。
  • 动态输入路由 – 当用户输入消息时,Herdr 会将其转发给当前活跃的代理。通过热键(默认是 Ctrl-b)可以切换活跃代理,因此同一个终端缓冲区可以用于任何 Bot。
  • 统一的输出视图 – 所有代理的响应都出现在同一个可滚动的缓冲区中,并带有代理名称前缀,这使得并排比较答案变得非常容易。
  • 配置驱动型设置 – 一个 YAML 文件定义了每个代理的命令、环境变量和可选的提示词。这使得在不修改代码的情况下添加新模型(例如,OpenAI, Anthropic, 本地 LLaMA)变得轻而易举。

"Herdr 感觉就像是 AI 代理的复用式 REPL —— 你可以在一个地方同时获得终端的即时性和多个后端的灵活性。" – Project README


为什么仅限终端的解决方案很重要

开发者通常一整天都在 Shell 中工作。为每个 AI 模型引入单独的 UI 会导致上下文切换,从而破坏注意力。Herdr 通过以下方式解决此问题:

  1. 减轻认知负荷 – 所有交互都发生在编写、编译和运行代码的同一个窗口中。
  2. 实现可脚本化 – 由于代理是作为子进程启动的,因此它们可以从脚本或 CI 流水线中以编程方式启动,从而促进提示词的自动化测试。
  3. 提高可访问性 – 基于终端的工具可以通过 SSH、在容器中以及在无头服务器上运行,将 AI 辅助功能扩展到无法使用图形化浏览器环境。

Herdr 的典型工作流

  1. herdr.yml 中定义代理
    agents:
      gpt4:
        command: openai api chat -m gpt-4
        env:
          OPENAI_API_KEY: $OPENAI_API_KEY
      claude:
        command: anthropic api chat -m claude-2
    
  2. 启动复用器herdr run 会启动两个代理并打开一个交互式提示符。
  3. 切换代理:按下 Ctrl-bgpt4claude 之间循环切换。
  4. 交互:输入一个问题;活跃的代理会回复,并带有其名称前缀。
  5. 检查历史记录:使用上下箭头滚动查看合并的对话日志。

可扩展性与社区采用

Herdr 是用 Go 编写的,这为所有主要平台提供了快速启动和静态二进制文件。其设计鼓励扩展:

  • 自定义传输方式 – 开发者可以将默认的 exec.Command 运行器替换为 HTTP 客户端,以便与远程模型服务器进行通信。
  • 插件系统 – 未来版本计划加载实现 Agent 接口的 Go 插件,从而实现与专有 API 的更深层集成。
  • 按键绑定自定义 – 所有热键都可以通过同一个 YAML 文件进行配置,从而允许高级用户根据其现有的终端人体工程学进行调整。

该仓库目前在 Hacker News 上获得了 151 个点赞和 96 条评论,表明社区兴趣浓厚。在撰写本文时,,该 HN 帖子中没有附带官方评论,但投票模式表明早期采用者认为该 concept 概念很吸引人。


需要考虑的局限性

  • 没有内置用于视觉输出的 UI – Herdr 专注于文本;显示图像或富文本 Markdown 需要外部工具。
  • 代理隔离仅限于进程级别 – 所有代理都共享同一个终端环境,so so 如此,行为异常的子进程可能会影响彼此。
  • 代理提示词管理是手动的 – 虽然 YAML 文件可以存储默认提示词,但没有用于针对单条消息进行提示词微调的 UI。

总结

Herdr 将终端转换为一个多代理中心,让开发者通过单一的、可脚本化的接口与多个 AI 模型进行交互。通过将工作流保持在 Shell 中,它减少了上下文切换,支持自动化,并可在任何可用的终端环境中使用。对于已经重度依赖 CLI 工具的团队,Herdr 提供了一种务实的方式,将 AI 辅助功能直接引入命令行。

Sources