• IanShaw027's avatar
    fix(codex): 添加codex CLI instructions fallback机制 · f9713e87
    IanShaw027 authored
    ## 问题
    - 使用OpenAI API key时,opencode客户端可能因instructions不兼容而报错
    - 依赖外部GitHub获取instructions,网络故障时会失败
    
    ## 解决方案
    1. 将codex CLI标准instructions嵌入到项目中
    2. 实现自动fallback机制:
       - 优先使用opencode GitHub的instructions
       - 失败时自动fallback到本地codex CLI instructions
    3. 添加辅助函数用于错误检测和手动替换
    
    ## 改动
    - 新增: internal/service/prompts/codex_cli_instructions.md
      - 从codex项目复制的标准instructions
      - 使用go:embed嵌入到二进制文件
    
    - 修改: internal/service/openai_codex_transform.go
      - 添加embed支持
      - 增强getOpenCodeCodexHeader()的fallback逻辑
      - 新增GetCodexCLIInstructions()公开函数
      - 新增ReplaceWithCodexInstructions()用于手动替换
      - 新增IsInstructionError()用于错误检测
    
    ## 优势
    - 零停机:GitHub不可用时仍能正常工作
    - 离线可用:不依赖外部网络
    - 兼容性:使用标准codex CLI instructions
    - 部署简单:instructions嵌入到二进制文件
    f9713e87
codex_cli_instructions.md 20.4 KB