Maguyva 对 Java 的支持:面向企业级代码仓库的代码智能
适合那些充斥着 Spring 服务、内部框架,以及历经数个组织变迁时代而留存下来的代码的代码仓库。
扩展名
.java
在 Scala 里,一个名字能承载很多东西。trait、它的伴生对象和样例类可以共享同一个概念。模式匹配会在 case 子句中绑定新名字,类内部不带接收者调用的方法其实是对 this 的调用。一次只读一个文件的智能体能看到名字,却看不到它们解析到哪里。
Maguyva 在建立索引时就解析了更多此类信息,所以智能体询问谁调用了某个方法时,能得到可以直接据此行动的答案。
Maguyva 支持 .scala 和 .sc 文件。类、对象和 trait 作为类型提取,structural_search 中的 functions 预设覆盖 def 声明、定义以及 lambda。签名会记录重复(*)参数,导入会去掉 _root_ 前缀。
调用关系保留类限定名,类内部不带接收者的调用会解析到该类自己的方法。接收者类型推断会跟踪参数、类参数、val 和 var 定义、case 子句中的类型模式和样例类模式、类、对象和 trait 上方法的返回类型、类型别名,以及 extends 子句。对首字母大写的类型使用 new 计为实例化。
Scala 没有被标记为不适用的关系类型,因此图谱还会记录继承、覆盖、类型引用、读写、控制流和异常边。
PaymentService.capture,来自哪些路由?”(先用 find_symbol,再用 dependency_search 的 incoming 方向)EventHandler?”(dependency_search)get_task_context)map、flatMap 和 foldLeft 等集合操作,以及 Option、Either、Try、Future 和 Predef 辅助函数。对 this 的调用,或对类型解析为你自己的类的值的调用,即使名字在列表里也会保留。如果某个调用方仍然似乎缺失,请使用 text_pattern_search。A、F 和 CC 等短类型参数,以及 Any、Unit 和 Nothing 等根类型,会从类型引用中过滤掉。通过快速入门连接仓库,然后在兼容性页面查看支持矩阵。混合 JVM 代码库也请阅读 Java 指南和 Kotlin 指南。
最适合场景
智能体工作流
引擎细节
常用 MCP 入口工具
需要 trait、对象或服务方法的定义和引用时使用它。
修改签名之前,对 trait 或方法使用 incoming 方向遍历,查看实现者和调用方。
用于“追踪一个订单事件如何到达账本写入器”这类提示词。