☀️ 一句话目标:
本次培训不讲原理,重点带大家干成三件事:基础接入、避坑排雷、以及利用 AI 在物理机驱动全量测试闭环。
1. 培训大纲
🚀 基础接入
VSCode 体系插件安装、本地模型连接与一键切换。
🧯 避坑指南
彻底解决 Windows 环境下的中文乱码、BOM 字符及编译空格报错。
🛠️ 环境提权
理解沙箱模式,配置 MCP 工具链赋予 AI “手和眼”。
✅ 全量闭环
AI 驱动物理机环境,完成从“用例分析”到“日志/DB 联合排错修复”的全流程。
2. 基础配置:安装、接入与切换
🔌 第一步:安装 Codex 插件
面向 VSCode 以及基于 VSCode 二次开发的 IDE 工具:
- 在扩展市场搜索
Codex并安装。 - 重启 IDE 窗口确保插件彻底激活。
🧩 第二步:配置文件标准模板
配置文件位置:C:\Users\你的用户名\.codex\config.toml
⚠️ 注意:
model 等根级配置必须出现在所有 [table] 之前。
model = "gpt-5.5" # 切换模型仅需修改此处
model_provider = "localproxy"
model_reasoning_effort = "low"
[model_providers.localproxy]
name = "Local OpenAI"
base_url = "http://192.168.3.202:8317/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
[projects.'d:\ideaprojects\ydd-exam']
trust_level = "trusted"
[windows]
sandbox = "elevated" # 开启提权模式以便操作物理机终端
[features]
multi_agent = true
3. 问题 2:Windows 编码与 BOM 提示词
在 Windows 环境中读写含中文文件时,必须显式使用 UTF-8 编码,并避免写入 BOM。
📖 读取文件规范:
- PowerShell
Get-Content必须加-Encoding UTF8。 - .NET
File.ReadAllText必须传入[System.Text.Encoding]::UTF8。
✍️ 写入文件规范:
- 优先使用
apply_patch修改代码。 - 不要用 PowerShell 5.1 的
Set-Content -Encoding UTF8写 Java 源码,因为它可能写入 UTF-8 BOM,导致 javac 报非法字符\ufeff。 - 必须脚本写入时,使用 UTF-8 no BOM:
$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllText($path, $text, $utf8NoBom)
🔎 自检与修复:
- 批量修改后执行:
rg "浜|鍒|鐢|閮|鏌|璇|€|侊|锛" backend\src\main\java。 - 检查 Java 文件前三字节是否为
EF BB BF,若存在必须移除。 - 空格报错:严禁使用全角空格。要求 AI 必须使用标准 ASCII 半角空格缩进。
🌟 最后总结:默认提示词
建议将下面这段作为项目级默认提示词,放入 AGENTS.md 或团队统一提示词模板中。
在 Windows 环境中读写含中文文件时,必须显式使用 UTF-8 编码,并避免写入 BOM。
读取文件:
- PowerShell Get-Content 必须加 -Encoding UTF8。
- .NET File.ReadAllText 必须传入 [System.Text.Encoding]::UTF8。
写入文件:
- 优先使用 apply_patch 修改代码。
- 不要用 Windows PowerShell 5.1 的 Set-Content -Encoding UTF8 写 Java 源码,因为它可能写入 UTF-8 BOM,导致 javac 报非法字符 '\ufeff'。
- 如必须用脚本写文件,使用 UTF-8 no BOM:
$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllText($path, $text, $utf8NoBom)
批量修改:
- 避免用未指定编码的脚本整文件重写。
- 每次批量修改后执行:
rg "浜|鍒|鐢|閮|鏌|璇|€|侊|锛" backend\src\main\java
- 每次批量修改后检查 Java 文件 BOM:
扫描所有 .java 文件前三字节是否为 EF BB BF;如存在必须移除。
4. 高阶底座:沙箱 (Sandbox) 与 MCP
- 🧰 沙箱模式:配置为
elevated。这允许 AI 在你的物理机终端执行系统命令(如mvn,npm)。 - 🔗 MCP 协议:让 AI 拥有读库、读文档的能力。通过 MCP,AI 可以直接查询数据库验证数据,不再依赖用户手动截图。
🔗 怎么安装 MCP
✨ 核心方式:Codex 插件已经支持独立安装 MCP。使用时不需要学 MCP 配置细节,只要告诉 AI 你要装什么 MCP、连接到哪里、账号密码是什么,AI 会按当前环境完成安装和配置。
🗄️ MySQL MCP 安装示例
例如要让 AI 安装一套连接内网 MySQL 的 MCP,可以直接这样说:
帮我安装 192.168.3.122 这台 MySQL 数据库的 MCP。
连接信息:
- 类型:MySQL
- Host:192.168.3.122
- 用户名:root
- 密码:123456
安装完成后,我会重启编辑器,让 MCP 配置重新加载并生效。
🔁 生效方式:
- AI 安装并写入 MCP 配置后,必须重启 VSCode 或对应二次开发编辑器。
- 编辑器重启后,Codex 插件会重新加载 MCP 配置,数据库查询、文档读取等能力才会正常生效。
- 其他 MCP 也用同样的方法安装:说明 MCP 类型、目标地址、认证信息和用途即可。
- 生产环境账号密码不要写进公开文档;培训示例只适合内网演示或本地测试。
5. AI 驱动的物理机全量测试闭环
核心原则:不使用虚拟环境,让 AI 接管物理机终端执行。
🧭 全流程四个阶段:
1 🔍 深度分析阶段:AI 扫描代码,输出《全量测试文档》,理清业务关联、数据流转顺序及一致性风险点。
2 ⚙️ 物理机启动阶段:AI 通过终端直接启动物理机上的 Redis、MySQL 及前后端服务。
3 📊 多维联合执行:AI 运行测试脚本(UTF-8 No BOM),同时监控接口返回、物理机日志及数据库落库情况。
4 🩹 排错修复阶段:AI 结合日志堆栈与 DB 脏数据分析根因,生成修复补丁并提供清理 SQL。
📝 实战提示词模板:
任务:对 ydd-exam 项目进行物理机全量测试闭环。
要求:
1. 分析:先扫描代码,输出《全量测试文档》,列出业务场景、数据先后顺序、数据一致性校验点。
2. 启动:直接在我的物理机终端执行命令,启动所需的所有服务(Maven/NPM/Redis/DB)。
3. 执行:编写脚本(UTF-8 No BOM)模拟业务流,结合接口、物理机日志、数据库数据进行多重校验。
4. 修复:若失败,分析日志和 DB 错误数据,提供修复补丁和清理 SQL。