claude-code-router
claude-code-router copied to clipboard
功能需求: 添加对 OpenAI Responses API 的支持
🌠 需求描述
我希望在 claude-code-router 中启用更强大的 OpenAI Responses API,从而能够使用以下工具:
- web_search_preview(网页搜索)
- file_search(文件搜索)
- MCP 服务器调用
https://platform.openai.com/docs/quickstart?api-mode=responses https://platform.openai.com/docs/api-reference/responses
我主要使用 o4-mini,希望能够在启用上述搜索功能的 o4-mini 模型上进行编码,进一步增强在线搜索与文档检索能力。 https://platform.openai.com/docs/guides/tools-web-search
🌠 解决方案
-
API 调用方式变更 将现有的
openai.chat.completions.create(req.body)替换为
client.responses.create({ model: "o4-mini", input: prompt, stream: true, tools: [{ type: "web_search_preview" }, { type: "file_search" }, /* ... */], }); -
请求格式转换
messages→input- 增加
instructions参数 - 适配
tools列表的传入格式
-
响应流处理改造
- 现有的
streamOpenAIResponse需支持response.output_text.delta、response.output_text.done事件 - 重写工具调用(tool_calls)和文本拼接逻辑
- 现有的
🌠 补充信息
-
详细参考(DeepWiki): https://deepwiki.com/search/-openai-sdk-chatcompletionscre_d6ea605f-b6b5-4704-8fe4-c7f2b5d9c5e3
-
迁移成本估算:
- API 调用替换:0.5 天
- 流式处理重写:1–1.5 天
- 格式转换中间件调整:0.5–1 天
-
技术风险:中等,需要验证新 API 的稳定性及现有插件兼容性
感觉可以提个PR
明白了。如果能够做出一个简单的概念验证,我会先以草稿形式提交一个 PR。我不太擅长编码,所以如果由其他开发者来编写代码,我就寄希望于他们。
将附件代码保存为.claude-code-router/plugins/responses-api.js
并在.claude-code-router/config.json中对应api处引用,即可
引用示例如下
{
"API_TIMEOUT_MS": 600000,
"LOG": true,
"Providers": [
{
"name": "codex-responses",
"api_base_url": "https://sample.url/openai/v1/responses",
"api_key": "$OPENAI_API_KEY",
"models": ["gpt-5-codex"],
"transformer": {
"use": ["responses-api"]
}
}
],
"transformers": [
{
"path": "/home/youruser/.claude-code-router/plugins/responses-api.js"
}
],
"Router": {
"default": "codex-responses,gpt-5-codex"
}
}
(代码由codex编写) (有些问题还没有解决,比如编辑文件还不能用,还在修改中)
更新并发布在我的仓库里了,编辑文件等工具使用也修复了。目前使用没发现问题 https://github.com/xlbljz/ccr-plugin-openai-res