[Bug] Codex 用 OpenCode Go/DeepSeek 等 openai-chat 供应商发消息被拒:tools[29].web_search unsupported
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 401
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: RipppppX
**客户端版本**: 0.1.43
---
## 现象
在 Cindy 中把 agent 设为 Codex、供应商选择「OpenCode Go」、模型 deepseek-v4-flash 后,发送任意消息都会立即失败,返回:
```
{"error":{"type":"invalid_request_error","code":"unsupported_feature","message":"Responses feature is not supported by the Chat Completions bridge: tools[29].web_search"}}
```
## 复现步骤
1. 新建会话,agent = Codex,供应商 = OpenCode Go,模型 = deepseek-v4-flash
2. 发送任意一条消息
3. 必现:每次发送都返回同样的错误(已连续验证多次)
## 期望行为
走 `wireProtocol = openai-chat`(Responses → Chat Completions 桥接)的第三方供应商应能正常对话。Codex 注入的 `web_search` 工具应当:在模型目录中声明为不支持搜索(从而不注入),或由桥接层静默剥离;而不是直接抛错导致整个会话不可用。
## 实际行为
请求在客户端内部 codex-proxy 层被拒绝,返回 400 `invalid_request_error / unsupported_feature`,会话完全不可用。
## 复现频率
100%(必现)。
## 已尝试
- 在 Codex 配置顶层加 `web_search = "disabled"`(含 ~/.codex 与客户端 codex-home 两处)→ 无效:客户端 app-server 会话不读取该配置,工具仍被注入并被桥接层拒绝。
## 初步定位(供参考)
客户端日志显示错误来自内部 codex-proxy 的 responses-chat bridge:转换工具列表时遇到 `web_search` 直接抛 `UnsupportedResponsesFeatureError`(消息形如 `tools[].web_search`)。OpenCode Go 供应商的 Codex 运行时配置为 `wireProtocol = "openai-chat"`、baseUrl 指向 opencode.ai。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN
Contributor guide
Research direction
Start in the codex-proxy responses-chat bridge described in the issue, focusing on conversion of the tool list for wireProtocol="openai-chat". Reproduce with the OpenCode Go and deepseek-v4-flash configuration, then verify that the web_search tool no longer causes a 400 rejection and the conversation can proceed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100