news 2026/7/4 0:34:56

用 responses-proxy 将 agnes-20-flash 接入原生 Codex:让免费 LLM 也能跑起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 responses-proxy 将 agnes-20-flash 接入原生 Codex:让免费 LLM 也能跑起来

最近在折腾原生 Codex 的模型接入时,遇到了一个比较典型的问题:

当前 Codex 主要支持wire_api = "responses"模式,而很多第三方 OpenAI 兼容服务只提供/v1/chat/completions接口,无法直接接入。

其中,agnes-20-flash是一个来自新加坡的免费 LLM 服务,官方提供了不少框架集成方案,但并没有针对原生 Codex 的直接接入教程。经过多次尝试各种中转方案后,最终发现可以通过开源项目responses-proxy完美解决这个问题。

本文就记录一下完整过程:如何使用responses-proxyagnes-20-flash接入原生 Codex,并顺带推荐一个更稳定、更适合长期使用的中转服务: 满意AI——https://api.aimanyi.top


一、背景:为什么 Codex 不能直接接第三方 OpenAI API?

很多第三方模型服务都会号称“兼容 OpenAI API”,但这里的“兼容”通常指的是兼容:

/v1/chat/completions

也就是传统的 Chat Completions API。

而现在的原生 Codex 更倾向于使用:

wire_api = "responses"

也就是 OpenAI 新的 Responses API 风格。

因此,即使第三方服务支持 OpenAI 格式,只要它没有实现/v1/responses,Codex 就无法直接调用。

这就导致一个问题:

  • 第三方 LLM 服务可以被 ChatGPT Web UI、Open WebUI、Cherry Studio、LiteLLM 等工具调用;
  • 但是原生 Codex 调用失败;
  • Codex 配置里的wire_api = "responses"又不能改成/v1/chat/completions模式;
  • 所以必须找一个中间层,把 Responses API 转换成 Chat Completions API。

这正是responses-proxy的价值所在。


二、方案选择:responses-proxy

项目地址:

https://github.com/CallOrRet/responses-proxy

responses-proxy的核心作用可以简单理解为:

在本地启动一个兼容/v1/responses的代理服务,然后将请求转发到后端的/v1/chat/completions接口。

也就是说:

Codex ↓ /v1/responses responses-proxy ↓ /v1/chat/completions agnes-20-flash

这样 Codex 仍然保持:

wire_api = "responses"

但是底层实际调用的是 agnes-20-flash 提供的 OpenAI Chat Completions 接口。


三、agnes-20-flash 简介

agnes-20-flash是 Agnes AI 提供的免费 LLM 服务,官方文档地址:

https://agnes-ai.com/zh-Hans/docs/agnes-20-flash

它的优点很明显:

  • 免费可用;
  • 提供 OpenAI 兼容接口;
  • 对国内外开发者都比较友好;
  • 适合做轻量级代码补全、对话、测试和原型验证;
  • 能接入多种常见 AI 客户端和框架。

但也有一些客观限制:

  • 免费服务不保证高可用;
  • 响应速度有时较慢;
  • 可能出现连接重试;
  • 高峰期偶尔会报错;
  • 在 Codex 中可能看到类似Reconnecting /5的提示。

不过作为一个免费模型,用来体验 Codex 的 agent 能力、测试工作流或者做轻度代码辅助,已经非常不错了。


四、准备工作

需要准备:

  1. Rust / Cargo 环境;
  2. agnes-20-flash 的 API Key;
  3. 原生 Codex;
  4. responses-proxy 项目代码;
  5. 一个可编辑的 Codex 配置文件。

如果你还没有 Rust 环境,可以参考官方安装方式:

curl--proto'=https'--tlsv1.2-sSfhttps://sh.rustup.rs|sh

安装完成后确认:

cargo--versionrustc--version

五、下载 responses-proxy 并构建

首先克隆项目:

gitclone https://github.com/CallOrRet/responses-proxy.gitcdresponses-proxy

然后构建:

cargobuild--release

如果只是测试,也可以直接使用:

cargorun--release

不过实际使用时,建议结合配置文件启动。


六、配置 responses-proxy

在项目目录下创建或修改config.yaml

配置内容需要根据 agnes-20-flash 官方文档提供的 OpenAI 兼容地址填写。整体思路如下:

server:host:"127.0.0.1"port:4000upstream:base_url:"https://你的-agnes-api地址/v1"api_key:"你的-agnes-api-key"model:"agnes-20-flash"

不同版本的responses-proxy配置字段可能略有区别,建议以项目 README 为准。核心参数一般包括:

  • 本地监听地址;
  • 本地监听端口;
  • 上游 API 地址;
  • 上游 API Key;
  • 默认模型名称。

假设 agnes-20-flash 的 OpenAI 兼容接口为:

https://api.agnes-ai.com/v1

那么可以类似这样配置:

server:host:"127.0.0.1"port:4000openai:base_url:"https://api.agnes-ai.com/v1"api_key:"sk-xxxxxx"model:"agnes-2.0-flash"

注意:如果Codex不认第三方模型名称的话,这里可以用别名进行替换:

models:gpt-5.4-mini:provider:base-url:https://apihub.agnes-ai.com/v1api_key:"sk-xxxxxx"timeout:60model:agnes-2.0-flash

这样codex中还保留gpt-5.4-mini一样可以调用到agnes-2.0-flash。

再次提醒:具体字段名称请以responses-proxy项目最新文档为准。这里只展示接入思路。


七、启动代理服务

配置完成后,在responses-proxy项目目录执行:

nohupcargorun--release----config./config.yaml&

如果你想先在前台观察日志,可以运行:

cargorun--release----config./config.yaml

正常情况下,服务会监听在:

http://127.0.0.1:4000

对应的 Codex 请求地址就是:

http://127.0.0.1:4000/v1

八、修改 Codex 配置

接下来修改 Codex 的配置文件。

通常位置可能是:

~/.codex/config.toml

或者你自己的 Codex 配置路径。

关键配置如下:

base_url = "http://127.0.0.1:4000/v1" wire_api = "responses"

重点是:

wire_api = "responses"

不要改。

因为 Codex 需要继续以 Responses API 模式运行,而responses-proxy会负责把它转换成上游支持的 Chat Completions 请求。

完整示例可以类似:

model = "agnes-20-flash" base_url = "http://127.0.0.1:4000/v1" wire_api = "responses" api_key = "dummy"

这里的api_key是否需要真实填写,取决于responses-proxy的实现方式。

有些代理会在本地忽略 Codex 传入的 key,直接使用配置文件里的上游 key;有些则会读取请求头转发。所以如果不确定,可以先填一个占位值:

api_key = "dummy"

真正的 agnes key 放到responses-proxyconfig.yaml里。


九、测试是否成功

启动代理后,可以直接运行 Codex:

codex

然后输入一些简单任务,例如:

请帮我写一个 Python 函数,实现快速排序。

如果配置正确,Codex 应该可以正常回复,并且responses-proxy终端中能看到请求日志。

可以看下我在code-server中链接的效果:


十、实际体验

经过测试,这套方案可以让原生 Codex 成功使用agnes-20-flash

整体链路如下:

Codex 原生 Responses 请求 ↓ 本地 responses-proxy ↓ OpenAI Chat Completions 格式请求 ↓ agnes-20-flash

体验上有几个特点:

1. 能用,而且接入成本不高

相比自己写适配层,responses-proxy省去了大量协议转换工作。只要 Rust 环境没问题,基本上下载、配置、启动即可。

2. 保持 Codex 原生配置

不需要魔改 Codex,也不需要改源码。

Codex 侧仍然是:

wire_api = "responses"

这点非常重要,因为 Codex 当前对 Responses API 的支持更完整。

3. 免费模型速度一般

agnes-20-flash是免费服务,所以速度不能和商业 API 相比。有时会出现响应慢、重连或者中断。

比较常见的情况是 Codex 显示:

Reconnecting /5

这通常不是responses-proxy的问题,而是上游免费模型服务响应不稳定或超时导致的。

4. 适合轻量使用

如果只是用来:

  • 测试 Codex;
  • 跑简单代码任务;
  • 写小脚本;
  • 做 prompt 调试;
  • 学习 agent 工作流;

那么agnes-20-flash + responses-proxy是一个很不错的免费组合。

但如果要高强度使用,尤其是长上下文、多文件修改、复杂代码重构,建议换更稳定的 API 服务。


十一、常见问题

1. Codex 提示连接失败怎么办?

先检查本地代理是否启动:

curlhttp://127.0.0.1:4000/v1/models

如果该接口不支持,也可以直接看responses-proxy日志是否有请求进入。

确认:

base_url = "http://127.0.0.1:4000/v1" wire_api = "responses"

不要写成:

base_url = "http://127.0.0.1:4000"

一般 Codex 需要包含/v1


2. 为什么已经配置了 API Key,还是鉴权失败?

检查两个地方:

第一,config.yaml中上游 key 是否正确:

api_key:"sk-xxxx"

第二,Codex 配置中是否需要填写 key:

api_key = "dummy"

如果代理要求从请求头读取 key,则 Codex 里也要配置真实 key。
如果代理自己从配置文件读取 key,则 Codex 里可以填占位 key。


3.Reconnecting /5是什么问题?

这通常表示 Codex 正在等待流式响应,但连接出现了中断或超时。

可能原因包括:

  • agnes 免费服务响应慢;
  • 上游服务负载较高;
  • 网络连接不稳定;
  • 流式输出被中途切断;
  • 请求内容过长;
  • 模型当前不可用。

解决方式:

  • 简化任务;
  • 减少上下文;
  • 重新发起请求;
  • 换一个更稳定的 API 服务;
  • 或使用下面推荐的中转服务。

十二、更稳定的选择:推荐 api.aimanyi.top

如果你希望获得更稳定、更快、更适合长期使用的 Codex 接入体验,可以考虑:

https://api.aimanyi.top/

相比免费模型服务,稳定的中转服务通常有这些优势:

  • 可用模型更多;
  • 响应速度更快;
  • 并发能力更好;
  • 流式输出更稳定;
  • 更适合 Codex 这类 agent 工具;
  • 长文本和代码任务成功率更高;
  • 具有专属codex令牌, 可避免频繁Reconnecting /5

对于 Codex 来说,模型服务的稳定性非常重要。因为 Codex 不只是普通聊天,它经常需要:

  • 读取文件;
  • 理解上下文;
  • 生成 patch;
  • 多轮工具调用;
  • 等待流式结果;
  • 执行复杂代码修改任务。

如果上游模型经常超时,体验会非常割裂。

因此,我个人建议:

  • 想免费体验:使用agnes-20-flash + responses-proxy
  • 想稳定日用:使用api.aimanyi.top这类更可靠的中转服务;
  • 想保持原生 Codex:仍然可以结合responses-proxy做协议适配。

也就是说,你可以把 upstream 从 agnes 切换成 aimanyi 的 OpenAI 兼容地址,Codex 侧配置保持不变:

base_url = "http://127.0.0.1:4000/v1" wire_api = "responses"

只需要修改responses-proxy的上游配置即可。


十三、总结

这次折腾的核心结论是:

原生 Codex 当前主要使用wire_api = "responses",而很多第三方 OpenAI 兼容 API 只支持/v1/chat/completions。要接入这些服务,需要一个 Responses API 到 Chat Completions API 的转换层。

responses-proxy正好解决了这个问题。

最终方案如下:

  1. 下载并构建responses-proxy
  2. config.yaml中配置 agnes-20-flash 的 API 地址、Key 和模型名;
  3. 启动代理:
nohupcargorun--release----config./config.yaml&
  1. 修改 Codex 配置:
base_url = "http://127.0.0.1:4000/v1" wire_api = "responses"
  1. 运行 Codex,即可使用 agnes-20-flash。

这套方案的优点是简单、开源、无需修改 Codex,缺点是免费模型速度和稳定性一般,可能出现Reconnecting /5

如果只是体验和轻度使用,agnes-20-flash 已经足够。
如果需要更稳定的 Codex 编程体验,可以考虑使用:

https://api.aimanyi.top/

配合responses-proxy,就能把更多 OpenAI 兼容模型接入原生 Codex。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 0:34:32

性价比高的小程序制作公司怎么选?价格、设计和售后对比

性价比高的小程序制作公司怎么选?价格、设计和售后对比性价比高的小程序制作公司,不是报价最低的公司,而是能在价格、设计、功能和售后之间取得平衡的方案。对中小企业来说,真正的性价比要看三年总成本:首年费用、页面…

作者头像 李华
网站建设 2026/6/27 4:17:00

PROFIBUS DP系统初始化详解

你好!作为视觉专家,我已仔细识别并解析了你上传的图片内容。这是一份名为“考前大作业”的试卷,包含两道综合应用题:第一题关于PROFIBUS DP工业自动化系统配置与分析,第二题关于智能电动汽车网络架构设计与协议选型。以…

作者头像 李华
网站建设 2026/6/27 4:10:36

【新手向】地文星CW32电压电流表——硬件设计

本项目参加了由CW32生态社区与立创开发板组织的电压电流表训练营活动,转发已征得原作者大道至简同意。 本项目所有资料已经开源,适合新手小白复刻学习。 https://oshwhub.com/zk272761180/learning-gewenxing-cw32f030c8t6- 产品展示视频:…

作者头像 李华
网站建设 2026/6/27 4:08:27

写在前面:为什么一个搞技术的会来聊鼻子?

作为一个长期伏案写代码的人,我的身体零件里最先报警的,不是颈椎,不是腰椎——是鼻子。大概从三四年前开始,每到春秋换季,鼻腔就像被人按下了“过敏开关”:鼻塞、鼻痒、打喷嚏打到怀疑人生,严重…

作者头像 李华
网站建设 2026/6/27 4:03:31

第34期 | RAG前端实现

第34期 | RAG前端实现 🎯 今天你将学会 理解 RAG(检索增强生成)的完整流程——不只是概念,是前端要实现什么实现知识库管理界面(上传文档 → 分片 → embedding → 存储)实现向量搜索交互(用户…

作者头像 李华