# CodexReviewMcp **Repository Path**: ldr123/codex-review-mcp ## Basic Information - **Project Name**: CodexReviewMcp - **Description**: 在Claude Code、Cursor等AI工具中调用Codex的mcp工具 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-11-05 - **Last Updated**: 2025-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Codex Review MCP > **双AI代码审查,ClaudeCode上下文节省70%+ Token** > > 基于模型上下文协议(MCP)的Claude Code与Codex交叉验证服务器,支持实时GUI监控和占位符注入机制。 --- ## ✨ 核心特性 - ⚡ **70.6% ClaudeCode上下文节省** - 占位符注入机制,规则文件从10k降到2,979 tokens - 🔄 **占位符注入机制** - ClaudeCode生成轻量级文件(~3k tokens),MCP动态注入完整Codex规则(~7k tokens) - 🤖 **全自动工作流** - Claude生成 → Codex审查 → 结构化报告 - 📊 **实时GUI监控** - 800x600窗口显示codex.log实时输出 - ✅ **7维度质量评估** - 完整性、正确性、最佳实践、性能、可维护性、安全性、向后兼容性 - 🔄 **智能进程管理** - 自动清理、10秒report.md保底方案、超时处理 - 📝 **结构化报告生成** - P0/P1/P2问题分级,带file:line引用 - 🎯 **大草稿支持** - ≥1000行自动分块,依赖追踪 - 🌐 **多语言支持** - UTF-8编码,支持中文、日文、emoji等任意语言 --- ## 🎬 完整工作流程预览 ### 步骤1:用户触发审查 用户请求ClaudeCode生成并使用Codex交叉验证代码: ![用户触发Codex审查](imgs/1.png) *用户输入触发关键词(如"使用codex交叉验证"),ClaudeCode接收请求并开始准备审查流程。* ### 步骤2:ClaudeCode生成输入文件 Claude Code创建UTF-8编码的临时文件(review-request.md和draft.md,支持多语言): ![ClaudeCode生成审查文件](imgs/3.png) *ClaudeCode根据`rule-codex-review-workflow.md`模板生成完整的审查请求和草稿文件,包含完整的工作流指令和质量评估标准。* ### 步骤3:MCP创建会话目录 MCP工具将文件复制到独立的会话目录并启动Codex: ![会话目录结构](imgs/2.png) *每次审查在`ClaudeCodexTasks/sessions/session-{timestamp}/`下创建独立目录,包含review-request.md、draft.md、codex.log和最终的report.md。* ### 步骤4:实时GUI监控 GUI窗口显示codex.log实时输出,并提供文件快速访问按钮: ![GUI监控界面](imgs/4.png) *800x600监控窗口每200ms增量读取codex.log,显示Codex执行的6步工作流。用户可点击按钮打开相关文件,或点击Exit中止审查。* ### 步骤5:Codex生成审查报告 经过6步工作流后,Codex创建包含结构化发现的report.md: ![Codex审查报告](imgs/5.png) *Codex生成纯英文、UTF-8编码的报告,包含P0/P1/P2问题分级、7维度质量评分、具体的file:line引用和可执行的改进建议。* ### 步骤6:ClaudeCode处理结果 Claude Code解析report.md并决定后续动作(本测试中仅验证文件): ![ClaudeCode处理结果](imgs/6.png) *ClaudeCode读取report.md,提取状态、问题、建议和质量评分,根据审查结果决定是继续实现还是修复问题。* --- ## 🔄 工作原理 ```mermaid graph TD A[用户: 使用codex交叉验证] --> B[ClaudeCode: 生成review-request.md + draft.md] B --> C[MCP工具: 创建session目录] C --> D[MCP工具: 复制文件 & 启动Codex] D --> E[MCP工具: 启动GUI监控if可用] E --> F[Codex: 执行6步审查工作流] F --> G{完成检测} G -->|Codex退出| H[MCP: 等待10秒] G -->|检测到report.md| I[MCP: 等待10秒 + 强制清理] G -->|用户中止| J[MCP: 立即kill进程] G -->|超时| K[MCP: 强制终止] H --> L[MCP: 关闭GUI & 读取report.md] I --> L J --> M[MCP: 生成中止报告] K --> M L --> N[ClaudeCode: 解析报告 & 采取行动] M --> N ``` ### 6步审查工作流 Codex遵循系统化的审查流程: 1. **Intake & Reality Check** - 重述需求,识别风险,做出假设 2. **Context Gathering** - 5-8工具调用预算,≥70%信号收敛时早停 3. **Planning** - 生成多步骤审查计划(≥2步) 4. **Execution** - 只读审查(不修改代码) 5. **Verification** - 根据7维度Rubric自我评估 6. **Handoff** - 生成UTF-8编码的report.md --- ## 🚀 快速开始 ### 前置要求 - **Python 3.10+** - [下载](https://python.org) - **uv** - Python包管理器:`pip install --user uv` - **Claude Code** - `npm install -g @anthropic-ai/claude-code` - **Codex CLI 0.53.0+** - `npm install -g --ignore-scripts @openai/codex@latest` ### 安装步骤 #### 1. 配置Claude Code 设置环境变量(Windows示例,macOS/Linux请相应调整): ```bash # API凭据 ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxxxx" ANTHROPIC_BASE_URL="https://coder.api.vayvi.cn" # 或官方API CLAUDE_CODE_MODEL="claude-sonnet-4-5-20250929" CLAUDE_CODE_FAST_MODEL="claude-haiku-4-5-20251001" # Windows: Git Bash路径 CLAUDE_CODE_GIT_BASH_PATH="C:\Program Files\Git\bin\bash.exe" ``` **设置环境变量的方法**(Windows 11): 1. 右键"此电脑" → "属性" 2. "高级系统设置" → "环境变量" 3. 在"系统变量"区域点击"新建" 4. 逐个添加上述变量 5. 重启终端使配置生效 #### 2. 配置Codex 创建 `~/.codex/config.toml`: ```toml windows_wsl_setup_acknowledged = true model_provider = "codex" model = "gpt-5-codex" model_reasoning_effort = "high" disable_response_storage = true [model_providers.codex] name = "codex" base_url = "https://coder.api.visioncoder.cn/v1" wire_api = "responses" requires_openai_auth = true ``` 创建 `~/.codex/auth.json`: ```json { "OPENAI_API_KEY": "sk-xxxxxxxxxxxxxxxxxx" } ``` #### 3. 在Claude Code中配置MCP 在项目根目录创建 `.mcp.json`: **远程安装(推荐)**: ```json { "mcpServers": { "codex-review-mcp": { "command": "uvx", "args": [ "--from", "git+https://gitee.com/ldr123/codex-review-mcp.git", "codex-review-mcp" ], "env": { "CODEX_REVIEW_TIMEOUT_SECONDS": "1800" } } } } ``` **本地开发**: ```json { "mcpServers": { "codex-review-mcp": { "command": "uv", "args": [ "run", "--directory", "/path/to/codex-review-mcp", "codex-review-mcp" ], "env": { "CODEX_REVIEW_TIMEOUT_SECONDS": "1800" } } } } ``` #### 4. 预下载依赖(重要!) **本项目依赖PySide6(GUI库,约200MB)。首次使用前请预下载,避免长时间等待:** ```bash # 远程安装 uvx --from git+https://gitee.com/ldr123/codex-review-mcp.git codex-review-mcp --help # 本地开发 uv run --directory /path/to/codex-review-mcp codex-review-mcp --help ``` 等待依赖下载完成,然后重启Claude Code。 #### 5. 添加项目规则 在项目根目录创建 `CLAUDE.md`: ```markdown ## 🤝 Codex交叉验证触发机制 **触发关键词**: - `使用codex交叉验证` - `让codex帮我验证` **工作流程**: 1. 前置检查:`codex --version`(失败则自动跳过) 2. 生成review-request.md和draft.md(UTF-8编码,支持多语言和emoji) 3. 调用MCP工具 → 解析report.md 4. 审查通过 → 提交到Git(包含双AI标识) **详细规则**:`rule-codex-review-workflow.md` ``` ### 首次使用 在Claude Code中输入: ``` 使用codex交叉验证,实现多模板手势识别系统 ``` Claude Code将自动: 1. 检查codex CLI可用性 2. 生成review-request.md和draft.md 3. 调用MCP工具启动Codex审查 4. 启动GUI监控窗口 5. 解析report.md并展示结果 --- ## 📊 GUI监控界面详解 MCP工具在检测到GUI环境时,自动启动实时监控窗口(800x600像素): ![GUI监控界面](imgs/4.png) ### 主要功能 - **实时日志显示** - 每200ms增量读取codex.log - **文件快速访问** - 点击按钮打开review-request.md、draft.md、report.md - **用户中止** - Exit按钮带确认对话框(返回exit code 99) - **始终置顶** - 窗口保持在最前面,方便监控 - **智能滚动** - 自动滚动到底部,用户手动滚动时暂停 - **自动换行** - 文本根据窗口宽度自动换行(无横向滚动条) - **暗色主题** - 等宽字体(Consolas/Monaco)便于阅读 ### Headless环境自动降级 GUI在以下情况自动降级到CLI模式: - SSH远程连接,无X11转发 - 无DISPLAY或WAYLAND_DISPLAY环境变量 - PySide6无法初始化QApplication **降级行为**: - 不启动GUI窗口 - 进度输出到控制台 - 日志仍写入codex.log - 所有其他功能保持不变 --- ## 🔍 工作流程详解 ### 会话目录结构 MCP工具为每次审查创建独立的会话目录: ![会话目录](imgs/2.png) ``` ClaudeCodexTasks/ └── sessions/ └── session-20251107-192725/ ├── review-request.md (UTF-8-BOM, ClaudeCode生成) ├── draft.md (UTF-8-BOM, ClaudeCode生成) ├── report.md (UTF-8, Codex生成) └── codex.log (UTF-8, MCP捕获) ``` **自动清理**:仅保留最近10个会话。 ### ClaudeCode生成的输入文件 ![输入文件](imgs/3.png) - **review-request.md** - 完整的工作流规则(纯英文) - 原始用户需求(翻译为英文) - 草稿摘要(1-3句话) - 6步工作流指令 - 7维度质量Rubric - 报告格式模板 - 文件编码要求(UTF-8,无中文) - **draft.md** - 待审查代码(纯英文) - 概述和理由 - 当前问题 - 提议的修改(含代码片段) - 收益和风险 - 测试建议 ### Codex生成的输出报告 ![审查报告](imgs/5.png) Codex生成结构化的纯英文报告: ```markdown # Review Report ## Status approved | major_issues | minor_issues ## Issues Found ### P0 - Critical Issues - [关键问题,带file:line引用] ### P1 - Major Issues - [重要问题,带file:line引用] ### P2 - Minor Issues - [次要问题,带file:line引用] ## Suggestions - [可执行的改进建议] ## Quality Rubric | Dimension | Score | Notes | |-----------|-------|-------| | Completeness | Pass/Minor/Major/Critical | 非Pass时的说明 | | Correctness | Pass/Minor/Major/Critical | 非Pass时的说明 | | Best Practices | Pass/Minor/Major/Critical | 非Pass时的说明 | | Performance | Pass/Minor/Major/Critical | 非Pass时的说明 | | Maintainability | Pass/Minor/Major/Critical | 非Pass时的说明 | | Security | Pass/Minor/Major/Critical | 非Pass时的说明 | | Backward Compatibility | Pass/Minor/Major/Critical | 非Pass时的说明 | ## Summary [整体评估,含文件引用、风险和后续步骤] ``` ### ClaudeCode后续处理 ![ClaudeCode处理](imgs/6.png) Codex完成审查后,ClaudeCode: 1. 解析report.md结构 2. 提取状态、问题、建议、质量评分 3. 根据状态决定后续动作: - `approved` → 继续实现 - `major_issues` → 修复P0/P1问题后再继续 - `minor_issues` → 可选修复P2问题 测试示例中,ClaudeCode仅验证文件生成正确。 ### 进程终止机制 MCP工具监控4种终止条件(按优先级): | 优先级 | 条件 | 触发 | 处理 | |--------|------|------|------| | **P1** | UI中止 | 用户点击Exit按钮 | 立即kill codex,生成中止报告(exit code 99) | | **P2** | 超时 | 超过CODEX_REVIEW_TIMEOUT_SECONDS | 强制kill codex和UI,生成超时报告 | | **P3** | Report保底 | report.md存在10+秒但进程未退出 | 关闭UI,检查codex是否还在运行,需要则kill | | **P4** | 进程退出 | Codex进程自然退出 | 等待5秒,读取report.md,缺失则生成异常报告 | **异常保障**:所有终止路径都确保生成report.md,即使Codex不可用、超时或崩溃。 --- ## 📏 7维度质量评估 Codex根据7个行业标准维度评估草稿: ### 1. 完整性(Completeness) - **Pass**:覆盖所有用户需求 - **Minor**:缺少非关键功能 - **Major**:缺少关键功能模块 - **Critical**:草稿未解决核心问题 ### 2. 正确性(Correctness) - **Pass**:逻辑正确,无明显bug - **Minor**:边界处理不完整 - **Major**:核心逻辑错误、资源泄漏 - **Critical**:严重错误导致崩溃或数据损坏 ### 3. 最佳实践(Best Practices) - **Pass**:遵循约定和标准 - **Minor**:命名不一致、注释不足 - **Major**:违反架构模式 - **Critical**:违反安全原则(硬编码密钥等) ### 4. 性能(Performance) - **Pass**:无明显瓶颈 - **Minor**:可优化的低效实现 - **Major**:严重性能问题(主线程阻塞) - **Critical**:性能缺陷导致系统不可用 ### 5. 可维护性(Maintainability) - **Pass**:结构清晰,单一职责,缩进≤3层 - **Minor**:函数过长 - **Major**:高耦合,复杂嵌套(缩进>4层) - **Critical**:难以理解的意大利面条代码 ### 6. 安全性(Security) - **Pass**:无安全漏洞 - **Minor**:缺少输入验证 - **Major**:存在OWASP Top 10漏洞(SQL注入等) - **Critical**:漏洞导致数据泄漏或系统受损 ### 7. 向后兼容性(Backward Compatibility) - **Pass**:不破坏现有功能 - **Minor**:废弃API但提供过渡期 - **Major**:破坏非关键API - **Critical**:破坏用户空间或核心API **评分映射**:Critical → P0, Major → P1, Minor → P2, Pass → 无问题 --- ## 🎯 大草稿支持 当draft.md ≥1000行时,ClaudeCode自动启用分块审查: **Block Index**(放在draft.md顶部): ```markdown | Block | Lines | Description | Priority | Dependencies | |-------|-------|-------------|----------|--------------| | Block 1 | 17-516 | 核心算法重构 | P0 | None | | Block 2 | 519-1018 | 多模板匹配 | P0 | Block 1 | | Block 3 | 1021-1520 | 异步封装 | P1 | Block 1, Block 2 | ``` **Codex审查策略**: 1. 读取Block Index了解结构 2. 使用`Read(file_path="draft.md", offset=16, limit=500)`读取特定块 3. 按优先级审查(P0 → P1 → P2) 4. 检查Dependencies列,先读取依赖块的接口 5. 预算:每块5-8工具调用 6. 验证跨块一致性 **详细规则**:参见`rule-codex-review-workflow.md` §3.2和§5.2 --- ## 📖 文档导航 | 文档 | 受众 | 内容 | |------|------|------| | **README.md**(本文件) | 用户、集成者 | 安装、使用、故障排除、架构 | | **[rule-codex-review-workflow.md](./rule-codex-review-workflow.md)** | Codex、参考文档 | 完整的6步工作流、7维度Rubric、文件模板、大草稿支持(40k字符) | | **[rules/rule-claudecode-generator.md](./rules/rule-claudecode-generator.md)** | ClaudeCode | 轻量级规则(410行,~3k tokens),含占位符、格式模板、完整示例 | | **[CLAUDE.md](./CLAUDE.md)** | ClaudeCode | 触发关键词、执行步骤(8行,~38 tokens) | --- ## 🛠️ 故障排除 ### Codex CLI未找到 **症状**:`[ERROR] Codex CLI not found` **解决方案**: ```bash # 安装Codex CLI npm install -g --ignore-scripts @openai/codex@latest # 验证安装 codex --version ``` **智能降级**:如果Codex不可用,MCP生成错误报告并允许ClaudeCode继续正常开发。 ### 审查超时 **症状**:`[TIMEOUT] Review timed out, killing process...` **解决方案**: **方案1:增加超时时间** ```json // .mcp.json { "env": { "CODEX_REVIEW_TIMEOUT_SECONDS": "3600" // 60分钟 } } ``` **方案2:优化草稿** - 减少draft.md大小(拆分为更小任务) - 对大草稿使用分块机制(≥1000行) - 简化review-request.md中的审查要求 **方案3:检查日志** ```bash cd ClaudeCodexTasks/sessions ls -lt | head -2 # 找到最新session cat session-YYYYMMDD-HHMMSS/codex.log ``` ### 编码问题(中文乱码) **症状**:report.md或codex.log显示乱码 **解决方案**: **验证文件编码**(PowerShell): ```powershell Get-Content -Path "review-request.md" -Encoding UTF8 ``` **检查BOM**(PowerShell): ```powershell $bytes = [System.IO.File]::ReadAllBytes("review-request.md") $bytes[0..2] # 应为 239, 187, 191 (UTF-8 BOM) ``` **编码策略**: - review-request.md: UTF-8-BOM(Windows PowerShell兼容性) - draft.md: UTF-8-BOM(Windows PowerShell兼容性) - report.md: UTF-8(Codex输出,带`-Encoding UTF8`参数) - codex.log: UTF-8(无BOM,标准日志格式) ### GUI窗口无法启动 **症状**:`[UI] Headless environment detected, running in CLI mode` **解决方案**: **Linux - 检查DISPLAY**: ```bash echo $DISPLAY # 应有值如 :0 export DISPLAY=:0 # 如果未设置 ``` **验证PySide6**: ```bash python -c "from PySide6.QtWidgets import QApplication; print('OK')" ``` **预期行为**: - GUI可用 → 启动800x600监控窗口 - Headless环境 → 自动降级到CLI模式,所有功能保持不变 ### 用户中止后无法重启 **症状**:点击Exit后,下次审查失败,提示"Codex进程仍在运行" **解决方案**: **Windows - 结束codex进程**: ```powershell tasklist | findstr codex taskkill /F /IM codex.exe ``` **Linux/macOS - 结束codex进程**: ```bash ps aux | grep codex kill -9 ``` **自动清理**:MCP工具在超时时自动终止所有进程(默认30分钟)。 ### report.md未生成 **症状**:`[ERROR] No report.md found, generated error report` **解决方案**: **检查codex.log**: ```bash cat ClaudeCodexTasks/sessions/session-*/codex.log ``` **查找错误**: - API密钥无效 - 网络连接失败 - Codex内部错误 **强制生成**:MCP工具在所有异常场景都会生成report.md,即使Codex未生成。 ### MCP工具无法连接 **症状**:`检查codex-review-mcp是否可用` - 无响应或报错 **解决方案**: **验证.mcp.json语法**: ```bash cat .mcp.json | python -m json.tool ``` **预下载依赖**: ```bash # 远程安装 uvx --from git+https://gitee.com/ldr123/codex-review-mcp.git codex-review-mcp --help # 本地安装 uv run --directory /path/to/codex-review-mcp codex-review-mcp --help ``` **重启ClaudeCode**: ```bash # 完全退出ClaudeCode,然后重启 claude ``` --- ## 🔧 开发说明 ### 本地设置 ```bash # 克隆仓库 git clone https://gitee.com/ldr123/codex-review-mcp.git cd codex-review-mcp # 安装依赖 uv venv source .venv/bin/activate # Windows: .venv\Scripts\activate uv pip install -e . # 运行测试 python -m pytest ``` ### 项目结构 ``` codex-review-mcp/ ├── src/ │ └── codex_review_mcp/ │ ├── __init__.py │ ├── server.py # MCP服务器入口 │ ├── template.py # Codex审查规则模板(占位符注入源) │ ├── file_generator.py # 文件复制、编码、占位符替换 │ ├── reviewer.py # Codex进程管理 │ ├── workflow_manager.py # 工作流编排 │ ├── report_parser.py # 报告解析 │ ├── encoding_utils.py # UTF-8编码检测和转换 │ ├── data_models.py # 数据模型定义 │ ├── gui_utils.py # GUI环境检测 │ └── codex_monitor_ui.py # 实时监控窗口 ├── rules/ │ └── rule-claudecode-generator.md # ClaudeCode专用轻量级规则(410行) ├── imgs/ # 工作流程截图 ├── rule-codex-review-workflow.md # 完整工作流规则(参考文档,40k字符) ├── CLAUDE.md # ClaudeCode配置(8行) ├── pyproject.toml # 项目配置 └── README.md # 本文件 ``` ### 核心组件 | 组件 | 文件 | 职责 | |------|------|------| | **MCP服务器** | server.py | 提供start_review工具,处理MCP调用 | | **规则模板** | template.py | 嵌入完整Codex审查规则(~7k tokens),供占位符注入 | | **工作流管理器** | workflow_manager.py | 编排审查流程,管理会话目录 | | **Codex审查器** | reviewer.py | 管理codex进程,监控4种终止条件 | | **文件生成器** | file_generator.py | 复制文件到session,占位符替换,确保UTF-8编码 | | **报告解析器** | report_parser.py | 解析report.md,提取status/issues/suggestions | | **编码检测器** | encoding_utils.py | 智能检测UTF-8/GBK/GB18030,强制UTF-8输出 | | **数据模型** | data_models.py | ReviewResult等数据结构定义 | | **GUI工具** | gui_utils.py | 检测GUI环境(DISPLAY + QApplication) | | **监控UI** | codex_monitor_ui.py | 800x600实时监控窗口,暗色主题 | --- ## 🤝 贡献指南 欢迎贡献!请: 1. Fork仓库 2. 创建功能分支 3. 提交Pull Request --- ## 📄 许可证 MIT License - 详见LICENSE文件 --- ## 🆘 支持 如有问题: 1. 查看本文档 2. 在[Gitee Issues](https://gitee.com/ldr123/codex-review-mcp/issues)提交问题 --- ## 📝 更新日志 ### v2.0.1 (2025-11-09) **规则文件拆分重构**: - ✅ **占位符注入机制** - ClaudeCode生成轻量级文件(~3k tokens),MCP动态注入完整Codex规则(~7k tokens) - ✅ **70.6% ClaudeCode上下文节省** - 规则文件从10k降到2,979 tokens(rule-claudecode-generator.md 2,941 + CLAUDE.md 38) - ✅ **新增template.py模块** - 嵌入完整Codex审查规则(CODEX_REVIEWER_TEMPLATE + REPORT_FORMAT_TEMPLATE) - ✅ **file_generator.py增强** - 添加_expand_placeholders()方法,自动替换{{INJECT:*}}占位符 - ✅ **CLAUDE.md精简** - 从30行精简到8行,仅保留触发词和执行步骤 - ✅ **rules/rule-claudecode-generator.md** - ClaudeCode专用规则(410行),包含: - 三段式结构详细说明(任务内容/思路/实现) - 任务拆分指导(4条原则) - 代码范围指导(5条规则) - 详细行号计算规则(含可视化示例) - 双任务JWT示例(130行,展示多任务格式) - 新建模块RBAC示例(95行,展示无老代码场景) - ✅ **准确性优先设计** - 消除10个已识别的执行歧义(P0×3, P1×3, P2×4) - ✅ **UTF-8编码一致性** - 所有生成文件统一UTF-8无BOM **设计权衡**: - 初期极简方案:365 tokens(96%节省),但存在准确性风险 - 最终增强方案:2,979 tokens(70.6%节省),准确性无歧义 - 权衡决策:多用2,576 tokens换取执行清晰度 ### v1.1.0 (2025-11-07) **新增功能**: - ✅ 6步审查工作流(Intake、Context Gathering、Planning、Execution、Verification、Handoff) - ✅ 7维度质量评估(完整性、正确性、最佳实践、性能、可维护性、安全性、向后兼容性) - ✅ 大草稿支持(≥1000行自动分块,Block Index + 依赖追踪) - ✅ GUI监控界面(800x600窗口,实时日志,文件快速访问,用户中止) - ✅ 4种终止条件(UI中止、超时、report保底、进程退出) - ✅ 会话管理(自动清理,保留最近10个) - ✅ 实时日志流式处理(异步stdout/stderr读取) - ✅ 智能编码检测(UTF-8 → GBK → GB18030) - ✅ 强制report.md生成(所有异常场景) - ✅ 智能降级(headless环境自动降级到CLI模式) - ✅ 多语言支持(UTF-8编码,支持中文、日文、emoji等) - ✅ PowerShell文件操作UTF-8要求(Get-Content/Set-Content必须使用-Encoding UTF8) **Bug修复**: - ✅ UI窗口大小现为800x600(可调整大小) - ✅ 日志文本区域根据窗口宽度自动换行 - ✅ 跨shell UTF-8编码统一(环境变量PYTHONIOENCODING + PowerShell编码要求) - ✅ 模板外部引用展开为内联 - ✅ Codex不再卡住等待用户输入 - ✅ 所有场景强制生成report.md - ✅ 进程清理顺序修正(GUI → 检查codex → 需要时kill) - ✅ report.md输出强制UTF-8编码 - ✅ UTF-8编码统一(智能检测输入,强制UTF-8无BOM输出) --- **版本**:2.0.0 **最后更新**:2025-11-08 **兼容性**:Python 3.10+, Claude Code 2.0.33+, Codex CLI 0.53.0+