问题描述
手动编辑 %USERPROFILE%\.codex\codex-switch-model-catalog.json 中某些模型条目的自定义字段(例如 apply_patch_tool_type、shell_type、base_instructions)之后,只要在 Codex Switch 里切换/编辑供应商组或同步模型列表,整个目录文件就会被重新生成:
- 条目顺序和
priority 重新排列;
- 手动修改的字段被重置为默认值(如
apply_patch_tool_type 回到 null、shell_type 回到 shell_command、base_instructions 恢复为默认一句话)。
影响
这些字段控制 Codex 客户端对具体模型的工具声明与提示词行为。被覆盖后相关行为直接回退,且不易察觉;用户每次调整供应商配置后都要手动重改一遍,容易忘记。
复现步骤
- 编辑
%USERPROFILE%\.codex\codex-switch-model-catalog.json,给某个模型条目设置 apply_patch_tool_type: "freeform"(或修改 base_instructions、shell_type);
- 在 Codex Switch 中切换/编辑一次供应商组;
- 重新打开目录文件,发现修改被还原,条目顺序和 priority 也被重排。
期望
任选其一即可大幅改善:
- 字段保留:重新生成时保留条目里 Codex Switch 未管理的字段(如
apply_patch_tool_type、shell_type、base_instructions 等),只更新它自己维护的字段(slug、priority、可见性等);
- 手动覆盖文件:支持一个不参与同步的 per-model 覆盖文件(类似 user overrides),生成目录时自动合并,优先级高于生成的值;
- 导出/导入模板:提供目录自定义字段的导出/导入,方便覆盖后快速恢复。
环境
- Codex Switch 1.4.11(Windows)
- Codex CLI 0.153.2
问题描述
手动编辑
%USERPROFILE%\.codex\codex-switch-model-catalog.json中某些模型条目的自定义字段(例如apply_patch_tool_type、shell_type、base_instructions)之后,只要在 Codex Switch 里切换/编辑供应商组或同步模型列表,整个目录文件就会被重新生成:priority重新排列;apply_patch_tool_type回到null、shell_type回到shell_command、base_instructions恢复为默认一句话)。影响
这些字段控制 Codex 客户端对具体模型的工具声明与提示词行为。被覆盖后相关行为直接回退,且不易察觉;用户每次调整供应商配置后都要手动重改一遍,容易忘记。
复现步骤
%USERPROFILE%\.codex\codex-switch-model-catalog.json,给某个模型条目设置apply_patch_tool_type: "freeform"(或修改base_instructions、shell_type);期望
任选其一即可大幅改善:
apply_patch_tool_type、shell_type、base_instructions等),只更新它自己维护的字段(slug、priority、可见性等);环境