cnlimiter/codex-managerPublic

AI summary: A centralized management system for deploying and monitoring AI coding assistants.

Stars
2K
+1 today
Forks
744
Watchers
4
Open issues
25
Open PRs
1
Contributors
~13
Commits
186
Branches
3

PythonMITCreated Mar 15, 2026Last push 4mo agoLatest release v1.1.3+1 stars this week+1 this month

Star history

since Mar 15, 2026
05001K1.5K2KMar 2026May 2026Jun 2026Aug 2026
2K stars as of Aug 7, 2026, tracked back to Mar 15, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-02: 0 commits2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 0 commits2025-08-06: 0 commits2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 0 commits2025-08-13: 0 commits2025-08-14: 0 commits2025-08-15: 0 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 0 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 0 commits2025-09-06: 0 commits2025-09-07: 0 commits2025-09-08: 0 commits2025-09-09: 0 commits2025-09-10: 0 commits2025-09-11: 0 commits2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 0 commits2025-09-24: 0 commits2025-09-25: 0 commits2025-09-26: 0 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 5 commits2026-03-15: 20 commits2026-03-16: 19 commits2026-03-17: 6 commits2026-03-18: 13 commits2026-03-19: 10 commits2026-03-20: 13 commits2026-03-21: 11 commits2026-03-22: 2 commits2026-03-23: 15 commits2026-03-24: 9 commits2026-03-25: 2 commits2026-03-26: 10 commits2026-03-27: 10 commits2026-03-28: 6 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 0 commits2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
151 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What codex-manager does

Codex-manager provides a unified dashboard and API for managing fleets of AI coding assistants across an organization. It tracks usage metrics, manages API keys, and enforces access controls for different development teams. The system aggregates telemetry data to optimize prompt efficiency and monitor model performance. It simplifies the administrative overhead of deploying AI tools at scale.

Engineering managers and IT administrators overseeing AI tool deployments. Familiarity with enterprise software management is useful.

  • Centralized Dashboard: Provides a single pane of glass for monitoring AI assistant usage.
  • API Key Management: Securely stores, rotates, and provisions API keys for developers.
  • Usage Analytics: Tracks tokens used, query success rates, and latency metrics.
  • Access Control: Enforces role-based permissions for different models and features.
  • Cost Optimization: Highlights inefficient usage patterns to help reduce API expenses.

Where teams use it

Enterprise AI Deployment

Rolling out coding assistants to hundreds of developers securely.

Cost Tracking

Monitoring and attributing AI API costs to specific teams or projects.

Performance Monitoring

Ensuring the AI models provide fast and accurate responses to developers.

Security Compliance

Auditing AI usage to ensure compliance with internal security policies.

Getting started: docker-compose up -d

README

master branch

OpenAI 账号管理系统 v2

管理 OpenAI 账号的 Web UI 系统,支持多种邮箱服务、并发批量注册、代理管理和账号管理。

官方拉闸了,改变了授权流程,各位自行研究吧

⚠️ 免责声明:本工具仅供学习和研究使用,使用本工具产生的一切后果由使用者自行承担。请遵守相关服务的使用条款,不要用于任何违法或不当用途。 如有侵权,请及时联系,会及时删除。

License: MIT Python

功能特性

  • 多邮箱服务支持

    • Tempmail.lol(临时邮箱,无需配置)
    • Outlook(IMAP + XOAUTH2,支持批量导入)
    • 自定义域名(两种子类型)
      • MoeMail:标准 REST API,配置 API 地址 + API 密钥
      • TempMail:自部署 Cloudflare Worker 临时邮箱,配置 Worker 地址 + Admin 密码
    • DuckMail
      • DuckMail API:兼容 DuckMail 接口,手动填写 API 地址、默认域名,可选 API Key
  • 注册模式

    • 单次注册
    • 批量注册(可配置数量和间隔时间)
    • Outlook 批量注册(指定账户逐一注册)
  • 并发控制

    • 流水线模式(Pipeline):每隔 interval 秒启动新任务,限制最大并发数
    • 并行模式(Parallel):所有任务同时提交,Semaphore 控制最大并发
    • 并发数可在 UI 自定义(1-50)
    • 日志混合显示,带 [任务N] 前缀区分
  • 实时监控

    • WebSocket 实时日志推送
    • 跨页面导航后自动重连
    • 降级轮询备用方案
  • 代理管理

    • 动态代理(通过 API 每次获取新 IP)
    • 代理列表(随机选取,支持设置默认代理,记录使用时间)
  • 账号管理

    • 查看、删除、批量操作
    • Token 刷新与验证
    • 订阅状态管理(手动标记 / 自动检测 plus/team/free)
    • 导出格式:JSON / CSV / CPA 格式 / Sub2API 格式
      • 单个账号导出为独立 .json 文件
      • 多个 CPA 账号打包为 .zip,每个账号一个独立文件
      • Sub2API 格式所有账号合并为单个 JSON
    • Codex Auth 格式需先在账号管理中手动执行 Codex Auth 登录 成功后才能导出
    • 上传目标(直连不走代理):
      • CPA:支持多服务配置,上传时选择目标服务,可按服务开关将账号实际代理写入 auth file 的 proxy_url
      • Sub2API:支持多服务配置,标准 sub2api-data 格式
      • Team Manager:支持多服务配置
  • 支付升级

    • 为账号生成 ChatGPT Plus 或 Team 订阅支付链接
    • 后端命令行以无痕模式自动打开 Chrome/Edge
    • Team 套餐支持自定义工作区名称、座位数、计费周期
  • 系统设置

    • 代理配置(动态代理 + 代理列表,支持设默认)
    • CPA 服务列表管理(多服务,连接测试)
    • Sub2API 服务列表管理(多服务,连接测试)
    • Team Manager 服务列表管理(多服务,连接测试)
    • Outlook OAuth 参数
    • 注册参数(超时、重试、密码长度等)
    • 验证码等待配置(超时时间、轮询间隔、收件箱未找到时最多重发次数)
    • 数据库管理(备份、清理)
    • 支持远程 PostgreSQL

快速开始

环境要求

  • Python 3.10+
  • uv(推荐)或 pip

安装依赖

# 使用 uv(推荐)
uv sync

# 或使用 pip
pip install -r requirements.txt

环境变量配置(可选)

复制 .env.example.env,按需填写:

cp .env.example .env
变量 说明 默认值
APP_HOST 监听主机 0.0.0.0
APP_PORT 监听端口 15555
APP_ACCESS_PASSWORD Web UI 访问密钥 admin123
APP_DATABASE_URL 数据库连接字符串 data/database.db

优先级:命令行参数 > 环境变量(.env)> 数据库设置 > 默认值

修改端口

默认端口是 15555。现在已经收敛到少数几个固定入口:

  • 本地临时启动改端口:直接用 python webui.py --port 18080
  • 本地通过 .env 改端口:设置 APP_PORT=18080
  • 源码里的默认端口:修改 src/config/constants.py 里的 DEFAULT_WEBUI_PORT
  • Docker Compose 默认端口:修改 docker-compose.yml 顶部的 x-webui-port
  • Docker 镜像构建默认端口:修改 Dockerfile 里的 ARG DEFAULT_WEBUI_PORT

补充说明:

  • src/config/constants.pyDEFAULT_WEBUI_PORT 会同时影响默认 Web UI 端口、默认回调地址和 e2e 脚本默认地址。
  • docker-compose.yml 里已经把端口映射、容器内 WEBUI_PORT 和健康检查统一绑到同一个 x-webui-port,改一处就够。

启动 Web UI

# 默认启动(0.0.0.0:15555)
python webui.py

# 指定地址和端口
python webui.py --host 0.0.0.0 --port 8080

# 调试模式(热重载)
python webui.py --debug

# 设置 Web UI 访问密钥
python webui.py --access-password mypassword

# 组合参数
python webui.py --host 0.0.0.0 --port 8080 --access-password mypassword

--access-password 优先级高于数据库中保存的密钥设置,每次启动时生效。打包后的 exe 同样支持此参数:

codex-register.exe --access-password mypassword

Docker 部署

项目支持通过 Docker 进行容器化部署。Docker 镜像已托管至 GitHub Container Registry (GHCR)。

使用 docker-compose (推荐)

在项目根目录下,直接使用 docker-compose 启动:

docker-compose up -d

你可以在 docker-compose.yml 中修改相关的环境变量,例如配置端口或者设置 WEBUI_ACCESS_PASSWORD 访问密码。

如果要修改 Docker Compose 对外端口,直接改文件顶部这一行即可:

x-webui-port: &webui-port 15555

这一个值会同时同步到:

  • 宿主机端口映射
  • 容器内 WEBUI_PORT
  • 健康检查访问地址

直接使用 docker run

如果你不想使用 docker-compose,也可以直接拉取并运行镜像:

docker run -d \
  -p 15555:15555 \
  -e WEBUI_HOST=0.0.0.0 \
  -e WEBUI_PORT=15555 \
  -e WEBUI_ACCESS_PASSWORD=your_secure_password \
  -v $(pwd)/data:/app/data \
  --name codex-register \
  ghcr.io/yunxilyf/codex-register:latest

环境变量说明:

  • WEBUI_HOST: 监听的主机地址 (默认 0.0.0.0)
  • WEBUI_PORT: 监听的端口 (默认 15555)
  • WEBUI_ACCESS_PASSWORD: 设置 Web UI 的访问密码
  • DEBUG: 设为 1true 开启调试模式
  • LOG_LEVEL: 日志级别,如 info, debug

注意-v $(pwd)/data:/app/data 挂载参数非常重要,它确保了你的数据库文件和账户信息在容器重启或更新后不会丢失。

如果你要把容器端口改成 18080-pWEBUI_PORT 需要一起改:

docker run -d \
  -p 18080:18080 \
  -e WEBUI_HOST=0.0.0.0 \
  -e WEBUI_PORT=18080 \
  -e WEBUI_ACCESS_PASSWORD=your_secure_password \
  -v $(pwd)/data:/app/data \
  --name codex-register \
  ghcr.io/yunxilyf/codex-register:latest

使用远程 PostgreSQL

通过环境变量指定数据库连接字符串:

export APP_DATABASE_URL="postgresql://user:password@host:5432/dbname"
python webui.py

也支持 DATABASE_URL,优先级低于 APP_DATABASE_URL

启动后访问 http://127.0.0.1:15555

打包为可执行文件

# Windows
build.bat

# Linux/macOS
bash build.sh

打包后生成 codex-register.exe(Windows)或 codex-register(Unix),双击或直接运行即可,无需安装 Python 环境。

项目结构

codex-register-v2/
├── webui.py            # Web UI 入口
├── build.bat           # Windows 打包脚本
├── build.sh            # Linux/macOS 打包脚本
├── src/
│   ├── config/         # 配置管理(Pydantic Settings)
│   ├── core/
│   │   ├── openai/     # OAuth、Token 刷新、支付核心
│   │   └── upload/     # CPA / Sub2API / Team Manager 上传模块
│   ├── database/       # 数据库(SQLAlchemy + SQLite/PostgreSQL)
│   ├── services/       # 邮箱服务实现
│   └── web/
│       ├── app.py      # 应用入口、路由挂载
│       ├── task_manager.py  # 任务/日志/WebSocket 管理
│       └── routes/     # API 路由
│           └── upload/ # CPA / Sub2API / TM 服务管理路由
├── templates/          # Jinja2 HTML 模板
├── static/             # 静态资源(CSS / JS)
└── data/               # 运行时数据目录(数据库、日志)

技术栈

层级 技术
Web 框架 FastAPI + Uvicorn
数据库 SQLAlchemy + SQLite / PostgreSQL
模板引擎 Jinja2
HTTP 客户端 curl_cffi(浏览器指纹模拟)
实时通信 WebSocket
并发 asyncio Semaphore + ThreadPoolExecutor
前端 原生 JavaScript(无框架)
打包 PyInstaller

API 端点

注册任务

方法 路径 说明
POST /api/registration/start 启动注册任务
GET /api/registration/tasks 任务列表
GET /api/registration/tasks/{uuid}/logs 任务日志
POST /api/registration/tasks/{uuid}/cancel 取消任务
GET /api/registration/available-services 可用邮箱服务

账号管理

方法 路径 说明
GET /api/accounts 账号列表(支持分页、筛选、搜索)
GET /api/accounts/{id} 账号详情
PATCH /api/accounts/{id} 更新账号(状态/cookies)
DELETE /api/accounts/{id} 删除账号
POST /api/accounts/batch-delete 批量删除
POST /api/accounts/export/json 导出 JSON
POST /api/accounts/export/csv 导出 CSV
POST /api/accounts/export/cpa 导出 CPA 格式(单文件或 ZIP)
POST /api/accounts/export/sub2api 导出 Sub2API 格式
POST /api/accounts/{id}/refresh 刷新 Token
POST /api/accounts/batch-refresh 批量刷新 Token
POST /api/accounts/{id}/validate 验证 Token
POST /api/accounts/batch-validate 批量验证 Token
POST /api/accounts/{id}/upload-cpa 上传单账号到 CPA
POST /api/accounts/batch-upload-cpa 批量上传到 CPA
POST /api/accounts/{id}/upload-sub2api 上传单账号到 Sub2API
POST /api/accounts/batch-upload-sub2api 批量上传到 Sub2API

支付升级

方法 路径 说明
POST /api/payment/generate 生成 Plus/Team 支付链接
POST /api/payment/open 后端无痕模式打开浏览器
POST /api/payment/accounts/{id}/mark-subscription 手动标记订阅类型
POST /api/payment/accounts/batch-check-subscription 批量检测订阅状态
POST /api/payment/accounts/{id}/upload-tm 上传单账号到 Team Manager
POST /api/payment/accounts/batch-upload-tm 批量上传到 Team Manager

邮箱服务

方法 路径 说明
GET /api/email-services 服务列表
POST /api/email-services 添加服务
PATCH /api/email-services/{id} 更新服务
DELETE /api/email-services/{id} 删除服务
POST /api/email-services/{id}/test 测试服务
POST /api/email-services/outlook/batch-import 批量导入 Outlook

上传服务管理

方法 路径 说明
GET/POST /api/cpa-services CPA 服务列表/创建
PUT/DELETE /api/cpa-services/{id} 更新/删除 CPA 服务
POST /api/cpa-services/{id}/test 测试 CPA 连接
GET/POST /api/sub2api-services Sub2API 服务列表/创建
PUT/DELETE /api/sub2api-services/{id} 更新/删除 Sub2API 服务
POST /api/sub2api-services/{id}/test 测试 Sub2API 连接
GET/POST /api/tm-services Team Manager 服务列表/创建
PUT/DELETE /api/tm-services/{id} 更新/删除 TM 服务
POST /api/tm-services/{id}/test 测试 TM 连接

设置

方法 路径 说明
GET /api/settings 获取所有设置
POST /api/settings/proxy/dynamic 更新动态代理设置
GET/POST/DELETE /api/settings/proxies 代理列表管理
POST /api/settings/proxies/{id}/set-default 设为默认代理
GET /api/settings/database 数据库信息

WebSocket

路径 说明
ws://host/api/ws/logs/{uuid}

Docker 部署

环境要求

  • Docker
  • Docker Compose

快速部署

# 克隆项目
git clone https://github.com/cnlimiter/codex-register.git
cd codex-register

# 启动服务
docker-compose up -d

服务启动后访问 http://localhost:15555

配置说明

端口映射:默认 15555 端口,修改 docker-compose.yml 顶部的 x-webui-port 即可。

数据持久化

volumes:
  - ./data:/app/data
  - ./logs:/app/logs

环境变量配置

environment:
  WEBUI_ACCESS_PASSWORD: mypassword
  WEBUI_HOST: 0.0.0.0
  WEBUI_PORT: 15555

常用命令

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

# 重新构建
docker-compose build --no-cache

注意事项

  • 首次运行会自动创建 data/ 目录和 SQLite 数据库
  • 所有账号和设置数据存储在 data/register.db
  • 日志文件写入 logs/ 目录
  • 代理优先级:动态代理 > 代理列表(随机/默认) > 直连
  • CPA / Sub2API / Team Manager 上传始终直连,不走代理;其中 CPA 可选把账号记录的代理写入 auth file 的 proxy_url
  • 注册时自动随机生成用户名和生日(年龄范围 18-45 岁)
  • 验证码重发:收件箱超时未获取到验证码时,自动重新发送验证码并再次轮询,最多重发次数可在「验证码配置」中设置(默认 2 次,设为 0 禁用)
  • 支付链接货币与计费国家动态对应,从 ChatGPT API 实时获取国家/货币列表(缓存 7 天),不再受限于内置静态映射表
  • 支付链接生成使用账号 access_token 鉴权,走全局代理配置
  • 无痕打开支付页默认调用系统 Chrome/Edge 的隐私模式
  • 订阅状态自动检测调用 chatgpt.com/backend-api/me,走全局代理
  • 批量注册并发数上限为 50,线程池大小已相应调整

License

MIT

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

14 total
  1. v1.1.3v1.1.3Mar 28, 20261.1K downloads

    ## OpenAI 账号管理系统 v2 ### 下载说明 | 平台 | 文件 | |------|------| | Windows x64 | `codex-register-v2-windows-x64.exe` | | Linux x64 | `codex-register-v2-linux-x64` | | macOS ARM64 | `codex-register-v2-macos-arm64` | ### 使用方法 ```bash # Linux/macOS 需要先赋予执行权限 chmod +x codex-register-* # 启动 Web UI ./codex-register # 指定端口 ./codex-register --port 8080 # 调试模式(热重载) ./codex-register --debug # 设置 Web UI 访问密钥 ./codex-register --access-password mypassword ``` ## What's Changed * feat: 支持 cloud-mail 自部署邮箱服务 by @ZHOUKAILIAN in https://github.com/cnlimiter/codex-manager/pull/105 * fix: validate NEWAPI token input across UI and API by @MisonL in https://github.com/cnlimiter/codex-manager/pull/109 * fix: 修复导入邮箱和现有账号场景下重复命中旧验证码的问题 by @ZHOUKAILIAN in https://github.com/cnlimiter/codex-manager/pull/106 * fixbug: 在 f-string 中统一使用单引号替代双引号,避免嵌套引号问题 by @hhhaiai in https://github.com/cnlimiter/codex-manager/pull/111 ## New Contributors * @hhhaiai made their first contribution in https://github.com/cnlimiter/codex-manager/pull/111 **Full Changelog**: https://github.com/cnlimiter/codex-manager/compare/v1.1.2...v1.1.3

  2. v1.1.2v1.1.2Mar 25, 2026316 downloads

    ## OpenAI 账号管理系统 v2 ### 下载说明 | 平台 | 文件 | |------|------| | Windows x64 | `codex-register-v2-windows-x64.exe` | | Linux x64 | `codex-register-v2-linux-x64` | | macOS ARM64 | `codex-register-v2-macos-arm64` | ### 使用方法 ```bash # Linux/macOS 需要先赋予执行权限 chmod +x codex-register-* # 启动 Web UI ./codex-register # 指定端口 ./codex-register --port 8080 # 调试模式(热重载) ./codex-register --debug # 设置 Web UI 访问密钥 ./codex-register --access-password mypassword ``` ## What's Changed * feat: support proxy_url in CPA auth files by @starsalwaysineyes in https://github.com/cnlimiter/codex-manager/pull/51 * fix: 修复 OAuth token 刷新一次性令牌报错及批量验证卡死问题 by @yunxilyf in https://github.com/cnlimiter/codex-manager/pull/53 * Fix template rendering with Starlette 1.0 by @magisk317 in https://github.com/cnlimiter/codex-manager/pull/72 * fix: consolidated protocol restoration, playwright removal and port conflict fix by @MisonL in https://github.com/cnlimiter/codex-manager/pull/78 * fix: avoid reading six-digit email domains as OTPs by @ZHOUKAILIAN in https://github.com/cnlimiter/codex-manager/pull/83 * feat(newapi): 上传目标支持 newApi 接入 by @asasugar in https://github.com/cnlimiter/codex-manager/pull/89 * feat: add Codex au

  3. v1.1.1v1.1.1Mar 22, 202666 downloads

    ## OpenAI 账号管理系统 v2 ### 下载说明 | 平台 | 文件 | |------|------| | Windows x64 | `codex-register-v2-windows-x64.exe` | | Linux x64 | `codex-register-v2-linux-x64` | | macOS ARM64 | `codex-register-v2-macos-arm64` | ### 使用方法 ```bash # Linux/macOS 需要先赋予执行权限 chmod +x codex-register-* # 启动 Web UI ./codex-register # 指定端口 ./codex-register --port 8080 # 调试模式(热重载) ./codex-register --debug # 设置 Web UI 访问密钥 ./codex-register --access-password mypassword ``` **Full Changelog**: https://github.com/cnlimiter/codex-manager/compare/v1.1.0...v1.1.1

  4. v1.1.0v1.1.0Mar 22, 202628 downloads

    ## OpenAI 自动注册系统 v2 ### 下载说明 | 平台 | 文件 | |------|------| | Windows x64 | `codex-register-windows-x64.exe` | | Linux x64 | `codex-register-linux-x64` | | macOS ARM64 | `codex-register-macos-arm64` | ### 使用方法 ```bash # Linux/macOS 需要先赋予执行权限 chmod +x codex-register-* # 启动 Web UI ./codex-register # 指定端口 ./codex-register --port 8080 # 调试模式(热重载) ./codex-register --debug # 设置 Web UI 访问密钥 ./codex-register --access-password mypassword ``` ## What's Changed * feat: support proxy_url in CPA auth files by @starsalwaysineyes in https://github.com/cnlimiter/codex-manager/pull/51 ## New Contributors * @starsalwaysineyes made their first contribution in https://github.com/cnlimiter/codex-manager/pull/51 **Full Changelog**: https://github.com/cnlimiter/codex-manager/compare/v1.0.9...v1.1.0

  5. v1.0.9v1.0.9Mar 20, 202652 downloads

    ## OpenAI 自动注册系统 v2 ### 下载说明 | 平台 | 文件 | |------|------| | Windows x64 | `codex-register-windows-x64.exe` | | Linux x64 | `codex-register-linux-x64` | | macOS ARM64 | `codex-register-macos-arm64` | ### 使用方法 ```bash # Linux/macOS 需要先赋予执行权限 chmod +x codex-register-* # 启动 Web UI ./codex-register # 指定端口 ./codex-register --port 8080 # 调试模式(热重载) ./codex-register --debug # 设置 Web UI 访问密钥 ./codex-register --access-password mypassword ``` ## What's Changed * feat: 支持 Docker 部署和环境变量配置 by @yunxilyf in https://github.com/cnlimiter/codex-manager/pull/44 **Full Changelog**: https://github.com/cnlimiter/codex-manager/compare/v1.0.8...v1.0.9

Commits per week

last 52 weeks
920Week of 2025-08-02: 0 commitsWeek of 2025-08-09: 0 commitsWeek of 2025-08-16: 0 commitsWeek of 2025-08-23: 0 commitsWeek of 2025-08-30: 0 commitsWeek of 2025-09-06: 0 commitsWeek of 2025-09-13: 0 commitsWeek of 2025-09-20: 0 commitsWeek of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 5 commitsWeek of 2026-03-15: 92 commitsWeek of 2026-03-22: 54 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 0 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsAug 2, 2025Jul 26, 2026
151 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 3 commitsSun 1:00 — 1 commitsSun 2:00 — 3 commitsSun 3:00 — 2 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 2 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 1 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 1 commitsSun 17:00 — 1 commitsSun 18:00 — 0 commitsSun 19:00 — 2 commitsSun 20:00 — 1 commitsSun 21:00 — 1 commitsSun 22:00 — 2 commitsSun 23:00 — 2 commitsMon 0:00 — 0 commitsMon 1:00 — 2 commitsMon 2:00 — 6 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 3 commitsMon 11:00 — 6 commitsMon 12:00 — 1 commitsMon 13:00 — 5 commitsMon 14:00 — 0 commitsMon 15:00 — 2 commitsMon 16:00 — 1 commitsMon 17:00 — 1 commitsMon 18:00 — 3 commitsMon 19:00 — 2 commitsMon 20:00 — 3 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 1 commitsTue 0:00 — 0 commitsTue 1:00 — 2 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 1 commitsTue 8:00 — 0 commitsTue 9:00 — 1 commitsTue 10:00 — 4 commitsTue 11:00 — 0 commitsTue 12:00 — 1 commitsTue 13:00 — 1 commitsTue 14:00 — 0 commitsTue 15:00 — 1 commitsTue 16:00 — 0 commitsTue 17:00 — 1 commitsTue 18:00 — 3 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 1 commitsWed 13:00 — 0 commitsWed 14:00 — 2 commitsWed 15:00 — 1 commitsWed 16:00 — 2 commitsWed 17:00 — 0 commitsWed 18:00 — 2 commitsWed 19:00 — 5 commitsWed 20:00 — 0 commitsWed 21:00 — 1 commitsWed 22:00 — 0 commitsWed 23:00 — 1 commitsThu 0:00 — 5 commitsThu 1:00 — 1 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 1 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 2 commitsThu 15:00 — 2 commitsThu 16:00 — 1 commitsThu 17:00 — 2 commitsThu 18:00 — 0 commitsThu 19:00 — 3 commitsThu 20:00 — 1 commitsThu 21:00 — 0 commitsThu 22:00 — 0 commitsThu 23:00 — 2 commitsFri 0:00 — 2 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 1 commitsFri 10:00 — 2 commitsFri 11:00 — 0 commitsFri 12:00 — 1 commitsFri 13:00 — 3 commitsFri 14:00 — 0 commitsFri 15:00 — 6 commitsFri 16:00 — 0 commitsFri 17:00 — 2 commitsFri 18:00 — 0 commitsFri 19:00 — 1 commitsFri 20:00 — 2 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 3 commitsSat 0:00 — 3 commitsSat 1:00 — 2 commitsSat 2:00 — 6 commitsSat 3:00 — 0 commitsSat 4:00 — 1 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 1 commitsSat 15:00 — 0 commitsSat 16:00 — 3 commitsSat 17:00 — 1 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 3 commitsSat 21:00 — 0 commitsSat 22:00 — 2 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits136 (73%)
Community commits50 (27%)

186 commits in total over the last year.