• MilQcxe

    codex app自从更新支持批注功能后,又从pi+plannotator插件跳回来了 ^-^。

    加上最近吃上grok-4.5,速度很快,在pi里面可以同时直接用gpt和grok进行协作,于是也想在codex里面让gpt能同时调用上grok做subagent。

    因为我是自己用new-api作为网关管理各路来源的model在一个provider下,所以以下配置都是基于“同一个provider同一个apikey”下的操作。

    1. 生成模型配置文件

    如果codex cli中通过codex login登录过了,一般都会自动抓取最新的models_cache.json(位于 ~/.codex 中),但如果是free账户,抓取下来的文件就没有5.6-sol模型配置了。

    models_cache.json 里面全的话就可以直接复制已有的文件,重命名如 models_cache_bundled.json ,如果没有就直接使用codex仓库内置的静态配置生成:```
    codex debug models --bundled | jq . > "$HOME/.codex/models_cache_bundled.json"

    如果没有jq的话,用python工具

    codex debug models --bundled | python -m json.tool --indent 2 > "$HOME/.codex/models_cache_bundled.json"

    ```2. 增加第三方模型配置

    在这个 models_cache_bundled.json 的 models 字段下增加如 grok-4.5 配置(就按照其他gpt模型格式进行添加):

    grok-4.5 配置```
    {
    "additional_speed_tiers": [],
    "availability_nux": null,
    "base_instructions": "You are Codex, a coding agent. You and the user share the same workspace and collaborate to achieve the user's goals.",
    "context_window": 500000,
    "default_reasoning_level": "high",
    "default_reasoning_summary": "none",
    "description": "Grok 4.5",
    "display_name": "Grok 4.5",
    "effective_context_window_percent": 95,
    "experimental_supported_tools": [],
    "input_modalities": [
    "text",
    "image"
    ],
    "max_context_window": 500000,
    "priority": 1000,
    "service_tiers": [],
    "shell_type": "shell_command",
    "slug": "grok-4.5",
    "support_verbosity": false,
    "supported_in_api": true,
    "supported_reasoning_levels": [
    {
    "description": "Fast responses with lighter reasoning",
    "effort": "low"
    },
    {
    "description": "Balances speed and reasoning depth for everyday tasks",
    "effort": "medium"
    },
    {
    "description": "Greater reasoning depth for complex problems",
    "effort": "high"
    }
    ],
    "supports_image_detail_original": true,
    "supports_parallel_tool_calls": true,
    "supports_reasoning_summaries": true,
    "supports_search_tool": false,
    "truncation_policy": {
    "limit": 10000,
    "mode": "bytes"
    },
    "upgrade": null,
    "visibility": "list"
    }
    ```3. 指定模型配置文件

    回到codex的 config.toml 文件,在最上方指定 model_catalog_json 字段为刚刚改的json文件:```
    model_catalog_json = "models_cache_bundled.json"
    ```重开codex之后就可以看到grok-4.5选项

    图片

    图片

    图片

    4. 支持subagent调用

    还没完,5.6-sol/5.6-terra只能调用 model_catalog_json 中同为 multi_agent_version 为 v2 的模型(也就是sol和terra)。

    因此如果主agent用的如果是这sol/terra,直接让其调用非sol/terra模型会失败

    图片

    图片

    相关 issue:GPT-5.6 Sol cannot specify subagent models, forcing all subagents to also be Sol instances

    解决方案:需要回到刚刚的 model_catalog_json = "models_cache_bundled.json" 文件中,将里面出现的 "multi_agent_version": "v2" 改为 "v1",使用旧版的UUID子线程模式调用subagent:```
    "multi_agent_version": "v1"
    ``然后回到 config.toml 文件,[features] 下增加 multi_agent_v2 = false(虽然默认值就是 false,不过也指定上方便提示自己之前改过这个配置),如:``
    [features]
    multi_agent = true
    multi_agent_v2 = false
    ```这时候重开会话,5.6-sol就可以召唤grok-4.5了:

    图片

    主楼
  • jjrhlb

    model_catalog_json

    好贴!搜半天没解决的问题一个帖子说清楚了!

    #1
  • DenisZheng

    学习一下,这几天同一会话切gpt和grok经常4.5获取不到

    #2

发表回复

登录后回复