SuperAPI AI 工具集

serena

通用与其它

查看项目

更新于 10-16 00:30

技能介绍

Serena 是一个编码智能体工具包,通过语言服务器协议(LSP)把文本型 LLM 变成具备符号感知能力的代码智能体。与基于文本的 ripgrep 或基于语法的 ast-grep 不同,它在符号层面理解代码语义。

主要能力:符号发现(按名称查找类、函数、变量、类型)、引用追踪(找出符号被引用或使用的所有位置)、精确编辑(在指定符号位置插入代码)。核心操作包括 find_symbol、find_referencing_symbols、insert_after_symbol、insert_before_symbol、rename_symbol、replace_symbol_body 等,另有 onboarding、activate_project、write_memory、read_memory 等 25 个以上 LSP 工具。

使用方式有两种:一是直接调用编排器配置的 MCP 工具;二是通过 CLI,命令为 execute_command("uvx --from git+https://github.com/oraios/serena serena <command>"),例如 serena find_symbol --name 'UserService' --type class、serena find_referencing_symbols --name 'authenticate'。

适用场景:代码导航与依赖理解、重构前的引用影响分析、向类中插入方法或字段、死代码检测、API 使用模式梳理。建议先查找符号定义再追踪引用,用 --type 缩小范围,插入前先验证目标存在,插入后用 git diff 复核。

语言支持:Python、JavaScript/TypeScript、Rust、Go、Java、C/C++ 为一级;C#、Ruby、PHP、Kotlin、Swift、Scala 为二级;Haskell、Elixir、Clojure 等为实验性。

限制:不适合搜索文本、注释或字符串(应使用 ripgrep);生成代码可能未被 LSP 索引;超大代码库索引较慢;无类型标注的动态语言语义精度下降;同名符号、宏生成代码、循环依赖、依赖不完整等边界情况可能影响准确性。收费、价格与具体平台信息暂未提供。