Maguyva 对 C# 的支持:让 .NET 代码库的重构更安全
当 .NET 代码库已经庞大到,安全的 AI 辅助必须依赖真实结构时,这正是合适的场景。
扩展名
.cs, .csx
你的函数和内置 cmdlet 共用同一种命名风格。Get-Invoice 和 Get-ChildItem 看起来一模一样,所以按动词剔除“内置命令”的工具会连你自己的函数一起扔掉。脚本还会把模块级代码、函数、类和脚本块混在一个文件里,很难判断某一行属于哪个函数。
Maguyva 会保留这两类调用,并把每个调用归属到它所在的函数。
Maguyva 支持 .ps1、.psm1 和 .psd1 文件。函数和类方法作为可调用对象提取,类和枚举作为类型提取。脚本参数和方法参数都会被跟踪,函数内部的读写会归属到该函数,而不是模块。
cmdlet 调用会留在图谱中。PowerShell 不使用大多数语言都会启用的标准库过滤器,因此 Write-Host、Get-ChildItem 和 Restart-Service 会作为调用边出现在你自己的 Get-* 和 Set-* 函数旁边。智能体可以询问哪些脚本会重启某个服务、哪些函数会向控制台写入,并得到基于结构的答案。
PowerShell 没有被标记为不适用的关系类型,因此图谱还会记录类继承与接口实现、实例化、控制流以及读写。
Invoke-Backup,来自哪些计划任务脚本?”(先用 find_symbol,再用 dependency_search 的 incoming 方向)Restart-Service?”(dependency_search)Deploy-Site 做了什么。”(get_task_context)Write-Host 和 Select-Object 等非常常见的调用会有大量传入边。想要聚焦的调用图时,请从你自己的函数入手。Import-Module 和点源加载都是普通命令,因此 structural_search 中的 imports 预设什么也选不到。列出它们请使用 text_pattern_search。最适合场景
智能体工作流
引擎细节
常用 MCP 入口工具
需要高级函数或类的定义和调用方时使用它。
对 `Restart-Service` 等 cmdlet 使用 incoming 方向遍历,查看哪些脚本调用了它。
用于“从头到尾追踪 `Deploy-Site` 做了什么”这类提示词。