Agent Session Manager
在一个终端界面中并行组织、监控和恢复多个 AI 编程 CLI 会话。
- Star 数
- ★ 13
- 最近更新
- 19 天前
- License
- MIT
- 主语言
- Go
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 开始前需要
- 典型场景
- 同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个 TUI 查看各任务的运行、等待、空闲或停止状态。
- 主要局限
- 核心执行依赖 tmux;Windows 必须使用 psmux,或自行通过
ASMGR_TMUX指向 WSL/Cygwin 下的 tmux。 - 源码审查
- 69/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Agent Session Manager(ASMGR)是一个以 Go 和 Bubble Tea 构建的本地终端界面,通过 tmux(Windows 使用 psmux)管理 AI 编程助手进程。它原生支持 Claude Code、Gemini CLI、Aider、OpenAI Codex、Amazon Q 和 OpenCode,也能运行自定义 CLI 命令。用户可以把会话按项目和分组隔离,在同一目录中并行启动多个实例,并在单个会话内创建多个代理或终端标签页。界面提供带 ANSI 颜色的实时输出预览、活动状态检测、提示发送、会话恢复、跨历史搜索以及 Git 差异查看。配置、项目元数据、会话、分组和备注保存在本地文件系统中;产品边界是用户自己的终端、代码目录和本地多路复用器,而不是托管式云代理服务。
运行 asmgr 后,程序先显示项目选择器,并从 ~/.config/agent-session-manager/ 下的 projects.json、默认 sessions.json 或项目专属 projects/<project>/sessions.json 读取持久化状态。session/ 组件负责会话生命周期、PTY 与 tmux 集成、项目存储、状态检测和各代理的历史发现;ui/ 使用 Bubble Tea、Bubbles 和 Lip Gloss 渲染列表、预览、对话框、帮助、分屏和颜色选择器。用户选择 Claude、Gemini、Aider、Codex、Amazon Q、OpenCode 或自定义命令后,ASMGR 在 tmux/psmux 会话或标签页中启动并管理相应进程,同时抓取输出用于实时预览,并允许向运行中的进程发送提示。它可以发现并恢复 Claude、Gemini、Codex、OpenCode 和 Amazon Q 的既有对话;全局搜索还会读取 Claude、Aider、OpenCode 及 shell 历史。对于 Git 工作目录,差异视图可输出从会话启动时的 HEAD 起算的 Session diff,或全部未提交变更的 Full diff。它还会把会话名称、路径、代理类型、恢复 ID、自动确认设置、颜色、分组和备注写回本地配置。
- 同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个 TUI 查看各任务的运行、等待、空闲或停止状态。
- 在同一代码目录中处理多个独立任务的工程师,需要为同一代理创建具名并行会话,同时保留各自的上下文。
- 维护多个代码库的个人开发者,希望以项目、可折叠分组、收藏和备注整理大量长期会话。
- 需要审查代理改动的开发者,可在预览与 Git Session diff 或 Full diff 之间切换,无须先退出管理界面。
- 进行方案探索的 Claude Code 用户,可从同一对话分叉到新标签页或新会话,分别尝试不同实现。
- 经常返回旧任务的终端用户,可搜索代理与 shell 历史,并恢复受支持代理的既有对话。
如何安装或部署这个 Agent?
运行时需要 Linux/macOS 上的 tmux,或 Windows 上兼容 tmux 命令语言的 psmux。还需安装至少一个受支持的 AI CLI;也可以配置自定义 CLI 命令。macOS 或 Linux 可通过 Homebrew 安装:
brew tap izll/tap
brew install asmgrLinux 也可运行快速安装脚本:
curl -fsSL https://raw.githubusercontent.com/izll/agent-session-manager/main/install.sh | bash若需从源码构建,要求 Go 1.24 或更高版本:
git clone https://github.com/izll/agent-session-manager.git
cd agent-session-manager
go build -o asmgr .
cp asmgr ~/.local/bin/Windows 用户可从 Releases 下载 asmgr_<version>_windows_amd64_setup.exe。安装程序按用户安装、把 asmgr 加入 PATH,并可在 winget 可用时协助安装 psmux;安装后需要打开新终端。
如何使用这个 Agent?
首次确保 tmux 或 psmux 以及所选 AI CLI 已在 PATH 中,然后启动:
asmgr在项目选择器中进入现有项目、创建项目,或选择不使用项目。进入会话列表后,按 n 创建会话,使用 Enter 启动并附加,或按 s 仅启动;a 可替换当前实例或创建具名并行实例。按 t 添加代理或普通终端标签页,p 向运行中的会话发送提示,r 浏览并恢复受支持代理的历史对话。按 D 切换差异视图、F 在 Session diff 与 Full diff 之间切换,Ctrl+F 搜索全局历史。附加到会话后可用 Ctrl+q 快速脱离;主界面按 F1 或 ? 查看完整快捷键说明。
这个 Agent 有哪些优点和局限?
- 同一界面原生管理六种具名 AI 编程 CLI 及任意自定义命令,减少多代理工作流对单一供应商的绑定。
- 支持同目录并行实例、多标签页、项目隔离、分组、收藏和持久备注,适合会话数量较多的长期开发工作。
- 实时 ANSI 输出预览、逐标签活动状态、提示发送和会话恢复把观察与控制集中在 TUI 中。
- 内置 Session diff、Full diff、分屏比较和跨代理历史搜索,覆盖代理执行后的检查与追溯环节。
- 提供 Homebrew、Windows 安装器、Linux 脚本、deb、rpm 和源码构建等多种安装路径。
- 核心执行依赖 tmux;Windows 必须使用 psmux,或自行通过
ASMGR_TMUX指向 WSL/Cygwin 下的 tmux。 - 用户仍需单独安装、配置并承担各 AI CLI 的认证、网络访问及服务成本;ASMGR 本身不提供模型。
- 恢复能力并不一致:Aider 和自定义命令不支持会话恢复,Claude 会话分叉也仅适用于 Claude。
- 全局历史搜索只覆盖 Claude、Aider、OpenCode 和 Terminal,且仅搜索 ASMGR 项目目录,未涵盖所有受支持代理。
- 桌面版与终端版分别保存会话,无法把同一会话列表直接共享给两个界面。
这个 Agent 与同类方案有什么区别?
项目说明其灵感来自 Claude Squad。与仅围绕单一代理的会话工具相比,ASMGR 明确支持 Claude Code、Gemini CLI、Aider、OpenAI Codex、Amazon Q、OpenCode 和自定义命令。仓库还提供独立的 ASMGR Desktop 作为图形化替代方案;桌面版使用 Wails 和 Svelte,并增加真实终端、差异查看器、文件浏览器和移动推送通知,但两个版本的会话数据彼此独立。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Agent Session Manager 当前 | 69 · 存在缺口 | ★ 13 | 19 天前 | Go | Codex · Claude Code |
| Agent Deck | 76 · 表现良好 | ★ 948 | 3 天前 | Go | Codex · Claude Code |
| Agent Manager | 64 · 存在缺口 | ★ 496 | 今天 | Go | Codex · Claude Code |
| dmux | 69 · 存在缺口 | ★ 1.8k | 1 个月前 | HTML | Codex · Claude Code · OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README明确披露本地配置和历史搜索路径、tmux会话、任意自定义命令、自更新及删除等主要外部作用;更新、停止和多数删除操作具有确认步骤,Windows安装也声明为每用户范围,因此最小权限、确认与数据流达到普通使用水平。扣分在于快速关闭标签无需确认,YOLO模式会降低下游代理的确认保护,工具可执行任意命令,并会读取Claude、Aider、OpenCode及shell历史等潜在敏感数据,却没有说明访问控制、脱敏、保留期限或隐私威胁模型。依赖虽有具体版本,但材料未提供go.sum、漏洞扫描、依赖更新策略或发布产物签名;发布工作流还使用goreleaser的latest。会话分叉和diff提供有限恢复辅助,但删除、自更新和代理造成的文件修改没有完整撤销方案。许可证、灵感来源和相关工具得到署名,但发布者身份与维护主体未获独立确认。
README、go.mod和发布工作流对Go 1.24、跨平台构建及主要依赖大体一致,且清楚列出tmux或psmux及代理CLI前置条件。扣分在于快捷键文档存在可见冲突,例如t同时被描述为创建标签和切换状态行,状态行又在别处写为o;部分能力仅由README声明。安装依赖外部包管理器、GitHub发布、多个代理CLI及multiplexer,材料提供了若干平台替代方案,但未展示依赖探测或降级实现。错误处理证据较薄,仅单实例锁、缺少psmux的说明和少量安装注意事项较具体,没有系统性的错误消息、重试或故障排查资料。
目标受众、工作区、多代理并行、比较、恢复、历史搜索和分叉等使用场景描述充分,并支持六类代理、Amazon Q及任意自定义命令;Linux、macOS和原生Windows的安装与multiplexer差异也有具体说明,因此受众场景和环境适配表现强。边界方面明确指出Aider和自定义命令不能恢复、分叉仅支持Claude、历史搜索限定ASMGR项目目录,但没有集中列出所有代理特性差异或安全边界。键盘触发、上下文模式与确认流程较具体,不过快捷键冲突以及YOLO、自定义命令等宽泛入口降低了触发精度。
README按功能、安装、更新、用法、配置和架构组织,导航和示例丰富;Homebrew、Windows、脚本、系统包和源码构建均有清晰步骤,MIT许可证完整且与元数据一致。扣分在于名称总体稳定但Agent Session Manager、ASMGR及相关桌面产品并存,且快捷键命名存在冲突。大量操作示例可替代部分FAQ,但没有专门故障排查或FAQ。限制散布在各节而非集中维护。版本号和发布流程可见,但未提供CHANGELOG、兼容性政策或明确的语义化版本承诺。维护责任仅能从仓库命名、版权和自动发布流程推断,没有维护者名单、支持渠道或安全报告路径。
TUI将多代理会话、实时预览、标签、分组、笔记、搜索、diff和分叉整合为可直接操作的输出,快捷键和状态表示也较完整,因此输出可用性与相对单独管理多个终端的增量价值较高。扣分主要在成本收益缺少量化证据:用户必须安装并维护multiplexer、至少一个代理CLI及相应账户环境,自更新和多种历史解析也增加运维与隐私成本;材料没有性能、资源占用或规模上限数据。
主要产品主张可对应到README中的具体功能、配置路径和架构文件名,go.mod支持语言与UI依赖声明,发布工作流支持跨平台发布及校验文件生成,因此具有中等可追踪性和跨文件印证。扣分在于所给材料没有实现文件、测试、go.sum、发布配置或变更记录,许多细粒度行为仍只有README单源声明。文档通常将功能、前置条件和限制分开陈述,但营销性措辞如“powerful”和“improved reliability”没有指标或证据,也未明确标注哪些描述属于推断。
- 全局历史搜索会读取代理对话记录和shell历史;在敏感项目中启用前,应检查本地文件权限、数据保留方式和预览暴露风险。
- 自定义命令及自动确认/YOLO模式可扩大下游代理的操作权限;应仅在受信目录中使用,并先审查代理自身的权限配置。
- 快速关闭标签无确认,删除与代理文件修改也没有完整撤销机制;重要工作应依赖版本控制和独立备份。
- 一键安装脚本从main分支下载执行,发布流程还使用latest版GoReleaser;高保障环境应固定版本、核验校验值并自行构建。
- README中的t和状态行快捷键说明互相冲突,实际使用前应通过内置帮助确认当前版本的按键映射。
- 本结论仅基于所给静态文件,未运行程序、检查实现、验证发布产物或审计依赖漏洞。
常见问题
ASMGR 是否包含或托管 AI 模型?
能否在 Windows 上使用?
ASMGR_TMUX 指向 WSL 或 Cygwin 中 tmux 的绝对路径。