
Serena CLI实战指南3步跑通AI代码助手【免费下载链接】serenaA powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent项目地址: https://gitcode.com/GitHub_Trending/ser/serenaSerena 是一个面向编程的 MCP 工具包serena 命令行负责在一行命令里把 MCP 服务器拉起来让 AI 助手能检索、修改你项目里的代码符号。本文从第一次启动讲起把启动、行为微调、代码索引三件事一次跑通。30秒认识它负责什么不负责什么上手前先划清边界避免用错地方Serena CLI它是什么Serena MCP 服务器的命令行入口它负责什么启动服务器、管理 mode/context、生成项目配置、符号索引与健康检查它不负责什么真正调用大模型写代码——那是你的 AI 客户端如 Claude Code的事一条命令启动MCP服务器想把 AI 接入你的项目这是最短路径。装好uv tool install -p 3.13 serena-agent并执行serena init生成全局配置后在项目根目录启动serena start-mcp-server --project .默认走 stdio 传输、desktop-app上下文。启动后命令会一直阻塞stdio 在等客户端接入这是正常的。怎么确认它真的起来了看两点终端 stderr 会打印Initializing Serena MCP server、Starting MCP server …之类的行启动时会提示日志文件位置~/.serena/logs/日期/mcp_时间_pid.txt打开它看到持续写入的日志即工作正常若浏览器或第三方应用要远程接入换 HTTP 传输serena start-mcp-server --transport streamable-http --host 127.0.0.1 --port 8000按任务目标微调AI行为默认行为覆盖多数场景遇到具体问题再落一份自定义 YAML。收紧工具集只读代码审查代码审查时不该给 AI 改文件的权力。复制内置 editing 模式再剔除编辑工具serena mode create --from-internal editing --name readonly执行完打印新文件路径并自动打开编辑器。把~/.serena/modes/readonly.yml改成prompt: null excluded_tools: - replace_symbol_body - replace_content启动时带上serena start-mcp-server --mode readonly --project .。如果写错模式名启动会直接报错——这就是最直接的校验方式。让AI回答更严谨AI 回答发散时给它一个严格的自定义上下文context 管整体行为mode 管工具集两者互补serena context create --name strict在~/.serena/contexts/strict.yml里加prompt: | You are a strict code reviewer. Cite symbol names in every answer; if not found, say so.随后serena start-mcp-server --context strict --mode readonly --project .。不想起服务器也能验证拼装结果serena print-system-prompt --context strict --only-instructions .会直接打印系统提示词。按客户端匹配现成上下文不同 AI 客户端的用法习惯不一样Serena 内置了一批现成上下文serena context list输出是名称加存储位置列表内置的标注(internal)以实际输出为准。挑一个用serena start-mcp-server --context claude-code --project .。让Serena读懂你的代码生成配置、索引、体检符号索引是 AI认识代码的地基——它经语言服务器收集类、函数等符号并缓存。① 生成项目配置serena project create . --ls python输出形如 Generated project with language servers {python} at ...文件落在项目根目录的.serena/project.yml同时把项目注册进全局配置。② 跑索引serena project index有进度条结束后按语言汇总文件数。符号缓存存在项目的.serena/目录下具体缓存路径会在命令结尾打印。若有失败文件错误清单写在.serena/logs/indexing.txt。③ 健康检查serena project health-check它会真实执行符号检索、引用查找等工具验证语言服务器是否可用报告写入.serena/logs/health-checks/。AI 找不到符号时先跑这个。调试单个文件serena project index-file src/main.py -v会逐条打印符号名、行号与类型并说明保存到了哪个缓存目录。任务卡三个高频场景卡片1 新项目接入目标把新仓库交给 AIserena project create . --ls python serena project index serena start-mcp-server --project .预期结果.serena/project.yml生成索引汇总打印服务器阻塞运行并在日志里持续输出。卡片2 代码审查目标AI 只读不写serena mode list # 确认 readonly 在列 serena start-mcp-server --mode readonly --context strict --project .预期结果AI 没有编辑类工具回答受 strict 上下文约束。卡片3 故障排查目标确认是不是项目配置的问题serena project health-check serena project is_ignored_path venv/预期结果体检报告写入.serena/logs/health-checks/第二条命令直接告诉你这个路径是否被项目配置忽略。排障速查表现象优先检查项命令服务器起不来或秒退~/.serena/logs/日期/下最新 mcp 日志tail -n 50 该日志文件新加的函数找不到文件是否被项目配置忽略serena project is_ignored_path path/to/file.py符号缓存过期单文件重索引serena project index-file path/to/file.py -v部分文件索引失败失败清单打开.serena/logs/indexing.txt自定义 mode 不生效模式名与文件是否存在serena mode list进阶方向看 mode/context 的加载与覆盖规则src/serena/config/context_mode.py看工作流工具的实现src/serena/tools/workflow_tools.py完整配置项说明docs/02-usage/050_configuration.md现在到你的项目根目录执行serena project create . --ls python索引跑完后 AI 才算真正认识你的代码。【免费下载链接】serenaA powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent项目地址: https://gitcode.com/GitHub_Trending/ser/serena创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考