sh2001sh/CodeGo-Api
GitHub: sh2001sh/CodeGo-Api
CodeGo-Api 是一个采用控制面与数据面分离架构的 API 统一管理平台,解决团队对多家 AI 模型服务商的路由、访问控制、额度计费与用量审计问题。
Stars: 13 | Forks: 2
codego-api
面向团队与开发者的 API 统一管理平台
官网 · GitHub · Docker Hub
codego-api 用于集中管理 API provider、模型路由、访问策略、API keys、额度和使用审计。它强调控制面与数据面分离、独立 worker、可组合的 provider 适配器以及可验证的额度账本。 codego-api 是 API 统一管理平台,不是 API 中转站或 API 转售服务。部署方应确保已获得所接入 API、账号、密钥和模型服务的合法授权。 ## 核心能力 - **统一 API 接入**:提供 OpenAI Chat Completions、OpenAI Responses 等兼容接口,并支持 Claude、Gemini 及多种多模态能力。 - **Provider 与渠道管理**:集中维护 provider、渠道、模型映射、API keys、模型价格和可用状态。 - **路由与容错**:通过路由池、分组、fallback、限流和渠道健康状态控制请求流量。 - **访问控制**:管理用户、组织分组、API keys、权限、OAuth/Passkey 和安全策略。 - **用量与账本**:记录请求、错误、模型用量和运行状态;使用单一普通钱包、额度账本和幂等结算流程。 - **异步工作流**:使用 Temporal 和独立 workflow worker 处理长任务、轮询任务及可靠后台流程。 - **可观测与审计**:提供使用日志、配额统计、错误审计、性能指标和运维配置。 - **容器化部署**:control API、gateway API、workflow worker、ledger worker 和迁移工具可以独立部署。 ## 架构概览 +----------------------+ | control-api | | 管理、认证、配置、审计 | +----------+-----------+ | PostgreSQL / Redis | +----------+ +-----------v-----------+ +------------------+ | API 客户端 | ----> | gateway-api | ----> | Provider APIs | +----------+ | 路由、适配、流式响应 | | OpenAI/Claude/...| +-----------+-----------+ +------------------+ | 用量事件 / 结算事件 | +-----------v-----------+ | ledger-worker | | 额度、账本、结算一致性 | +------------------------+ +------------------------+ | workflow-worker | | Temporal 持久化工作流 | +------------------------+ ## 运行组件 | 组件 | 职责 | | --------------- | ----------------------------------------------------------------------- | | control-api | 控制面 API 和 Web 控制台,负责用户、渠道、模型、策略和审计配置。 | | gateway-api | 数据面 API,负责请求认证、模型路由、provider 适配、流式响应和用量记录。 | | workflow-worker | 执行 Temporal 工作流及长耗时、轮询型任务。 | | ledger-worker | 处理额度账本、结算事件和账本一致性。 | | db-migrate | 初始化数据库并执行版本迁移及审计读模型迁移。 | | v2-verify | 检查迁移、钱包账户、Token 账户、订阅账户、账本和待处理 outbox 事件。 | ## 快速开始 ### Docker Compose 生产 Compose 默认使用 Docker Hub 镜像: docker.io/s2644752646/codego-api git clone https://github.com/sh2001sh/CodeGo-Api.git cd CodeGo-Api cp .env.example .env 编辑 .env,Docker Compose 环境中的服务地址应使用 Compose 服务名: SQL_DSN=postgresql://codegoapi:replace-with-a-strong-password@postgres:5432/codegoapi REDIS_CONN_STRING=redis://redis:6379/0 TEMPORAL_HOSTPORT=temporal:7233 POSTGRES_PASSWORD=replace-with-a-strong-password SESSION_SECRET=replace-with-a-random-secret SQL_DSN 中的数据库密码必须与 POSTGRES_PASSWORD 保持一致。生产环境请替换为强密码和随机 SESSION_SECRET。 启动服务: docker compose pull docker compose up -d docker compose ps 控制台默认地址:标签:API管理, EVTX分析, Go, LLM网关, Ruby工具, SOC Prime, Temporal, 开发工具, 搜索引擎查询, 日志审计, 模型路由, 测试用例, 请求拦截