SuperAPI AI 工具集

gitnexus-exploring

编程与开发

查看项目

更新于 10-15 08:14

技能介绍

用途

GitNexus 的探索技能(gitnexus-exploring)用于回答代码如何工作、理解项目架构、追踪执行流程,以及探索此前未接触过的代码库。典型触发场景包括:"认证是如何工作的?""项目结构是什么样的?""展示主要组件""数据库逻辑在哪里?"等。

主要能力

该技能依托 GitNexus 提供的资源与工具:

  • gitnexus://repo/{name}/context:代码库概览,包含统计信息与索引过期警告(约 150 tokens)。
  • gitnexus://repo/{name}/clusters:所有功能区域及其内聚度评分(约 300 tokens)。
  • gitnexus://repo/{name}/cluster/{name}:某功能区域的成员及其文件路径(约 500 tokens)。
  • gitnexus://repo/{name}/process/{name}:分步执行轨迹(约 200 tokens)。
  • query 工具:查找与某个概念相关的执行流程。示例:query({search_query: "payment processing", repo: "my-app"}) 返回 Process(如 CheckoutFlow、RefundFlow、WebhookHandler)以及按流程分组的符号及文件位置。
  • context 工具:提供某个符号的 360 度视图。示例:context({name: "validateUser", repo: "my-app"}) 返回入站调用、出站调用,以及该符号出现在哪些流程的第几步。

使用方式

标准工作流:

  1. list_repos {} 或读取 gitnexus://repos,发现已索引的仓库。
  2. 读取 gitnexus://repo/{name}/context,获得代码库概览并检查是否过期。
  3. query({search_query: "<想理解的内容>"}),查找相关执行流程。
  4. context({name: "<symbol>"}),深入查看特定符号。
  5. 读取 gitnexus://repo/{name}/process/{name},追踪完整执行流程。
  6. 阅读源文件获取实现细节。
  7. 在解释中说明所绑定的仓库与索引新鲜度。

关于仓库绑定:先绑定仓库,第 1 步发现有哪些仓库被索引,之后每次调用都必须说明指代哪一个。只有一个已索引仓库时可直接按示例书写;超过一个时,每次调用都要传 repo。省略 repo 通常报错,但在配置了默认值的 MCP 策略下会静默解析为该默认值。若无法判断指代哪个仓库,应停下来询问。

关于索引过期:如果第 2 步提示 "Index is stale",可在终端运行 node .gitnexus/run.cjs analyze。热工具过期信息会标明是哪个索引作答(branch/lastCommit)以及新鲜度状态;仅在状态为 behind 或 diverged 时需要重新分析,current 表示一致,unknown 表示无法测量。

关于分页:list_repos 是分页的,需用 pagination.nextOffset 作为 offset 翻页,直到 hasMore 为 false,才能断定某仓库不存在。

示例

问题:"支付处理是如何工作的?"

  1. list_repos {} → total: 1(my-app)——绑定它;读取 gitnexus://repo/my-app/context → 918 个符号,45 个流程。
  2. query({search_query: "payment processing"}) → CheckoutFlow: processPayment → validateCard → chargeStripe;RefundFlow: initiateRefund → calculateRefund → processRefund。
  3. context({name: "processPayment"}) → 入站:checkoutHandler、webhookHandler;出站:validateCard、chargeStripe、saveTransaction。
  4. 阅读 src/payments/processor.ts 获取实现细节。
  5. 作答,并注明:仓库 my-app,索引当前(current)。

如果第 1 步返回两个仓库,则上述每次调用都要带上 repo: "my-app"。

限制

  • 必须先在索引中绑定仓库;多仓库时 repo 为必填,指代不明时须询问而非猜测。
  • 省略 repo 在配置了默认值的 MCP 策略下会静默使用默认值,存在指代错误风险。
  • 索引可能过期,仅 behind 或 diverged 状态需要重新分析,unknown 状态无法测量。
  • list_repos 分页,需翻页到底才能确认仓库不存在。
  • 官方资料未提供其他功能、收费、价格或平台细节。