[ PROMPT_NODE_22178 ]
AI Maestro 代码图谱查询
[ SKILL_DOCUMENTATION ]
# AI Maestro 代码图谱查询
查询代码库的依赖图谱,以理解组件关系、调用链以及更改在修改前可能产生的影响。属于 [AI Maestro](https://github.com/23blocks-OS/ai-maestro) 套件的一部分。
## 前置条件
需要本地运行 [AI Maestro](https://github.com/23blocks-OS/ai-maestro) 并已完成代码库索引。
```bash
# 安装图谱工具
git clone https://github.com/23blocks-OS/ai-maestro-plugins.git
cd ai-maestro-plugins && ./install-graph-tools.sh
```
## 核心行为
在阅读任何代码文件后,查询图谱以理解依赖关系:
```
阅读文件 -> 查询图谱 -> 继续操作
```
## 命令
### 查询
| 命令 | 描述 |
|---------|-------------|
| `graph-describe.sh ` | 描述组件或函数 |
| `graph-find-callers.sh ` | 查找函数的所有调用者 |
| `graph-find-callees.sh ` | 查找此函数调用的所有函数 |
| `graph-find-related.sh ` | 查找相关组件 |
| `graph-find-by-type.sh ` | 查找某种类型的所有组件 |
| `graph-find-serializers.sh ` | 查找模型的序列化器 |
| `graph-find-associations.sh ` | 查找模型关联 |
| `graph-find-path.sh ` | 查找函数间的调用路径 |
### 索引
| 命令 | 描述 |
|---------|-------------|
| `graph-index-delta.sh [path]` | 索引或更新代码图谱 |
## 组件类型
可配合 `graph-find-by-type.sh` 使用:`model`, `serializer`, `controller`, `service`, `job`, `concern`, `component`, `hook`
## 使用示例
```bash
# 阅读模型文件后
graph-describe.sh User
graph-find-serializers.sh User
graph-find-associations.sh User
# 修改函数前
graph-find-callers.sh process_payment
graph-find-callees.sh process_payment
# 查找组件间的调用链
graph-find-path.sh handleRequest sendResponse
# 对代码库进行索引
graph-index-delta.sh /path/to/project
```
## 为什么要在修改前查询
如果不检查图谱,您可能会面临以下风险:
- 更改函数签名时破坏调用者
- 遗漏随模型更改而需要更新的序列化器
- 忽略继承了您的修改的子类
## 全面的 AI Maestro 体验
此技能是 [AI Maestro](https://github.com/23blocks-OS/ai-maestro) 平台的一部分,该平台提供 **6 项技能** 用于 AI 智能体编排:消息传递、内存、文档、图谱、规划和智能体管理。