Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

controller-call-chain-analysis控制器调用链分析

Agent Skill

controller-call-chain-analysis 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

8,459

周安装

356

GitHub Stars

公开资料未说明

下载量

2,962
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:controller-call-chain-analysis(控制器调用链分析)
来源仓库:https://github.com/14686039/controller-call-chain-analysis
安装命令:
openclaw skills install controller-call-chain-analysis
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install controller-call-chain-analysis

简介

分析 Java 微服务项目中指定 Controller 的完整调用链路,追溯到 Service、Mapper、Repository 并提取对应 SQL,输出结构化 JSON 文件。

SKILL.md

name
controller-call-chain-analysis
description
本技能用于分析 Java 微服务项目中 Controller 层的完整调用链路,能够自动追溯到 Service、Mapper、Repository 层,并提取完整的 SQL 语句。最终生成结构化的 JSON 文件,便于 API 文档生成、代码审计或架构理解。

Java Controller 调用链路分析 Skill

简介

本技能用于分析 Java 微服务项目中 Controller 层的完整调用链路,能够自动追溯到 Service、Mapper、Repository 层,并提取完整的 SQL 语句。最终生成结构化的 JSON 文件,便于 API 文档生成、代码审计或架构理解。

适用场景

  • 需要快速了解某个 Controller 接口背后的业务逻辑和数据流向
  • 自动化生成 API 调用链路文档
  • 审计 SQL 语句或分析数据库访问模式
  • 批量分析整个模块的接口实现细节

输入参数

参数名类型必填说明
controllerPathstringController 源文件的相对路径,例如 src/main/java/org/ssh/boot/itemSupply/controller/pham/TDrugdictController.java
outputPathstring输出 JSON 文件的目录,默认为 docs/api_analysis/。如果目录不存在,会自动创建。

输出

在指定的输出目录下生成一个以 Controller 类名命名的 JSON 文件(例如 TDrugdictController.json),文件内容遵循固定的 JSON 结构(详见下文)。该文件包含了从 Controller 方法到 Service 实现、再到 Mapper/Repository 以及最终 SQL 语句的完整调用链路信息。

工作流程

1. 读取 Controller 文件

  • 解析 Java 源文件,提取:

- 类名、包名 - 类级别的 @RequestMapping 路径 - 类级别的 @Api@ApiOperation 注解(接口描述) - 每个方法的 HTTP 方法注解(@GetMapping@PostMapping 等)及路径 - 方法参数列表(包括参数名、类型、是否必填、@ApiParam 描述等)

2. 追溯 Service 实现类

  • 根据 Controller 中注入的 Service 字段类型,定位对应的 Service 接口
  • 查找接口的实现类 Search(pattern: "implements 接口名称", path: "项目地址")
  • 读取实现类,识别每个方法内部调用的 Mapper 或 Repository 方法
  • 读取实现类,识别每个方法内部方法(该方法可能存在Mapper 或 Repository 方法调用)
  • 根据代码,输出方法介绍

3. 追溯 Mapper 层(MyBatis)

  • 查找与 Service 中调用的 Mapper 接口(通常在 mapper/ 目录下)
  • 定位对应的 MyBatis XML 文件(通常在 src/main/resources/mapper/ 目录下,命名与接口相同)
  • 提取 XML 中对应方法的 SQL 语句,并解析出表名、查询条件、SQL 类型(select/insert/update/delete)

4. 追溯 Repository 层(Spring Data JPA)

  • 查找 Service 中调用的 Repository 接口(通常在 repository/ 目录下)
  • 提取方法上的 @Query 注解中的 JPQL 或原生 SQL;如果方法名符合命名规范,则根据方法名解析 SQL(可选)

5. 生成 JSON 输出

按照预定义的 JSON 结构,将上述信息组合并写入文件。

输出 JSON 结构

{
  "module": "模块名",                        // 根据包名自动推断,例如 "itemSupply"
  "controller": {
    "className": "Controller类名",
    "filePath": "Controller源文件路径",
    "requestMapping": "/请求路径",           // 类级别的 @RequestMapping
    "description": "Controller描述",         // @Api 注解的 value 或 description
    "methods": [
      {
        "name": "方法名",
        "httpMethod": "GET/POST/PUT/DELETE",
        "url": "/完整URL",                    // 类路径 + 方法路径
        "description": "接口描述",             // @ApiOperation 的值
        "controllerFilePath": "Controller.java:行号", // 源文件位置
        "params": [
          {
            "name": "参数名",
            "type": "类型",
            "required": true/false,
            "description": "描述"             // @ApiParam 的值
          }
        ],
        "service": [{                         // 可能多个
          "className": "ServiceImpl类名",
          "filePath": "ServiceImpl源文件路径",
          "method": "方法名",                  // Service 中调用的方法
          "steps": ["业务步骤描述"],            // 可选,可提取方法中的业务逻辑注释
          "mapper": [{                          // 如果调用的是 MyBatis Mapper,可能的多个
            "className": "Mapper接口类名",
            "filePath": "Mapper接口源文件路径",
            "method": "方法名",
            "xmlFilePath": "Mapper XML文件路径",
            "sql": {
              "id": "SQL ID",
              "table": "表名",
              "statement": "完整SQL语句",
              "conditions": ["查询条件"]
            }
          }],
          "repository": [{                       // 如果调用的是 JPA Repository,可能的多个
            "className": "Repository接口类名",
            "filePath": "Repository源文件路径",
            "method": "方法名",
            "framework": "Spring Data JPA",
            "sql": "JPQL或native SQL"
          }]
        }]
      }
    ]
  }
}

注意事项

  • 项目根目录:本技能默认项目根路径为当前目录,所有文件路径均相对于此目录。如需修改,请在调用前调整。
  • 输出目录:如未指定 outputPath,默认输出到 docs/api_analysis/
  • 批量分析:本技能一次只分析一个 Controller;若需批量分析,请通过循环调用本技能,每次传入不同的 controllerPath
  • 依赖假设:代码结构需遵循常见的 Spring Boot + MyBatis / JPA 的包命名规范(如 service.implmapperrepositoryresources/mapper)。若项目结构特殊,分析可能不完整。

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

84.81%
按下载量换算2,512

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills