← 返回信息流
Agent SkillLINUX DO · AI·2026/5/6

开源逆向Codex APP语音接口,打造兼容Whisper的ASR工具

原标题:【开源】逆向 Codex APP ASR 搓了一个语音转写小工具,支持 Whisper 格式(Codex 实用小工具第二弹)

速览

该项目逆向了Codex APP的语音转写接口,封装为Rust CLI、本地REST服务及兼容OpenAI Whisper格式的API。支持并发压测稳定,可复用本地ChatGPT账号鉴权,并提供微信语音预处理功能。

AI 深度解读

背景

在 AI 应用生态中,语音转文字(ASR)是提升交互效率的关键环节。ChatGPT 的 Codex APP 内置了一个便捷的语音输入功能,但该功能仅对通过官方渠道登录(ChatGPT 账号或 OpenAI API Key)的用户开放,且未直接暴露为通用的 OpenAI Whisper API。对于希望利用 Codex APP 中高质量 ASR 能力,但又不想依赖第三方中转 Provider 或希望复用本地已登录账号的用户来说,缺乏一个标准化的调用接口是一个痛点。

此外,微信语音等常见音频格式(如 .silk)在直接上传至通用 ASR 服务时往往存在兼容性障碍。针对这一需求,开发者 Wangnov 逆向工程了 Codex APP 的后端语音转录接口,并开源了一款名为 codex-asr 的工具。该项目旨在将这一私有接口封装为易于使用的 CLI 工具、Rust Crate 以及兼容 OpenAI Whisper 风格的本地 REST API,从而让用户能够以更低成本、更高稳定性地获取高质量的语音转写服务。

核心内容

codex-asr 是一个基于 Rust 开发的开源工具,其核心原理是逆向分析 Codex APP 的语音输入流程。当用户在 Codex APP 中点击语音输入时,应用会将录音上传至后端接口 https://chatgpt.com/backend-api/transcribe 并返回转写文本。该接口并非标准的 OpenAI Whisper API,而是 Codex APP 内部使用的后端服务,但其底层质量被认为基于 Whisper 技术,且稳定性较高。

项目提供了多种使用形态,以适应不同场景的需求:

  1. Rust CLI 工具:支持直接在命令行中运行,例如 codex-asr audio.wav,即可将本地音频文件上传并获取文本结果。
  2. Rust Crate:提供库文件,方便其他 Rust 项目直接集成调用。
  3. 本地 REST Server:通过 codex-asr serve 启动本地服务,暴露兼容 OpenAI Whisper 风格的 API 接口。这使得原本依赖 Whisper API 的应用(如龙虾等客户端)只需修改 base_url 即可接入此服务。
  4. 微信语音预处理:针对微信语音常见的 .silk 格式,项目集成了对 rust-silk(另一个开源项目)的调用。codex-asr 会先调用外部解码器将 .silk 转换为 WAV 格式,再上传至 Codex 接口。

在鉴权机制上,codex-asr 默认读取本机 Codex 的认证文件($CODEX_HOME/auth.json~/.codex/auth.json),复用用户已登录的 ChatGPT 账号 Token。用户也可以手动传入 Access Token 进行鉴权。为了安全起见,本地服务默认绑定 127.0.0.1,并要求设置本地 API Key,严禁将未保护的服务暴露至公网。

安装方式多样,支持 Homebrew、cargo-binstall、cargo install、GitHub Release 安装脚本、Docker (GHCR) 以及直接下载二进制文件。支持的音频格式包括 WAV PCM、MP3、M4A/MP4 AAC、FLAC、Ogg Opus、WebM Opus 等。需要注意的是,由于上游接口限制,该服务不支持返回带时间戳的 SRT 或 VTT 格式。

关键要点

  • 接口逆向与复用:项目逆向了 Codex APP 的内部转录接口 https://chatgpt.com/backend-api/transcribe,实现了非官方但高质量的语音转写能力,且无需依赖第三方中转 Provider。
  • Whisper 兼容层:通过封装 REST API,模拟 OpenAI Whisper 的接口风格(支持 POST /v1/audio/transcriptions 等路由),使得现有支持 Whisper 格式的客户端和脚本可以无缝迁移或试用。
  • 多形态交付:提供 CLI、Rust Crate、本地 Server 三种主要形态,兼顾了开发者集成、脚本自动化调用以及桌面端应用对接的需求。
  • 微信语音支持:内置对 .silk/.slk 格式的预处理支持,通过调用 rust-silk 解码器解决微信语音格式不兼容问题,扩展了适用场景。
  • 高并发稳定性:作者进行了并发压测,显示在 96 并发下服务依然稳定,证明了其作为免费(或订阅制)ASR 替代方案的可行性。
  • 安全警示
    • 默认使用本地认证文件,不主动刷新或写入 Auth 信息。
    • 默认绑定 localhost,强制要求本地 API Key 鉴权。
    • 严禁将服务暴露至公网,若需 Docker 部署,建议使用 Caddy 等反向代理并配置 HTTPS 及应用层鉴权。
  • 局限性:不支持返回时间戳(SRT/VTT),因为上游接口本身不提供该信息;仅支持通过官方渠道登录的账号,中转 Provider 账号无法使用此功能。

意义与影响

codex-asr 的出现为 AI 开发者和个人用户提供了一种低成本、高稳定性的 ASR 解决方案。对于拥有 ChatGPT 订阅服务的用户而言,该工具使得 Codex APP 中优质的语音转写能力得以被更广泛地复用,打破了应用间的壁垒。

从技术生态角度看,该项目展示了逆向工程在填补 API 空白方面的实用价值。通过构建兼容层,它成功将封闭的内部接口转化为开放的、标准化的服务,降低了其他应用接入高质量 ASR 的门槛。同时,项目对微信语音格式的专门处理,也体现了对特定区域用户习惯的细致考量。

然而,该项目也带来了潜在的安全风险。由于依赖于用户的个人登录 Token,若部署不当(如暴露公网),可能导致账号被盗用或产生意外的 API 调用费用。因此,作者在文档中反复强调安全配置的重要性,这也提醒了社区在使用此类逆向工具时,必须严格遵循最小权限原则和本地化部署规范。总体而言,这是开源社区利用现有资源优化工作流的一个典型案例,丰富了 Codex 周边的工具生态。

查看原文 →linux.do