Agent Sessions
本地优先的 macOS 应用,统一浏览、搜索并恢复 Codex、Claude Code 等十余种 AI 编码代理的会话历史,并实时按会话追踪配额消耗。
证据显示应用只读访问本地会话目录、无遥测、网络活动仅限可选的 Sparkle 更新和只读价格列表拉取,权限范围合理;但 least_privilege 未给满分是因为这些仅为 README 声明,docs/security.md 未在样本中提供以核实;user_confirmation 给 2,因显式操作(终端 resume、清理工作流)有说明但未见确认流程细节;dependency_security 仅 1,README 提及 Sparkle 签名公证,但依赖清单和漏洞管理无证据;rollback 仅 1,恢复已保存会话有提及,但应用自身更新回滚或数据变更回滚未见说明;source_attribution 给 2,STEWARDS.md 命名机制存在但 steward 名单本身未在样本中。
README 明确列出多个未验证或部分验证的能力(Qwen resume 未经端到端测试、fx resume 未测试、OpenClaw 不支持 resume),自我一致性良好;failure_messages 给 2,README 描述了 'can't verify' 和 'no limit' 等诚实状态,但 5.1.1 修复的三个静默失败恰好证明历史上有失败无提示的问题;dependency_availability 仅 1,CI 有构建和测试步骤,但未提供测试通过状态或测试数量基线的实际证据。
audience_and_scenarios 给 3,明确面向多 agent 重度用户,场景(配额监控、历史恢复、resume)描述清晰;capability_boundaries 给 3,每个 agent 的支持程度、图像提取、归档历史限制逐条列明,这在同类项目中少见;trigger_precision 给 2,resume 命令按 agent 精确生成,但部分未经端到端验证;environment_fit 给 2,要求 macOS 14+,但 Sparkle 更新和 Homebrew 分发对环境的假设未完全展开。
information_architecture 给 3,文档结构(guides、PRIVACY、security、CHANGELOG、summaries、CONTRIBUTING、STEWARDS)清晰完整;install_notes 给 3,DMG、Homebrew、Sparkle 三种安装方式齐备;known_limitations 给 3,不支持的图像提取、未测试的 resume、无归档历史等限制被主动列出;versioning_changelog 给 3,5.1.1 的修复清单详尽并链接 changelog;license 给 3,MIT 完整文本在 LICENSE 文件中;maintenance_responsibility 给 3,Maintained/Steward-verified/Steward wanted 的三态模型和名册机制是明确的责任归属设计;naming_stability 给 2,agent 名称和 bundle id 一致,但无版本承诺或弃用政策说明;examples_and_faq 给 2,有截图和配额设置指南,但无 FAQ 且示例多为说明性截图。
output_usability 给 2,搜索、浏览、resume 输出形态描述清晰,但可用性未经执行验证;marginal_value 给 3,按会话配额归因和多 agent 历史聚合是普通 CLI 不提供的差异化能力;cost_benefit 给 3,本地免费 MIT 应用,安装即用,成本低。
claim_traceability 给 2,多数声明有链接(verification report、changelog、STEWARDS.md),但部分链接目标不在本次样本内无法核实;cross_source_corroboration 给 2,CI 配置与 README 测试命令一致,Python probe 测试与 Cursor 元数据声明相符,但 Swift 端代码未在样本中;fact_inference_separation 给 3,README 明确区分 'verified'、'end-to-end untested'、'steward-verified' 等状态,事实与推断分离做得好。
- 发布者未经注册表验证,身份视为未知,仅凭仓库内容评估。
- 依赖安全证据薄弱:无依赖清单或漏洞管理说明,仅提及 Sparkle 签名公证;使用前应自行核对打包依赖。
- 多个 agent 的 resume 功能未经端到端验证(Qwen、fx),Qwen 归档历史只读,OpenClaw 不支持 resume;不要假设所有 resume 按钮都能成功。
- 5.1.1 修复的三个静默失败表明历史上存在失败无提示的情况;升级后应主动验证搜索和费用数字是否正常。
- 价格列表来自可选的远程只读拉取,成本估算是近似值而非账单数据。
- 本评估为静态源码审查,置信度低,未经执行验证。
这个 Agent 能做什么,适合哪些场景?
Agent Sessions 是一款开源(MIT)的本地优先 macOS 应用,把散落在磁盘上的 AI 编码代理会话历史聚合成一个可搜索的界面。它支持十五种会话来源,包括 Codex CLI/Desktop/VS Code、Claude Code、OpenCode、Cursor Agent、GitHub Copilot CLI、Hermes、OpenClaw、Antigravity、Pi、Kimi Code、Grok CLI、Qwen Code、Devin CLI 和 fx。核心功能包括统一搜索、转录文查看、图片浏览、已保存会话恢复,以及对支持的 CLI 一键生成恢复命令(如 devin --resume <id>)。其 Quota Meter(配额仪表)按单个会话实时归因 Codex 与 Claude 的 5 小时和每周限额消耗,支持百分比、tokens/小时、美元三种视角,并按模型分别计价。所有数据仅在本机索引,无遥测,唯一的网络活动是可选的 Sparkle 更新检查和可选的公开模型价格表只读拉取。应用需要 macOS 14+,通过 DMG 或 Homebrew Cask 安装。
应用以只读方式扫描本地代理会话目录(如 ~/.codex/sessions、~/.claude/projects、~/.gemini/antigravity/brain、~/.copilot/session-state、~/.cursor/projects、~/.hermes/state.db、~/.local/share/opencode/opencode.db、~/.factory/sessions、~/.openclaw/agents、~/.pi/agent/sessions、~/.fx/sessions 及 Devin 的共享 SQLite sessions.db),为搜索和导航建立本地索引。用户可浏览、过滤、全文搜索所有会话转录文,查看工具调用/输出,浏览会话内图片;对支持的 CLI 可右键复制恢复命令或在 Terminal.app、iTerm2、Warp 中打开。Quota Meter 显示每个活跃会话对 Codex 和 Claude 5 小时/每周窗口的实时消耗速率,可切换 5 小时、每周、tokens/小时、美元四种视角,美元视角按会话内每个模型的实际费率分别计价。会话来源自 5.0 起改为插件式适配器,可按文档化的贡献流程添加新代理。
- 同时运行多个 AI 编码代理的开发者,想知道 5 小时/每周配额到底被哪个会话消耗掉,而不只看到一个笼统的百分比
- 需要找回几天前某次 Codex 或 Claude Code 会话中的方案或代码片段,本地历史规模庞大且难以人工翻找
- 团队使用 Cursor、Copilot CLI、OpenCode 等多种代理,希望在统一界面中搜索和过滤所有会话记录
- 需要中断后恢复某个代理会话,希望一键复制正确的 CLI 恢复命令(如 devin --resume <id>)
- 关注成本的 Opus/Sonnet 混合编排用户,需要按模型分别计价而非混合平均的会话成本视图
- 重视隐私、不愿会话数据离开本机的用户,需要无遥测的本地索引方案
这个 Agent 有哪些优点和局限?
- 按单个会话实时归因配额消耗,且美元视角按会话内每个模型独立计价(如 Opus 编排器驱动 Sonnet 子代理各按其费率计算),这是普通配额仪表做不到的
- 覆盖十五种会话来源并持续维护,5.0 起代理支持为插件式适配器,社区贡献者已成功添加 Devin CLI 和 fx 两个新来源
- 严格的隐私设计:本地索引、无遥测、只读读取会话目录,文档化于 docs/PRIVACY.md 和 docs/security.md
- 对支持的 CLI 提供经过端到端验证的恢复命令(如 Devin 在 3000.5.20 上验证通过),支持三种终端启动目标
- 仅支持 macOS 14+,Windows 和 Linux 用户无法使用
- 部分代理支持存在缺口:Qwen 和 fx 的图片提取尚不支持,Qwen 恢复因认证问题端到端未测试,OpenClaw 不支持恢复,Devin 仅保留活跃会话无归档历史可浏览
- 十四个代理来源中有十一个标记为 'Steward wanted',即无专人跟进格式变化,上游 CLI 更新可能导致读取失效
- 依赖各代理本地存储格式,格式变化时功能可能静默失效(如 5.1.1 修复的 Claude 会话搜索自某日起完全失效而无提示),需要保持更新
如何安装或部署这个 Agent?
方式一(DMG):从 GitHub Releases 下载 AgentSessions-5.1.1.dmg,将 Agent Sessions.app 拖入 Applications。方式二(Homebrew):执行 brew tap jazzyalex/agent-sessions && brew install --cask agent-sessions。要求 macOS 14+。自动更新通过 Sparkle(已签名并公证)完成。
如何使用这个 Agent?
安装后启动应用,它会读取支持的默认 CLI 会话目录并建立本地索引(首次升级后会自动重新抓取,无需手动重建索引)。在统一会话列表中浏览、过滤或全文搜索转录文;会话内可用 Find 跳转到相关工具调用和输出;右键支持恢复的会话选择 Copy Resume Command 或直接在 Terminal.app/iTerm2/Warp 中恢复。要使用 Quota Meter,需在设置中启用活跃会话检测,并让代理在终端或 Codex/Claude Desktop 中运行;建议将终端窗口标题设为仓库名并为每个标签页单独命名,以便会话行显示清晰。可通过 View 菜单(⌘⌥⇧C)显示或隐藏 Quota Meter,拖动放置到任意角落。
这个 Agent 与同类方案有什么区别?
源材料未列出直接竞品;README 将其配额仪表与'普通配额仪表'(只给账户级百分比)作对比,但未指名具体产品。