UStackUStack
mngr icon

mngr

mngr 是类 Unix 的 CLI,用于在本地与远程环境管理 AI 代理:创建/列出/连接,并通过 SSH、git、tmux 进行代理消息传递。

mngr

mngr 是什么?

mngr 是一个类 Unix 的命令行工具,用于管理在各种运行环境中的 AI 代理——本地、远程主机,或容器/沙箱内。该项目将 mngr 描述为创建、销毁、列出、克隆和连接代理的方式,让您可以聊天或调试它们,同时保持代理基础设施的可访问性和可脚本化。

仓库将 mngr 定位为“agents 的 git”,强调使用熟悉的原语如 SSH、git 和 tmux 来程序化管理代理。它设计为无需托管服务即可运行代理;相反,您操作计算资源并通过标准机制连接。

主要特性

  • 通过 CLI 管理代理:支持从终端创建、列出、连接和消息传递代理,包括命名代理实例。
  • 基于 SSH、git 和 tmux 的类 Unix 进程管理:仓库称其基于这些工具,将代理生命周期操作与标准基础设施工作流对齐。
  • 在远程主机和容器/沙箱中运行代理:README 强调跨“远程主机、容器和沙箱”扩展,而非仅限于单一本地设置。
  • 无需锁定单一提供商/接口即可组合工作流:您可以在“代理之上”构建自己的工作流,同时避免与特定提供商或 UI 绑定。
  • 通过插件扩展:项目提到基于插件的扩展性。

如何使用 mngr

  1. 安装 mngr:使用提供的脚本:curl -fsSL https://raw.githubusercontent.com/imbue-ai/mngr/main/scripts/install.sh | bash
  2. 创建代理:例如,mngr create 使用默认值在本地启动代理(README 示例指示 agent=claude, provider=local, project=当前目录)。
  3. 在新远程主机上启动:例如,mngr create @.modal 在 Modal 上启动代理,使用自动生成的 hostname(按 README 描述)。
  4. 命名代理并选择启动代理:使用 mngr create my-taskmngr create my-task codex 以选中名称运行不同代理类型。
  5. 连接并发送初始消息(可选):README 提到使用 -- --model ... 传递底层代理参数,以及 --no-connect --message "..." 以提交初始消息而无需等待。

使用场景

  • 本地代理开发设置:从当前目录使用 mngr create 启动代理,然后通过一致的终端工作流聊天或调试。
  • 从单一代理扩展到跨主机的多个代理:跨远程主机、容器和沙箱运行“数百个代理”,同时使用相同 CLI 进行列出和连接。
  • 克隆或快照代理状态:将代理配置和状态视为可克隆和管理的内容(README 列出 clone/snapshot/migrate 操作)。
  • 提供商无关的工作流:构建高级工作流来编排不同代理类型和执行位置,而无需将工作流绑定到特定提供商或接口。
  • 团队/共享基础设施访问模式:使用基于 SSH 的连接性和标准工具(tmux、git)管理代理进程,以适应现有运营实践。

常见问题

mngr 是托管服务吗?
不是。README 明确指出“No managed service required”,将 mngr 描述为基于 SSH、git 和 tmux 的 CLI,与您控制的计算资源配合工作。

代理可以在哪里运行?
根据 README,代理可本地运行,也可跨远程主机、容器和沙箱运行。

如何安装 mngr?
仓库显示了一个从 GitHub 管道脚本到 bash 的安装命令。

我可以自定义启动的代理或模型吗?
README 指示您可以传递参数给底层代理(例如 -- --model opus)并选择代理类型(示例:mngr create my-task codex)。

替代方案

  • 通用 SSH 远程进程管理 + 自定义脚本:您可以运行 tmux 会话并通过 SSH 连接,但需自行构建代理生命周期、列出和消息传递工作流。
  • 其他代理编排框架:通过 API/UI 管理代理的框架可能上手更简单,但可能比 mngr 的“SSH + git + tmux”方法更紧密绑定特定提供商/接口。
  • 仅容器工作流(Docker Compose/Kubernetes 作业)+ 手动附加:您可以标准化运行环境,但会丢失 mngr 的“agents 的 git”克隆/快照概念及其终端优先的代理管理界面。
  • 无代理生命周期管理的 Git 工具:您可以版本化代理代码和配置,但仍需单独工具来创建/连接/消息传递运行中的代理。
mngr | UStack