mcpField
S
serena-config

serena-config

github.com/paulnsorensenAgent 工作流157 次安装今天更新
代码仓库

关于 serena-config

用于配置 Serena 全局设置和项目设置的 Skill,面向 Serena 用户。它帮助选择配置层级、排查语言服务器与索引问题,并验证配置修改。

主要功能

  1. 01全局及项目配置指导
  2. 02定位相关配置参考文档
  3. 03排查语言和工作区设置
  4. 04通过系统提示词和符号查询验证配置
  5. 05缓存清理及 MCP 服务重启建议

适用场景

  1. 01为仓库配置语言和忽略规则
  2. 02设置全局上下文、模式或工具集
  3. 03排查符号查询和语言服务器错误

MCP 相关

Serena 可通过 `serena start-mcp-server` 作为 MCP 服务运行。此 Skill 涵盖其启动参数的配置选项,并说明何时可能需要重启服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/paulnsorensen/skillz-that-grillz --skill serena-config

安装后在 Claude Code 中输入/serena-config确认已加载。

附带文件references/global-config.mdreferences/project-config.md

详细介绍

serena-config

在两个层级配置 Serena:机器范围的全局配置和仓库的项目配置。

Serena 采用分层配置,每层都会覆盖或扩展上一层:

  1. 全局 — ~/.serena/serena_config.yml。适用于所有项目的默认设置:语言后端、默认工具/模式、全局忽略规则、语言服务器调优。
  2. 项目 — <repo>/.serena/project.yml。适用于单个仓库的设置:语言、忽略规则、写入权限、单体仓库工作区文件夹、添加的模式。
  3. 上下文与模式 — 可组合的工具集/提示词预设,可在全局、项目级别设置,也可在启动时设置。
  4. CLI 参数,传递给 serena start-mcp-server — 覆盖或扩展以上所有设置。

<certain> 许多 project.yml 键会扩展或覆盖 serena_config.yml。 将机器范围的默认设置放在全局文件中;项目文件中只放仓库特定的内容。

查阅相应参考文档

用户想要……阅读
调整单个仓库:语言错误、单体仓库交叉引用、忽略 vendor//生成目录、只读仓库、仓库级 LSP 路径references/project-config.md
创建/索引/激活项目;了解 project.local.yml 本地覆盖设置references/project-config.md
设置机器范围的默认值:语言后端、默认工具/模式、全局忽略规则、日志记录references/global-config.md
选择或更改上下文(claude-code、ide、desktop-app 等)references/global-config.md
添加/覆盖模式(planning、editing、no-memories、query-projects 等)references/global-config.md
将 Serena 指向自行安装的语言服务器(ls_path)或固定 LSP 版本references/global-config.md
移动数据目录(SERENA_HOME)或每个项目的 .serena 文件夹references/global-config.md

何时需要操作(以及何时不需要)

Serena 会自动创建这两个配置文件,并填入合理的默认值:首次运行时创建全局配置,首次激活仓库时创建项目配置。**大多数仓库无需修改。**只有在出现以下情况之一时才修改配置:

现象层级修复项
LSP 无法解析跨包边界的符号(单体仓库)项目additional_workspace_folders
find_symbol 返回错误语言的结果,或 LSP 在启动时出错项目languages:
符号搜索结果被 vendor/、node_modules/、dist/ 或生成代码淹没项目ignored_paths:
仓库仅供审查,Serena 不应写入项目read_only: true
工具集不适合当前宿主程序(例如 Claude Code 中重复提供内置工具)全局--context
需要仅规划或不使用记忆的行为全局模式
自行安装 LSP,或需要固定 LSP/运行时版本两者均可ls_specific_settings

如果以上情况都不适用,请保持配置不变——引导配置是正确的。

**唯一值得主动设置的例外——ignored_paths。**与上表中的情况不同,对于提交了 vendored 或生成代码(vendor/、已提交至版本控制的 dist/、生成的客户端、快照测试夹具)的仓库,值得在遇到问题前设置此项。默认会遵循 .gitignore,但已提交的杂项会污染 find_symbol/get_symbols_overview 的结果(还可能拖慢 LSP 的初始索引)。参见 references/project-config.md §“ignored_paths — 在大多数非简单仓库中设置此项”。相比之下,ls_path 仍是应急选项——建议默认优先使用托管方案(见 references/global-config.md)。

编辑规范

  • 切勿从头手动创建配置。 先让 Serena 初始化配置(项目配置使用 serena project create,全局文件则在首次运行时生成),然后再编辑。生成的文件带有内联文档注释和较新版本新增的字段,请保留这些内容。
  • 编辑后进行验证。 serena print-system-prompt "$(pwd)" 会呈现解析后的配置;请确认项目名称、语言列表、启用的模式和排除的工具符合预期。然后针对一个已知符号调用 find_symbol,测试 LSP:记录干净表示语言解析成功;LSP 启动错误则表示 languages: 或 ls_specific_settings: 配置有误。
  • 更改后遇到 LSP 异常时,删除 .serena/cache/ 以强制重建;某些服务还需要重启 MCP 服务才能彻底重置。

参考资料

评论

支持 Markdown