Maguyva 对 Java 的支持:面向企业级代码仓库的代码智能
适合那些充斥着 Spring 服务、内部框架,以及历经数个组织变迁时代而留存下来的代码的代码仓库。
扩展名
.java
Kotlin 之所以简洁,是因为它隐藏了连接关系。apply、let、also、run 和 with 会改变 this 和 it 的含义。扩展函数把行为附加到在别处定义的类型上。协程让工作在 launch、async 和 withContext 之间流转。一次只读一个文件的智能体能看到调用,却看不到调用背后的接收者。
Maguyva 在建立索引时就解析出更多这类结构,因此智能体问“谁调用了这个函数”时,能得到真实的答案。
Maguyva 覆盖 .kt 和 .kts。函数、类、对象和伴生对象都会被提取,函数签名会记录扩展接收者、参数名、默认值以及 vararg 参数。
调用关系会保留类限定名,因此 OrderRepository.save 与其他 save 保持区分。接收者类型推断会跟踪 apply 和 run 内部的 this、let 和 also 内部的 it,以及 with 的参数,使作用域函数内的调用解析到正确的类型。协程构建器和 Flow 操作符(launch、async、withContext、coroutineScope、supervisorScope、flow、emit、delay、Channel)被特意保留在图谱中。
图谱还记录继承、接口实现、重写、实例化、注解、类型引用、读写,以及异常的抛出与捕获边。
CheckoutUseCase.invoke,来自哪些 ViewModel?”(先用 find_symbol,再用 dependency_search 的 incoming 方向)SyncWorker 到网络客户端的同步流程。”(get_task_context)PaymentGateway?”(dependency_search)listOf、map、filter 和 println 等辅助函数不是图谱的边。查找它们请使用 text_pattern_search。最适合场景
智能体工作流
引擎细节
常用 MCP 入口工具
需要定义和引用时,用类、用例或扩展函数来查找。
在修改 API 之前,对仓储类或接口使用 incoming 遍历,查看调用方和实现类。
适用于“追踪从 `SyncWorker` 到网络客户端的同步流程”这类提示词。