logo NodeSeekbeta

Astra突然调用不了本地工具(求助)

12
  • @cheery #7 你就试试新开会话问一下能不能调用工具。我记得fork不行,会把旧上下文带进来。

  • @chandler #1 发布于2026/9/29 15:58:46
    根据我的经验,你用的中转站BaseUrl应该没加/v1,你加上/v1再试试

    我的经验是有些中转站的设置问题,不加/v1,他走的就是/chat/completions,加上之后走的就是/v1/responses的,前者好像是从gpt-5.4之后就不会调用工具了

  • @cheery #9 是不是网页版的给你用了?

  • 这个应该是中转站的问题

  • 这个是 sub2API 的一个 bug。在渠道设置中,需要把它改成强制使用 response,而不能切换成自动。
    切换成自动的话,它会给你自动用 chat completion,而不是使用 response,然后它就把 response 提供的tools给扔了

  • @nodeisle #13
    现在真有很多把网页版的反代出来的,很恐怖哎

  • 这个好像是中转特有的问题,我改用订阅之后再也没有出现过这个。

  • 用下面这份完整提示词:

    请修复当前电脑上 Codex 通过 Sub2API 调用工具时,偶发出现“找不到执行工具”的问题。
    
    已知原因:
    Sub2API 暂时不能正确处理 Codex Responses Lite。启用 Lite 后,工具定义可能被放入 input[].additional_tools,而不是标准 Responses API 的顶层 tools,导致 Sub2API 漏掉工具定义。
    
    请直接完成以下操作。
    
    1. 确认环境
    
    - 运行 `codex --version`,记录当前 Codex CLI 版本。
    - 找到实际的 `$CODEX_HOME`。
    - Windows 通常是 `C:\Users\<用户名>\.codex`,但必须以当前电脑的实际路径为准。
    - 检查 `$CODEX_HOME\config.toml`。
    - 不要输出 API Key、Token、Authorization Header 等敏感信息。
    
    2. 获取最新官方模型目录
    
    从 OpenAI 官方 GitHub 仓库获取最新稳定 release:
    
    https://github.com/openai/codex/releases/latest
    
    要求:
    
    - 使用最新的非 draft、非 prerelease 稳定版本。
    - 获取该 release 的 `tag_name`。
    - 按下面的地址下载模型目录:
    
    https://raw.githubusercontent.com/openai/codex/<tag_name>/codex-rs/models-manager/models.json
    
    截至 2026 年 9 月 12 日,已知最新稳定版本是 `rust-v0.154.0`,对应文件:
    
    https://raw.githubusercontent.com/openai/codex/rust-v0.154.0/codex-rs/models-manager/models.json
    
    但仍需先查询 GitHub,若已有更新的稳定版本,应使用更新版本。
    
    3. 校验下载文件
    
    下载到临时文件后再替换正式文件。必须确认:
    
    - HTTP 下载成功。
    - 文件能被正常解析为 JSON。
    - 顶层结构为:
    
    {
      "models": [...]
    }
    
    - `models` 是非空数组。
    - 当前 `config.toml` 选择的模型存在于目录中。
    - 模型条目包含 `slug`、`display_name`、`supported_reasoning_levels`、`truncation_policy` 等必要字段。
    
    校验失败时不要覆盖现有文件。
    
    4. 安装模型目录
    
    将下载并校验过的文件安装为:
    
    $CODEX_HOME\cc-switch-model-catalog.json
    
    如果该文件已经存在:
    
    - 先备份现有文件。
    - 备份名称使用:
      `cc-switch-model-catalog.json.bak-before-disable-responses-lite`
    - 不要删除原备份。
    
    5. 关闭 Responses Lite
    
    解析新下载的模型目录,将所有:
    
    "use_responses_lite": true
    
    修改为:
    
    "use_responses_lite": false
    
    需要修改所有启用 Lite 的模型,而不只是当前模型,因为这些模型共用 Sub2API provider,切换模型后也可能遇到同样问题。
    
    除该字段外,不要修改模型目录的其他内容。
    
    6. 配置 config.toml
    
    确保 `$CODEX_HOME\config.toml` 的顶层存在:
    
    model_catalog_json = "cc-switch-model-catalog.json"
    
    该配置必须位于 `[model_providers.*]` 等 TOML 表之前,不能误放进 provider 表中。
    
    保留现有配置,例如:
    
    model_provider = "custom"
    model = "gpt-5.6-sol"
    
    同时保留:
    
    wire_api = "responses"
    
    不要进行以下修改:
    
    - 不要切换到 Chat Completions。
    - 不要关闭 `supports_parallel_tool_calls`。
    - 不要修改模型 slug。
    - 不要修改 Sub2API 地址或认证配置。
    - 不要格式化或重写整个 config.toml。
    - 不要改动与此问题无关的配置。
    
    7. 处理版本兼容
    
    最新模型目录的 JSON schema 可能无法被旧 Codex 解析。
    
    安装模型目录后运行:
    
    codex features list
    
    如果出现类似错误:
    
    failed to parse model_catalog_json
    missing field ...
    
    说明 Codex 版本过旧。此时:
    
    - 使用官方 `codex update` 更新 Codex。
    - 如果是 Codex 桌面应用的内嵌 CLI 过旧,也要更新桌面应用。
    - 不要为了兼容旧版而随意给官方模型目录伪造字段。
    - 更新后重新运行验证命令。
    
    8. 最终验证
    
    必须确认:
    
    - 模型目录 JSON 可以正常解析。
    - 模型总数大于 0。
    - `use_responses_lite=true` 的数量为 0。
    - 当前模型存在于目录中。
    - 当前模型的 `use_responses_lite=false`。
    - `model_catalog_json` 路径存在且位置正确。
    - `codex features list` 成功执行。
    - 没有 `failed to parse model_catalog_json` 错误。
    
    不要为了测试而发送可能产生费用的模型 API 请求。
    
    9. 完成报告
    
    完成后告诉我:
    
    - 最新稳定 Codex tag。
    - 下载文件的官方地址。
    - Codex CLI 版本。
    - `$CODEX_HOME` 路径。
    - 实际修改的模型目录路径。
    - 修改了多少个 `use_responses_lite` 字段。
    - 当前模型名称。
    - 配置加载验证结果。
    - 备份文件路径。
    - 是否需要彻底退出并重新启动 Codex。
    
    请只做解决该问题所需的最小修改,并保留其他用户配置。
    
12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72122位seeker

🎉欢迎新用户🎉