本地 API Proxy: Anthropic / OpenAI Chat / Responses 互转,支持 DeepSeek

1 天前
 jazzenchen

最近在深度试用几家国产大模型,但几乎清一色都还是 OpenAI Chat Completions 接口,导致在较新的 Codex CLI 里没法直接用。

于是在开源工具 VibeAround 的命令行一键启动功能上,加了一个 local API proxy ,主要解决 coding agent 和模型 provider 之间 API 格式不一致的问题。

现在可以在 Anthropic Messages / OpenAI Chat Completions / OpenAI Responses 之间做转换和适配,比如把 Claude 模型跑到 Codex CLI 里,或者把 OpenAI 模型跑到 Claude Code 里。

这次重点是 DeepSeek 。

它除了 Chat -> Responses 之外,还需要额外处理 thinking/reasoning content 和 tool call 合并。虽说是 vibe 出来的功能,但确实花了不少 token 。

现在配置过的 provider profile 都可以通过 VibeAround 暴露成本地 endpoint ,给 Codex CLI / Claude Code 或者其他工具比如 Cursor 使用。

理论上 Kimi 、MiniMax 、Z.AI/GLM ,以及自定义 OpenAI-compatible Chat Completions 都支持。

项目地址: https://github.com/jazzenchen/VibeAround

1273 次点击
所在节点    程序员
11 条回复
jazzenchen
1 天前
比较好玩的是,在 Claude Code 里面跑着 openai/gpt-5.5 ,Codex CLI 里面挂着 anthropic/claude-opus-4.6 。

然后分别问它们: “你们里面都是啥模型?”

Claude Code 会老老实实回答: 我是 Claude Code ,但环境显示我由 openai/gpt-5.5 驱动。
但 Codex CLI 一脸认真地说: 我是 Codex ,模型是 GPT-5.5 。

也不知道是 Codex CLI 的系统提示词控制力强,还是 claude opus 的指令遵循能力更强?
longxk
1 天前
咦,这个不是 LiteLLM Proxy 做的事情吗?
jazzenchen
1 天前
@longxk 没错没错,不过我这个没那么重,本意是通过远程 IM 遥控 Codex / Claude 的时候,可以更灵活选择模型供应商,顺手就把这个能力给加上了。
xingheng
1 天前
embeding 模型怎么做的
sommio
1 天前
@longxk litellm 还没兼容 deepseek v4 ,我最近发个帖子讨论这个话题
cooli
18 小时 56 分钟前
厉害了,能解决新版本 Codex 接入 Aliyun Coding Plan 吧。
jazzenchen
16 小时 29 分钟前
@cooli 按说应该可以,但百炼的 Coding Plan 每次看都在补货,还没有实测过
chenzezeya
14 小时 44 分钟前
codex 的客户端可以支持吗
PowerDi
13 小时 27 分钟前
这个打开怎么是 agent 代理的工程,跟你说的是一个东西吗
jazzenchen
12 小时 58 分钟前
@chenzezeya codex 桌面应用要 codex 的改配置文件,工具里面开启 proxy 以后有说明,claude 也一样。codex cli 和 claude code 不需要改配置,我也不会去动原有的配置文件,直接从应用里启动就行了。
jazzenchen
12 小时 57 分钟前
@PowerDi 本地会起一个 web server ,用本地接口做中转,在 claude message / openai responses / openai chat 三种协议里做转换。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1210354

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX