AGF 本地编码会话查找器
统一搜索并恢复散落在本机的 AI 编码会话。
- 源仓库
- subinium/agf
- Star 数
- ★ 156
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- Rust
- FA 评分
- 96/100 · 表现优秀
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个终端列表找回正确会话。
- 不适合
- 需要云端跨设备同步会话的团队
- 主要使用 Amp 或 GitHub Copilot 的开发者
- 希望由 AGF 删除所有供应商会话的用户
- 源码审查
- 96/100 · 表现优秀
这个 Agent 能做什么,适合哪些场景?
AGF 是一个以本地数据为中心的 Rust 命令行工具,用统一的 TUI 浏览和模糊搜索 16 种 AI 编码 Agent 保存的会话。它直接读取各工具已有的 JSON、JSONL 或 SQLite 存储,不要求账户、云同步或常驻的额外 Agent 进程。用户可以在交互界面中查看项目、路径、分支及可选摘要,也可以通过 `agf resume` 跳过 TUI,直接调用相应 Agent 的原生恢复命令。除交互界面外,它还提供版本化 JSON 命令、只读 stdio MCP 服务器,以及可供 Agent 集成的 AGF skill。其部署边界是用户自己的 macOS、Linux 或 Windows 机器;AGF 负责发现与交接会话,而实际恢复仍依赖对应的 Agent CLI。
AGF 扫描 Muse Code、Claude Code、Codex、Grok Build、Kimi Code、Qwen Code、Prime Agent、Gemini CLI、Antigravity CLI、Cursor CLI、OpenCode、Kiro、pi、Hermes、Oh My Pi 和 Yolop 的本地会话目录或数据库,并将结果合并成可搜索列表。TUI 支持按项目名、路径和分支进行模糊匹配,也能通过 F2 将有限数量的摘要纳入搜索;选中记录后,它会构造并运行该提供方的恢复命令。agf search、agf show、agf resume-plan 和 agf capabilities 输出版本化 JSON,其中 resume-plan 只返回待审查的参数、工作目录和受限存储环境,不会启动 Agent。agf mcp 通过 stdio 暴露相同的只读 API,并可用绝对项目路径限制返回记录。交互界面还提供详情、排序、项目分组、权限或审批模式选择以及批量删除,但部分提供方出于索引和附属文件一致性考虑禁用了直接删除。
- 同时使用 Claude Code、Codex 和 Gemini CLI 的开发者,希望从一个终端列表找回正确会话。
- 关闭终端或忘记会话 ID 后,需要按项目名、路径、分支或摘要恢复上下文的用户。
- 维护多个代码库的工程师,希望直接运行
agf resume <query>,跳过各 Agent 自带的会话选择器。 - 构建本地开发工具的团队,需要用版本化 JSON 或只读 MCP 接口查询现有编码会话。
- 准备清理旧会话的用户,希望先在 TUI 中跨项目检查并多选可安全删除的记录。
- 重视本地数据边界的团队,希望索引现有会话文件而不引入云同步服务。
如何安装或部署这个 Agent?
最直接的 Cargo 安装方式需要 Rust 1.88 或更高版本,以及用于内置 SQLite 的 C 编译器:
cargo install agf --locked
agfmacOS 或 Linux 也可以通过 Homebrew 安装:
brew install subinium/tap/agfmacOS、Linux 和 Windows 还提供无需 Rust 工具链的预编译二进制文件。若需要让 AGF 改变父 shell 的目录,可运行可选设置命令,然后重启 shell 或按提示重新加载配置:
agf setup从源码安装的命令如下:
git clone https://github.com/subinium/agf.git
cd agf
cargo install --path . --locked
agf setup恢复会话时,还需安装目标会话对应的 Agent CLI,例如 codex、claude、gemini 或 muse;仅浏览、JSON 查询和 MCP 服务不要求 shell 集成。
如何使用这个 Agent?
启动交互式会话浏览器:
agf按查询直接恢复最匹配的会话:
agf resume project-name限定为 Muse Code 并搜索或恢复:
agf list --agent muse
agf resume --agent muse project-name
agf search parser --agent muse --include-summaries面向脚本或 Agent 工具时,可使用只读 JSON 命令检查搜索结果、单条记录、恢复计划和能力:
agf search parser --agent codex --limit 10
agf show SESSION_ID --agent codex --include-summaries
agf resume-plan SESSION_ID --agent codex
agf capabilities以 stdio MCP 服务器运行,并将结果限制到指定项目:
agf mcp --agent codex --project /absolute/project/pathTUI 中输入文字即可搜索,方向键或 Ctrl+K/Ctrl+J 导航,Enter 打开动作菜单,Ctrl+L 查看详情,Tab 切换 Agent 过滤器,F2 切换摘要搜索,Ctrl+D 进入批量删除模式。
这个 Agent 有哪些优点和局限?
- 单一界面覆盖 16 种编码 Agent,并针对每种工具读取其真实的本地 JSON、JSONL 或 SQLite 存储。
- 采用本地优先模型,无需账户、云同步或额外常驻 Agent 进程;JSON 和 MCP 查询也保持只读。
- 既提供完整 TUI,也提供快速恢复、版本化 JSON、
resume-plan和 stdio MCP,便于人机两类工作流。 - 恢复前会固定解析出的可执行文件、存储根目录、工作目录和相关环境,降低切换目录造成的调用偏差。
- 支持 Unicode/CJK 搜索、无颜色模式、深浅主题以及不依赖颜色的选中和匹配提示。
- 它只管理本机已保存且可恢复的会话,不提供云端同步或跨机器共享。
- 真正恢复会话依赖相应提供方的 CLI;只安装 AGF 不能替代
codex、claude、muse等程序。 - Prime Agent、Grok Build、Kimi Code、Qwen Code、Gemini、Antigravity 和 Muse Code 禁止从 AGF 直接删除会话。
- Amp 和 GitHub Copilot 没有扫描器,未列入支持范围。
- 部分提供方存在已记录的兼容边界,例如 Antigravity 仅支持默认存储位置,Hermes 恢复时使用当前 shell 目录。
- 用 Cargo 构建需要 Rust 1.88+ 和 C 编译器;父 shell 目录切换还要额外安装 shell 包装器。
这个 Agent 与同类方案有什么区别?
与逐个打开各 Agent 的原生会话选择器或手工翻查历史文件相比,AGF 将 16 种工具的本地会话汇总到同一个可搜索界面,并提供统一的 JSON 与 MCP 查询入口。不过它不会取代原生 Agent:恢复最终仍交给各自的命令行程序,部分会话的删除也必须回到提供方自己的选择器完成。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AGF 本地编码会话查找器 当前 | 96 · 表现优秀 | 命令行工具免费 | ★ 156 | 4 天前 | Rust | Codex · Claude Code |
| OpenCrabs 终端智能体 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 971 | 1 天前 | Rust | ChatGPT · Codex · OpenAI API · Claude API |
| Herdr 智能体终端运行环境 | 49 · 缺口较多 | 命令行工具免费 | ★ 42k | 今天 | Rust | — |
| deja-vu | 75 · 表现良好 | 命令行工具免费 | ★ 1.1k | 1 天前 | Go | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
项目以本地读取为主,无账户、云同步或常驻代理;JSON、MCP 和 resume-plan 明确为只读或审阅接口,摘要默认不参与搜索,并说明私人或不可信文本、CSV 公式前缀及项目范围并非操作系统沙箱。恢复、删除、配置和 shell profile 修改的外部效果均有清楚说明,批量删除具有独立模式和确认界面,不安全的提供商删除被主动禁用。锁定依赖、RustSec 审计、最小权限 CI 和发布校验为依赖安全提供了充分证据。扣分在于删除后的恢复机制或回收站策略没有说明,shell profile 修改也没有明确的自动撤销流程;来源可追溯到仓库、MIT 版权主体和各上游项目,但发布者身份未经企业注册验证,且没有更明确的维护者身份或安全联系渠道。
README、Cargo 元数据、CI、发布流程和 PTY 测试对版本、平台、功能和依赖要求相互一致。文档给出 Rust 1.88、C 编译器、可选 MCP 功能、预构建包及各代理 CLI 的可用性要求;扫描失败和配置保存失败均有面向用户的错误状态,测试材料还明确覆盖失败扫描和终端清理。未因缺少实际执行结果扣分,因为本评估仅考察静态可见的可靠性处理。
面向交互式用户、脚本、代理工具和 MCP 客户端分别提供 TUI、版本化 JSON、resume-plan 与 stdio MCP;16 个提供商、跨平台路径、环境变量覆盖、无颜色及有限色终端、shell 差异和可选功能均有具体处理。功能边界明确区分读取、启动、删除以及不受支持的提供商和配置层;命令、代理过滤器、明确的 Cursor 可执行文件覆盖和不自动接受通用 agent 名称,使触发范围精确。各项均有充分文件证据,故未扣分。
README 的安装、升级、命令、按键、配置、存储路径、限制、贡献和许可结构完整;命令与代理名称稳定,并记录 muse-code 别名。示例很多,但没有独立 FAQ 或系统化故障排除目录,因此 examples_and_faq 扣一分。MIT 全文与包元数据一致。版本号、语义化标签检查、发布质量门和 CHANGELOG 引用存在,但所给材料未包含 CHANGELOG 内容,无法确认其覆盖质量,因此 versioning_changelog 未给满分。Issues/PR 与贡献路径清楚,但缺少明确维护者、安全报告联系人或维护承诺,maintenance_responsibility 也扣一分。
统一检索多个代理的本地会话并生成原生恢复动作,直接解决跨工具寻找会话的问题;TUI、快速恢复、版本化 JSON、MCP、项目过滤和可审阅的恢复计划使输出可直接用于人工和自动化流程。它复用现有本地存储、无需账户或云服务,并提供预构建包和可裁剪 MCP 功能,静态材料显示较高增量价值和较低部署成本。没有把未执行的性能或正确性当作加分依据。
主要声明可在 README、Cargo.toml、CI、发布工作流和测试夹具之间追踪;平台、版本、依赖锁定、提供商数量、只读行为、失败呈现和终端兼容性均获得多处文件交叉支持。文档明确标出未验证的上游覆盖项、不可模拟的配置层、有限预览、非沙箱范围及不支持的提供商,较好地区分已支持事实、限制和推断。静态审查没有独立运行或验证这些声明,因此置信度仍为低。
- AGF 会读取可能包含私密提示、回复、项目路径和分支信息的本地会话存储;JSON 与 MCP 输出应按敏感数据处理。
- 项目范围过滤不是操作系统沙箱;向不受信任的 MCP 客户端或脚本开放 AGF 前,应另外实施进程级和文件系统级隔离。
- 批量删除虽有确认步骤,但材料未说明回收站、备份或撤销机制;执行前应自行备份相关会话存储。
- agf setup 会编辑 shell profile,且现有标记可能保持不变;建议先检查目标 profile,并记录可手动恢复的原始内容。
- 发布工作流生成校验和,但材料未显示签名、可复现构建证明或依赖供应链证明;预构建二进制仍需依据组织策略独立验证。
- 发布者身份未经 FollowAgents 企业注册表验证;这表示身份未知,不表示恶意。
常见问题
AGF 会把会话内容上传到云端吗?
只安装 AGF 就能恢复所有会话吗?
JSON 和 MCP 接口会修改 Agent 的存储吗?
search、show、resume-plan、capabilities 及 stdio MCP 使用同一套只读 API;resume-plan 只输出计划,不启动 Agent。扫描失败时 AGF 会修复损坏的数据吗?
是否能从 AGF 删除任何提供方的会话?
agy 的 /resume 选择器删除。