当前位置: 首页 > news >正文

codex + windows 环境下使用 serena mcp

参考文献:https://qiita.com/ErrorLover/items/0a534a49d3eea8b3f2c0

启动server

cd /d "D:\soft\uv"
call myenv311\Scripts\activate.bat
serena start-mcp-server --transport streamable-http --port 9121 --context codex

condex配置

C:\Users\*****\.codex\config.toml

[mcp_servers.serena]
command = "C:/Program Files/nodejs/node.exe"
args = ["C:/Users/********/AppData/Roaming/npm/node_modules/mcp-remote/dist/proxy.js","http://localhost:9121/mcp"
] 
env = { APPDATA = "C:\\Users\\******\\AppData\\Roaming", LOCALAPPDATA = "C:\\Users\\*******\\AppData\\Local", SystemRoot = "C:\\WINDOWS", COMSPEC = "C:\\WINDOWS\\system32\\cmd.exe" }
startup_timeout_ms = 20000

AGENTS.md


## 3. 工具与调研平台
### 3.0 工具矩阵概览
| 工具 | 核心职责 | Serena 联动要求 |
| --- | --- | --- |
| Serena MCP | 统一调度代码/知识工具、维护知识记忆、执行编辑操作,并提供结构化检索能力 | 所有指令由 Serena 发起并登记留痕 |
| Context7 MCP | 获取官方文档与权威资料的首选通道 | 每次检索记录关键词、版本与访问日期 |### 3.1 Serena MCP(首选代码/知识工具)
- **接入校验**:每次启动 Codex 会话先调用 `serena__activate_project`/`serena__check_onboarding_performed` 并通过 `uv run serena tools list` 或 Dashboard 交叉确认 Serena 已联通,在“前置说明”记录结果;如检测失败立即暂停任务并协调恢复方案。
- **上下文与模式策略**:依据目标选择合适的 Context/Mode(如 `codex`、`ide-assistant`、`planning`、`editing`),所有切换须在计划或知识记忆中写明动机、预期影响与回滚触发条件。
- **结构化检索主线**:执行分析与改动时严格依序使用 `serena__find_symbol` → `serena__search_for_pattern` → 编辑类工具(`serena__insert_after_symbol` 等),禁止跳过检索直接手改,必要时结合 `serena__find_referencing_symbols` 评估影响面。
- **索引维护**:首次接手项目或在大规模重构前执行 `serena project index`;结构变更后按需触发 `serena__refresh_index`,若索引失步需记录上下文并调用 `serena__clear_settings` 后重建。
- **工具巡检与扩展**:在阶段性里程碑审查 `serena tools list` 与 `--only-optional` 输出,根据任务场景启用或停用可选工具,并在计划中登记启用时机、目标与验证方式。
- **知识资产治理**:所有关键决策、验证证据通过 `serena__write_memory` 入库;周期性使用 `serena__list_memories`、`serena__think_about_collected_information` 清理过期结论,保持记忆库最新。
- **质量/指标监控**:需要评估 Serena 效能时开启 `record_tool_usage_stats` 并定期查阅 Dashboard 的调用耗时、失败率,将洞察纳入复盘与改进计划。
- **最小安全基线**:需要只读分析或外部评审时启用 `read_only: true` 限制编辑工具,结束后恢复默认并记录窗口与影响。
- **故障处置与降级**:遇到工具异常时按照“记录上下文 → `serena__refresh_index`/`serena__check_temp_directory` → `serena__clear_settings`”顺序排障,若仍失败,在计划中登记风险并按治理流程启用人工替代方案。

实战命令

一旦激活,Serena MCP 会暴露工具(如 find_symbol、insert_after_symbol、execute_shell_command),Codex 可以调用它们进行代码任务。以下是典型流程:

  • 代码检索与分析
    • 提示:"Find all references to the function 'my_function' in the project."
    • Serena 使用语义检索返回相关代码片段,帮助你分析依赖。
  • 代码编辑与生成
    • 提示:"Add a new method 'calculate_total' after the 'init' function in main.py, using type annotations."
    • 工具如 insert_after_symbol 会自动插入代码;Codex 生成后,Serena 应用变更。
  • 代理式任务(Agentic Workflow)
    • 提示:"Plan and implement a user authentication feature, including tests."
    • 先规划(用 planning 模式),然后执行(切换到 editing 模式)。启用 execute_shell_command 运行 lint/test(需用户许可)。
  • 处理大型项目
    • 先索引:"Run serena project index /path/to/project"(加速工具性能)。
    • 如果上下文限制,提示:"Prepare for new conversation"(生成总结记忆)。
  • 示例完整提示(在 Codex 中):

    text

    Using Serena, find the main entry point in the codebase, then insert a logging statement at the beginning. Ensure it handles errors.
4. 优化提示与最佳实践
  • 代码库准备:从干净 Git 状态开始(git status 清空),启用 linting 和测试(Serena 依赖执行结果评估正确性)。Windows 用户设置 git config core.autocrlf true 处理换行符。
  • 模式切换:用 --mode planning(规划)或 --mode interactive(交互)启动服务器;动态切换用 switch_modes 工具。
  • 配置调整:编辑 ~/.serena/serena_config.yml 或项目 .serena/project.yml(e.g., read_only: true 防止意外修改)。
  • 监控:用仪表盘查看日志;如果工具响应慢,检查类型注解(Serena 依赖静态分析)。
  • 故障排除
    • 连接失败:确认服务器运行,端口无占用(netstat -ano | findstr :9121)。
    • 权限问题:Codex 沙箱可能需手动批准 shell 执行。
    • 更新:运行 uv pip install --upgrade git+https://github.com/oraios/serena 获取最新功能。
http://www.dtcms.com/a/400278.html

相关文章:

  • 测试方案缺少测试设计的推导过程-如何补充
  • 建设网站 翻译儋州个人建站哪家好
  • 网站推广技巧有哪些软件下载类型网站怎么做
  • IP地址管理:docker方式部署phpIPAMv1.7.3
  • 郑州一建集团工程建设有限公司网站网络公司哪个最好
  • 使用 LLVM 16.0.4 编译 MiBench 中的 patricia遇到的 rpc 库问题
  • 第一章:Qt概述
  • 榆次做企业网站猎头公司属于什么行业
  • 江苏省宿迁市建设局网站首页小内存vps WordPress
  • 如何利用网站赚钱网站地图调用
  • 手机网站分辨率做多大logo设计网站国外
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘torchaudio’ 问题
  • 4.DSP学习记录之直流电机和步进电机驱动
  • 苏州做网站的公司怎么把网站放到空间吗
  • 网站建设发展现状免费ppt课件下载网站
  • 站长之家seo查询凡科互动app
  • 推广免费网站创建全国文明城市我们应该怎么做
  • 做网站用花瓣上的图片会侵权吗thinkphp做的教育网站
  • 移动端性能监控探索:鸿蒙 NEXT 探针架构与技术实现
  • 我想在泉州做网站wordpress分类不同模板
  • 凡科删除建设的网站装修材料厂家哪家好
  • 二七区网站建设代码编辑器
  • ESP-32 WIFI ST模式
  • 硬件原理图知识体系
  • 初识seatunnel
  • 自己做网站除了域名还要买什么潍坊网站建设建站
  • 做的网站如何发布申请域名备案
  • 企业网站建设论文wordpress主页加关键词
  • 创意灵感的网站9377游戏盒子
  • 杭州网站设计建设公司培训机构网站设计