【CodeGo】我们把CodeGo-Api开源啦!

blahblahblah 2026-07-25 21:33 1

首先感谢 New API 项目及其开源社区,为我提供了非常重要的基础和启发。


之前在这个帖子里提到过开源计划:



各位佬友好,CodeGo 正式来 L 站和大家见面了。
经过一段时间的测试和优化,我们决定正式入驻 L 站。新站肯定还有不足,希望大家体验后多提意见,一起交流。
这次准备了两项开站福利:

套餐首次购买 8 折,符合条件时结算页面自动显示折后价。
评论留下用户名或ID,免费送 1 个盲盒。

站点地址:https://shu26.cfd

已接入 LinuxDo 授权登录。

有问题…


现在 codego-api 已完成架构重构和公开版本整理,正式开源:



  • GitHub:GitHub - sh2001sh/CodeGo-Api · GitHub

  • 官网:https://shu26.cfd/

  • Docker Hub:s2644752646/codego-api - Docker Image


codego-apinew-api的基础上对整体运行架构和代码边界进行了一轮重新整理。


整体架构



+----------------------+

| control-api |

| 控制面:用户、认证、配置、审计 |

+-----------+----------+

|

+----------------v----------------+

| Shared Infrastructure |

| PostgreSQL / Redis / Temporal |

+------+------+-------------+-----+

| | |

| | |

+---------v--+ | +--------v---------+

| gateway-api| | | workflow-worker |

| 数据面 | | | Temporal 异步任务 |

+------+-----+ | +------------------+

| |

+-------v-------+ |

| Router / | |

| Provider | |

| Adapter | |

+-------+-------+ |

| |

+-------v-------+ |

| Provider APIs | |

| OpenAI... | |

+-------+-------+ |

| |

usage / settlement

|

+--------v---------+

| ledger-worker |

| 额度账本与结算一致性 |

+-------------------+


主要重构方向


1. 控制面与数据面分离




  • control-api:用户、认证、渠道、模型、权限、配置和审计




  • gateway-api:API 接入、鉴权、路由、Provider 适配和流式响应




管理请求和实际 API 请求不再完全耦合,控制台与 Gateway 可以独立扩展和部署。


2. Provider 适配与路由策略分离


Gateway 内部将以下职责拆开:



请求接入



路由选择 / 渠道选择



Provider Adapter



协议转换 / 流式响应



Provider API


新增 Provider 时主要扩展对应的 Adapter,不需要修改整个请求链路;路由池、Fallback、限流和渠道健康状态也可以独立演进。


3. 额度处理改为 Ledger + Worker


额度处理不再简单地在请求结束时直接修改余额,而是采用:



请求预扣



Provider 执行



记录用量证据



生成结算事件



ledger-worker 处理账本


通过账本、幂等结算和用量证据,降低并发请求下重复扣费、漏扣和状态不一致的风险。


4. 长任务独立到 Workflow Worker


长耗时任务、轮询任务和后台流程由 Temporal 管理,并交给独立的 workflow-worker 执行。


这样 API 进程不需要长时间等待后台任务,任务重试、超时、恢复和状态收敛更加清晰。


5. 审计和使用日志独立化


使用日志、用量统计、性能指标和审计读模型由独立的 audit 模块负责。


请求执行、账务结算和日志查询之间降低耦合,后续可以分别优化写入、投影和查询性能。


6. 后端按领域重新拆分



identity 用户、Token、认证和会话

adminops 控制面管理操作

gateway API 接入、路由和 Provider 执行

audit 使用日志、统计和审计

billing 额度账本和结算

commerce 订阅、充值和兑换码

workflow Temporal 工作流和任务

platform 数据库、缓存、安全和基础设施


这次重构带来的好处




  • 控制台和 API 请求可以独立扩展




  • Provider 扩展成本更低




  • 路由策略和协议适配互不干扰




  • API 请求、账务和异步任务之间故障隔离更清晰




  • 长任务不会阻塞 API 请求进程




  • 额度结算更容易保证一致性




  • 日志和审计查询可以独立优化




  • 更适合 Docker 和多 Worker 部署




  • 代码边界更清晰,后续维护和测试更方便




我们这次重构肯定离不开new-api这些前辈大佬的基础,项目目前还在持续更新中,如果有什么需要和问题也欢迎大家的反馈。

最新回复 (12)
  • ufhy 07-25 21:34
    1

    原来不是opencode go啊

  • chancat 07-25 22:04
    2

    注册了到 后台看起来不错,

    社区,悬赏 这些功能感觉得是用户量大的可能能用得到? 是否有开关可以开启/关闭 这些功能呢?

  • exboy 07-25 22:11
    3

    这个界面感觉做得很不错, 比我们公司的美工设计出的界面漂亮多了

  • blahblahblah 楼主 07-25 22:14
    4

    这些在我们网站由于还没人使用,不知道有没有什么bug,属于beta内容,还没加入到开源仓库里面

  • 💪 🎯 🚀 ☁️ 07-25 22:19
    5

    UI挺好看的,还有还有盲盒玩法和悬赏区,真不错

  • Chad Cerulli 07-25 22:28
    6

    先马后赞再用,希望越来越好用。感谢

  • 风不明 07-25 23:52
    7

    I’d Q49MVY 来试试

  • 野菜团 07-26 00:17
    8

    请求接入



    路由选择 / 渠道选择



    Provider Adapter



    协议转换 / 流式响应



    Provider API


    原来不是这样的架构吗?我咋记得是?

  • blahblahblah 楼主 07-26 09:26
    9

    有些我是单独拆出来了作为一个服务的

  • fox_skio 07-27 23:38
    10

    这就是佬友的实力吗 已经严肃star ^-^

  • misha 08-06 16:00
    11

    (帖子已被作者删除)

  • 52067x 08-07 07:11
    12

    佬昨天蹬了 今天打算支持一下,顺便参加一下活动

    ID P5UW2E
    •default

* 帖子来源Linux.do
返回