烧饼论坛 LZ.SB
登录

【开源自荐】一个更好的 Opencode2api 支持免费调用 OX-FREE x-preview-f-free

768
  • winnter
    UID 6821Lv.2 新手上路

    opencode 近期突然限制了在第三方 agent 使用 zen 的 key(free 模型) 进而使得我编写了这个程序

    opencode2api

    opencode2api 是一个使用 Go 编写的 OpenCode Zen / Zen Go 协议代理。它对外提供标准 OpenAI 与 Anthropic API,并自动添加 OpenCode 客户端请求头。

    主要功能:

    • 支持 OpenAI Chat Completions、Responses 和 Models API
    • 支持 Anthropic Messages API
    • 支持普通响应和 SSE 流式响应
    • 支持文本、图片、thinking/reasoning、工具定义、工具调用和工具结果转换
    • 分离配置 Zen key 池与 Zen Go key 池
    • 支持无需上游 key 的 Zen 匿名模式,免费模型先走匿名通道,失败后按 prefer 顺序回退 Zen/Go key
    • 按配置周期同步 Zen/Go /v1/models,并从 OpenCode models.opencode.ai/api.json 自动同步每个 Tier 的原生协议与不支持模型;不把模型 ID 硬编码在程序中
    • 每 24 小时从 models.dev 更新 OpenCode 成本与弃用信息;models.dev 零成本或名称含 free 任一条件即可判定免费
    • 模型同时存在于两个上游时按 prefer 配置排列 Go/Zen key 的首选与回退顺序(默认 Go)
    • 支持直连、HTTP、HTTPS、SOCKS5 和 SOCKS5H 代理
    • 支持从文本文件读取代理池,并与配置内的代理合并、去重
    • config.json 支持 ///* ... */ 注释
    • 将 key 自动均衡绑定到代理,保持连接亲和性
    • 使用稳定会话哈希保持同一会话的 key/proxy 亲和性,并在节点故障时自动回退
    • 代理失败后自动迁移绑定,key 失败后进行短时冷却
    • 根据真实上游流量识别代理故障,并每 15 分钟通过 Cloudflare trace 并行复查异常代理
    • 为不同会话生成不同的 OpenCode 会话 ID,并支持 x-opencode-sessionx-session-idconversation-id 显式指定会话
    • 内置独立端口 Field Manual WebUI,可管理配置、查看 Token / 上游指标、诊断路由、运行三协议 Playground 与订阅实时日志
    • WebUI 使用账号密码、服务端 session、HttpOnly Cookie、CSRF 与登录限速保护
    • WebUI 保存后原子写入配置并热切换 Gateway;无效配置不会影响当前流量

    项目地址:https://github.com/jasonxu114514/opencode2api

  • 收藏 1支持 1反对打赏

这些回帖亮了

  • 机箱漏电
    UID 6727Lv.3 初识社区
    亮了 13#1

  • john
    UID 3638Lv.4 渐入佳境
    亮了 13#2

    zen 套餐用着怎么样,划算吗

  • winnter
    UID 6821Lv.2 新手上路
    亮了 12#3

    @john #2 不推荐 zen zen 只推荐使用他们的免费 free 模型

  • winnter
    UID 6821Lv.2 新手上路
    亮了 12#4

    upup

  • Rela
    UID 5656Lv.1 初来乍到
    亮了 12#5

    全量实现吗,会不会维护难度太大,似乎做 cpa sub2api 的插件心智负担小一点

8 条回复

  • 机箱漏电
    UID 6727Lv.3 初识社区
    亮了 13#1

  • john
    UID 3638Lv.4 渐入佳境
    亮了 13#2

    zen 套餐用着怎么样,划算吗

  • winnter
    UID 6821Lv.2 新手上路
    亮了 12#3

    @john #2 不推荐 zen zen 只推荐使用他们的免费 free 模型

  • winnter
    UID 6821Lv.2 新手上路
    亮了 12#4

    upup

  • Rela
    UID 5656Lv.1 初来乍到
    亮了 12#5

    全量实现吗,会不会维护难度太大,似乎做 cpa sub2api 的插件心智负担小一点

  • mortician
    UID 6816Lv.3 初识社区
    #6

    开源项目不错

  • mortician
    UID 6816Lv.3 初识社区
    亮了 1#7

    开源项目不错

  • winnter
    UID 6821Lv.2 新手上路
    亮了 1#8

    @Rela #5 协议转换不是重点,重点维护是 opencode 客户端伪装注入和相关的

发表回复