本地 API Proxy: Anthropic / OpenAI Chat / Responses 互转,支持 DeepSeek - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
jazzenchen

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

  •  
  •   jazzenchen
    jazzenchen 6 days ago 1789 views

    最近在深度试用几家国产大模型,但几乎清一色都还是 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

    14 replies    2026-05-08 17:35:11 +08:00
    jazzenchen
        1
    jazzenchen  
    OP
       6 days ago
    比较好玩的是,在 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
        2
    longxk  
       6 days ago
    咦,这个不是 LiteLLM Proxy 做的事情吗?
    jazzenchen
        3
    jazzenchen  
    OP
       6 days ago
    @longxk 没错没错,不过我这个没那么重,本意是通过远程 IM 遥控 Codex / Claude 的时候,可以更灵活选择模型供应商,顺手就把这个能力给加上了。
    xingheng
        4
    xingheng  
       6 days ago
    embeding 模型怎么做的
    sommio
        5
    sommio  
       6 days ago via Android
    @longxk litellm 还没兼容 deepseek v4 ,我最近发个帖子讨论这个话题
    cooli
        6
    cooli  
       5 days ago
    厉害了,能解决新版本 Codex 接入 Aliyun Coding Plan 吧。
    jazzenchen
        7
    jazzenchen  
    OP
       5 days ago
    @cooli 按说应该可以,但百炼的 Coding Plan 每次看都在补货,还没有实测过
    chenzezeya
        8
    chenzezeya  
       5 days ago
    codex 的客户端可以支持吗
    PowerDi
        9
    PowerDi  
       5 days ago
    这个打开怎么是 agent 代理的工程,跟你说的是一个东西吗
    jazzenchen
        10
    jazzenchen  
    OP
       5 days ago
    @chenzezeya codex 桌面应用要 codex 的改配置文件,工具里面开启 proxy 以后有说明,claude 也一样。codex cli 和 claude code 不需要改配置,我也不会去动原有的配置文件,直接从应用里启动就行了。
    jazzenchen
        11
    jazzenchen  
    OP
       5 days ago
    @PowerDi 本地会起一个 web server ,用本地接口做中转,在 claude message / openai responses / openai chat 三种协议里做转换。
    jiaqiliu
        12
    jiaqiliu  
       4 days ago
    用 Chat -> Responses 的话, 是不是只能给 codex cli 用? 支持 codex 桌面版吗?
    jazzenchen
        13
    jazzenchen  
    OP
       4 days ago via iPhone
    @jiaqiliu deepseek 还不行,只能给 codex cli 用,这里不是简单转一个请求的问题,deepseek 要求装填历史思考内容,面向桌面端实现起来会比较麻烦。
    slowman
        14
    slowman  
       3 days ago
    profile 'custom-xxx' cannot launch 'claude'
    十分令人困惑
    About     Help     Advertise     Blog     API     FAQ     Solana     1223 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 23:31 PVG 07:31 LAX 16:31 JFK 19:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86