Agent Session Manager

在一个终端界面中并行组织、监控和恢复多个 AI 编程 CLI 会话。

Star 数
★ 13
最近更新
19 天前
License
MIT
主语言
Go

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code
开始前需要
tmux on Linux/macOS or psmux on WindowsAt least one supported AI CLI tool or a custom CLI commandShell / 命令行网络访问本地文件系统
典型场景
同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个 TUI 查看各任务的运行、等待、空闲或停止状态。
主要局限
核心执行依赖 tmux;Windows 必须使用 psmux,或自行通过 ASMGR_TMUX 指向 WSL/Cygwin 下的 tmux。

这个 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、自动确认设置、颜色、分组和备注写回本地配置。

  1. 同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个 TUI 查看各任务的运行、等待、空闲或停止状态。
  2. 在同一代码目录中处理多个独立任务的工程师,需要为同一代理创建具名并行会话,同时保留各自的上下文。
  3. 维护多个代码库的个人开发者,希望以项目、可折叠分组、收藏和备注整理大量长期会话。
  4. 需要审查代理改动的开发者,可在预览与 Git Session diff 或 Full diff 之间切换,无须先退出管理界面。
  5. 进行方案探索的 Claude Code 用户,可从同一对话分叉到新标签页或新会话,分别尝试不同实现。
  6. 经常返回旧任务的终端用户,可搜索代理与 shell 历史,并恢复受支持代理的既有对话。

如何安装或部署这个 Agent?

运行时需要 Linux/macOS 上的 tmux,或 Windows 上兼容 tmux 命令语言的 psmux。还需安装至少一个受支持的 AI CLI;也可以配置自定义 CLI 命令。macOS 或 Linux 可通过 Homebrew 安装:

brew tap izll/tap
brew install asmgr

Linux 也可运行快速安装脚本:

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?

FollowAgents 源码审查 · FARS-2.1
存在缺口
69/ 100 五分制 3.5 / 5
信任安全 16/29
可靠稳定 8/14
适用触发 15/18
规范维护 13/18
有效结果 12/13
证据核验 5/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

README明确披露本地配置和历史搜索路径、tmux会话、任意自定义命令、自更新及删除等主要外部作用;更新、停止和多数删除操作具有确认步骤,Windows安装也声明为每用户范围,因此最小权限、确认与数据流达到普通使用水平。扣分在于快速关闭标签无需确认,YOLO模式会降低下游代理的确认保护,工具可执行任意命令,并会读取Claude、Aider、OpenCode及shell历史等潜在敏感数据,却没有说明访问控制、脱敏、保留期限或隐私威胁模型。依赖虽有具体版本,但材料未提供go.sum、漏洞扫描、依赖更新策略或发布产物签名;发布工作流还使用goreleaser的latest。会话分叉和diff提供有限恢复辅助,但删除、自更新和代理造成的文件修改没有完整撤销方案。许可证、灵感来源和相关工具得到署名,但发布者身份与维护主体未获独立确认。

可靠稳定8 / 14 · 2.9/5

README、go.mod和发布工作流对Go 1.24、跨平台构建及主要依赖大体一致,且清楚列出tmux或psmux及代理CLI前置条件。扣分在于快捷键文档存在可见冲突,例如t同时被描述为创建标签和切换状态行,状态行又在别处写为o;部分能力仅由README声明。安装依赖外部包管理器、GitHub发布、多个代理CLI及multiplexer,材料提供了若干平台替代方案,但未展示依赖探测或降级实现。错误处理证据较薄,仅单实例锁、缺少psmux的说明和少量安装注意事项较具体,没有系统性的错误消息、重试或故障排查资料。

适用触发15 / 18 · 4.2/5

目标受众、工作区、多代理并行、比较、恢复、历史搜索和分叉等使用场景描述充分,并支持六类代理、Amazon Q及任意自定义命令;Linux、macOS和原生Windows的安装与multiplexer差异也有具体说明,因此受众场景和环境适配表现强。边界方面明确指出Aider和自定义命令不能恢复、分叉仅支持Claude、历史搜索限定ASMGR项目目录,但没有集中列出所有代理特性差异或安全边界。键盘触发、上下文模式与确认流程较具体,不过快捷键冲突以及YOLO、自定义命令等宽泛入口降低了触发精度。

规范维护13 / 18 · 3.6/5

README按功能、安装、更新、用法、配置和架构组织,导航和示例丰富;Homebrew、Windows、脚本、系统包和源码构建均有清晰步骤,MIT许可证完整且与元数据一致。扣分在于名称总体稳定但Agent Session Manager、ASMGR及相关桌面产品并存,且快捷键命名存在冲突。大量操作示例可替代部分FAQ,但没有专门故障排查或FAQ。限制散布在各节而非集中维护。版本号和发布流程可见,但未提供CHANGELOG、兼容性政策或明确的语义化版本承诺。维护责任仅能从仓库命名、版权和自动发布流程推断,没有维护者名单、支持渠道或安全报告路径。

有效结果12 / 13 · 4.6/5

TUI将多代理会话、实时预览、标签、分组、笔记、搜索、diff和分叉整合为可直接操作的输出,快捷键和状态表示也较完整,因此输出可用性与相对单独管理多个终端的增量价值较高。扣分主要在成本收益缺少量化证据:用户必须安装并维护multiplexer、至少一个代理CLI及相应账户环境,自更新和多种历史解析也增加运维与隐私成本;材料没有性能、资源占用或规模上限数据。

证据核验5 / 8 · 3.1/5

主要产品主张可对应到README中的具体功能、配置路径和架构文件名,go.mod支持语言与UI依赖声明,发布工作流支持跨平台发布及校验文件生成,因此具有中等可追踪性和跨文件印证。扣分在于所给材料没有实现文件、测试、go.sum、发布配置或变更记录,许多细粒度行为仍只有README单源声明。文档通常将功能、前置条件和限制分开陈述,但营销性措辞如“powerful”和“improved reliability”没有指标或证据,也未明确标注哪些描述属于推断。

风险与缓解建议
  • 全局历史搜索会读取代理对话记录和shell历史;在敏感项目中启用前,应检查本地文件权限、数据保留方式和预览暴露风险。
  • 自定义命令及自动确认/YOLO模式可扩大下游代理的操作权限;应仅在受信目录中使用,并先审查代理自身的权限配置。
  • 快速关闭标签无确认,删除与代理文件修改也没有完整撤销机制;重要工作应依赖版本控制和独立备份。
  • 一键安装脚本从main分支下载执行,发布流程还使用latest版GoReleaser;高保障环境应固定版本、核验校验值并自行构建。
  • README中的t和状态行快捷键说明互相冲突,实际使用前应通过内置帮助确认当前版本的按键映射。
  • 本结论仅基于所给静态文件,未运行程序、检查实现、验证发布产物或审计依赖漏洞。
证据充分度:低 评估于 2026年9月24日 审查版本 6807c91a5479
查看完整评分方法 →

常见问题

ASMGR 是否包含或托管 AI 模型?
不包含。它管理已经安装的 AI CLI 或自定义命令;相应服务的账户、认证、费用和网络条件仍由用户自行处理。
能否在 Windows 上使用?
可以。Windows 安装器使用原生 psmux 作为多路复用器,不要求 WSL 或 MSYS2;也可通过 ASMGR_TMUX 指向 WSL 或 Cygwin 中 tmux 的绝对路径。
哪些代理能够恢复旧会话?
Claude、Gemini、Codex、OpenCode 和 Amazon Q 支持恢复。Aider 与自定义命令不支持这一功能。
项目之间的会话是否隔离?
是。每个项目拥有独立的会话列表和分组,并有单实例锁;同一项目一次只能由一个 ASMGR 实例打开。
它会修改代码吗?
代码修改由所启动的 AI CLI 或自定义命令完成。ASMGR 负责进程、终端、输入、预览和持久化管理,并可显示会话期间或整个工作区的 Git 未提交差异。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents