SuperAPI AI 工具集

diffctx

diffctx 是一款面向 LLM 与 AI 智能体的 Git 差异上下文工具,能够分析一次 Git 改动在 diff 之外所触及的内容——例如调用方、覆盖到这些调用方的测试、跨越的接口契约——并在给定的 token 预算内选出理解该改动所需的最小代码片段。它完全本地运行、确定性输出,无需建立索引,也不调用任何模型。调用方解析按编程语言静态执行;当无法解析时,工具会如实说明,而不是返回 0。该工具此前以 treemapper 名称发布,所有命令、参数与 API 调用保持不变。支持通过 pipx、pip、cargo、npm、Docker、Scoop 等安装,并内置 MCP 服务器。

访问官网

工具介绍

diffctx 是一款面向 LLM 与 AI 智能体的 Git 差异上下文工具,其目标不只是展示改动本身,而是回答“一次 Git 改动到底触及了什么,以及理解它需要哪些代码”。

用途 diffctx 用于为智能体或代码审查者提供改动 diff 之外的上下文,包括:该改动的调用方、能够触及这些调用方的测试,以及它跨越的接口契约。在此基础上,工具会在给定的 token 预算内选出理解该改动所必需的最小代码片段。

主要能力

  • 以 diff 为种子:输入是一次代码改动,输出是它触及的内容以及解释这些内容所需的代码。
  • 预算化的片段选择:在 token 预算约束下挑选代码片段。
  • 确定性:输出结果确定,便于复现。
  • 本地运行、无需索引、不进行模型调用。
  • 调用方解析为静态、按语言进行;无法解析时明确说明,而不是输出零值。
  • 内置 MCP 服务器。
  • 提供 Python API。

使用方式

  • 安装:支持 pipx、pip、cargo、npm、Docker、Scoop 等,并可接入其他 MCP 客户端及 Python API。
  • --diff 参数:可接受 Git 范围、暂存区(staged),或截至当前的时间窗口(例如 24h、90min、2w)。
  • 命令行参考:完整收录每个参数、默认值与退出码。
  • 提供 GitHub Action,可将 diff 上下文作为 CI 步骤运行。
  • Token 计数:通过 --budget 支持非 GPT 模型的 token 预算。

与前两类工具的对比 全仓库打包工具会导出所有内容;代码图服务器则针对维护中的索引回答查询。diffctx 是“以 diff 为种子”的:输入是改动,输出是它触及的内容及其解释。相关测量结果与适用场景说明可参见 COMPARISON.md。

兼容与更名 该工具此前以 treemapper 名称发布,更名后每个命令、参数和 API 调用均保持不变。

适用场景 适合需要为 AI 智能体或代码审查者自动补充改动上下文、控制提示词 token 规模的开发流程,也适合作为 CI 步骤集成。

限制与暂未提供的信息

  • 调用方解析为静态且按语言进行,无法解析的语言或情形会明确提示无法解析,而非给出结果。
  • 价格、收费模式、支持的具体编程语言清单、各安装方式的具体命令、Python API 的详细用法、MCP 客户端配置步骤、性能基准数据等,在提供的资料中暂未提供。