开发与工程 local-searchagent-historysqlitecoding-sessionsclimcp

ctx 本地代理历史搜索

为编码代理检索本机上的历史会话、决策与失败记录。

FollowAgents 评估 · FARS-2.1
谨慎使用
61/ 100 五分制 3.1 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全16 / 29 · 2.8/5

证据显示:README明确声明本地索引、不发送数据到云端、不调用模型API、不需要API密钥、不写入仓库;SECURITY.md定义了安全边界和本地数据处理方式;Cargo.toml使用固定版本依赖和patch。扣分:用户确认机制未明确(如导入前是否需确认),外部影响(如自更新)未详细说明,回滚机制未提及。

2可靠稳定9 / 14 · 3.2/5

证据显示:README和SECURITY.md描述一致,Cargo.toml依赖版本固定,测试文件存在(如mcp_attribution_conformance_test.py)。扣分:未提供失败消息的具体示例,依赖可用性未验证(静态审查)。

3适用触发12 / 18 · 3.3/5

证据显示:README列出多种支持的agent harness,提供多种安装方式,文档结构清晰。扣分:未明确能力边界(如哪些功能不支持),触发精度(如搜索查询的精确性)未详细说明。

4规范维护11 / 18 · 3.1/5

证据显示:README提供安装说明、示例、文档链接,LICENSE为Apache-2.0,Cargo.toml有版本信息。扣分:未提供CHANGELOG,版本号未明确,维护责任未明确(未提及贡献指南或维护者)。

5有效结果9 / 13 · 3.5/5

证据显示:README声称token效率高,提供搜索示例,输出格式明确(JSON)。扣分:未提供性能基准或成本对比数据,边际价值未量化。

6证据核验4 / 8 · 2.5/5

证据显示:README和SECURITY.md中的声明可追溯,测试文件存在,但未提供独立验证。扣分:跨来源佐证不足(仅依赖仓库内部文档),事实与推断分离不明确。

证据充分度: 评估于 2026年8月9日 审查版本 537ee8aeadc1
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 静态审查,未执行代码,所有评分基于文件内容。
  • 用户确认机制未明确,导入历史前可能无提示。
  • 自更新功能可能带来外部影响,需谨慎。
  • 未提供回滚机制,数据损坏时可能无法恢复。
  • 依赖版本固定,但未验证可用性。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

ctx 是一个开源 Rust CLI,用于快速搜索本机保存的编码代理会话历史。它发现受支持代理的本地历史文件,导入真实持久化记录,并将会话、事件和受影响文件的元数据规范化存入本地 SQLite 索引。当前或后续代理可通过命令行检索排序后的匹配结果、片段和 ctx ID,再回看原始事件或会话上下文。它不需要后台服务、模型 API 或 API 密钥,默认在本地私有运行。适合希望避免重复排查、并需要核验过去决策和命令结果的开发工作流。

运行 ctx setup 会索引已存在的本地代理会话。ctx search "failed migration" 可按自然语言查询历史,ctx search --file crates/foo/src/lib.rs 可按触及的文件筛选,ctx search --term "failed migration" --term rollback --term "cursor rename" 可组合多个术语。它返回匹配的会话、片段和 ctx ID;随后可用 ctx show event <ctx-event-id> --window 3 查看事件附近的原始记录,或用 ctx show session <ctx-session-id> 输出紧凑会话记录。ctx sql "SELECT provider, COUNT(*) AS sessions FROM ctx_sessions GROUP BY provider" 提供对本地索引的只读 SQL 查询;已安装二进制还提供 ctx docsctx docs man --print ctxctx upgrade statusctx upgrade check

  1. 使用 Codex 排查迁移失败的开发者,在再次修改前搜索过去失败的命令、讨论和回滚方案。
  2. 维护长期 Rust 或多工作树项目的工程师,按文件路径检索此前哪些代理会话曾触及某个实现文件。
  3. 接手同一仓库的团队成员,需要通过 ctx ID 回看此前代理为何拒绝某种重构方案。
  4. 同时使用 Claude Code、Cursor、Pi 或 GitHub Copilot CLI 的开发者,希望将可导入的本地会话统一检索。
  5. 需要对本机代理历史做脚本化盘点的开发者,使用只读 SQL 按 provider 统计已索引会话。

这个 Agent 有哪些优点和局限?

优点
  • 保留会话与事件的可追溯关联:搜索结果可通过 ctx ID 回到原始事件或完整会话,而不只是摘要。
  • 将多种代理的本地历史规范化为 SQLite 索引,并支持自然语言、文件路径、多术语和只读 SQL 查询。
  • 无后台服务、无模型 API 调用、无 API 密钥要求,搜索可在本机脚本化执行。
  • README 明确列出大量受支持的代理历史来源,并提供 Codex、Claude Code 和 Cursor 的技能安装路径。
局限
  • 价值取决于本机是否已有可发现、可导入的代理历史;应先用 ctx sources --json 核实来源状态。
  • 索引会保留转录文本,不会隐藏本地路径或看似机密的字符串;对外分享输出前需要人工审查。
  • 它检索的是过去会话,不是当前代码库的符号、导入关系或目录图谱工具。
  • 官方签名自升级只适用于安装器管理的二进制;源码构建和包管理器安装不会自行升级。

如何安装或部署这个 Agent?

macOS、Linux 和 FreeBSD:curl -fsSL https://ctx.rs/install | sh。Windows PowerShell:irm https://ctx.rs/install.ps1 | iex。安装后运行 ctx setup 初始化并索引发现到的本地历史。README 未要求 API 密钥或云端凭据;官方安装程序会通过网络下载二进制,而已安装后的搜索使用本地 SQLite 索引。

如何使用这个 Agent?

首次执行:ctx setup。随后例如执行 ctx search "failed migration" 搜索历史,或执行 ctx search --file crates/foo/src/lib.rs 按文件搜索。结果中的 ctx ID 可用于 ctx show event <ctx-event-id> --window 3ctx show session <ctx-session-id>,以检查原始上下文。用 ctx sources --json 查看本机当前哪些历史来源可导入。

这个 Agent 与同类方案有什么区别?

与保存紧凑事实、摘要、向量或图节点的代理记忆工具相比,ctx 面向需要追溯原始决策、失败命令和被拒绝方案的会话证据。与 Graphify 风格的代码库图谱工具相比,它搜索的是解释代码变更过程的既有代理会话,而不是映射当前仓库的文件、符号和关系。README 也将其与 grep 或日志搜索作比较,强调结构化、排序并带引用的检索。

常见问题

ctx 会把我的会话发送到云端吗?
不会。README 表示它不会发送提示词、转录内容或已索引历史到云服务,也不会调用模型 API。
需要 API 密钥或常驻服务吗?
不需要。ctx 使用本地 SQLite 索引,README 明确说明不要求后台服务或 API 密钥。
哪些代理历史可以导入?
README 列出 Claude Code、Codex、Cursor、Pi、GitHub Copilot CLI、OpenCode、Gemini CLI / Antigravity 等受支持来源;实际本机可导入来源以 ctx sources --json 为准。
分享搜索结果是否安全?
需要谨慎。转录文本会被保留,且不会自动隐藏本地路径或看似机密的字符串,因此应在外发前审查复制的输出。

对比同类 Agent

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

相关 Agents