codex / README.md
webhook's picture
Upload 137 files
89419ea verified
|
Raw History Blame Contribute Delete
6.67 kB
metadata
title: codex-console
emoji: 🚀
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false

codex-console

基于 cnlimiter/codex-manager 持续修复和维护的增强版本。

这个版本的目标很直接: 把近期 OpenAI 注册链路里那些“昨天还能跑,今天突然翻车”的坑补上,让注册、登录、拿 token、打包运行都更稳一点。

License: MIT Python

QQ群

致谢

首先感谢上游项目作者 cnlimiter 提供的优秀基础工程。

本仓库是在原项目思路和结构之上进行兼容性修复、流程调整和体验优化,适合作为一个“当前可用的修复维护版”继续使用。

这个分支修了什么

为适配当前注册链路,这个分支重点补了下面几个问题:

  1. 新增 Sentinel POW 求解逻辑
    OpenAI 现在会强制校验 Sentinel POW,原先直接传空值已经不行了,这里补上了实际求解流程。

  2. 注册和登录拆成两段
    现在注册完成后通常不会直接返回可用 token,而是跳转到绑定手机或后续页面。
    本分支改成“先注册成功,再单独走一次登录流程拿 token”,避免卡死在旧逻辑里。

  3. 去掉重复发送验证码
    登录流程里服务端本身会自动发送验证码邮件,旧逻辑再手动发一次,容易让新旧验证码打架。
    现在改成直接等待系统自动发来的那封验证码邮件。

  4. 修复重新登录流程的页面判断问题
    针对重新登录时页面流转变化,调整了登录入口和密码提交逻辑,减少卡在错误页面的情况。

  5. 优化终端和 Web UI 提示文案
    保留可读性的前提下,把一些提示改得更友好一点,出错时至少不至于像在挨骂。

核心能力

  • Web UI 管理注册任务和账号数据
  • 支持批量注册、日志实时查看、基础任务管理
  • 支持多种邮箱服务接码
  • 支持 SQLite 和远程 PostgreSQL
  • 支持打包为 Windows/Linux/macOS 可执行文件
  • 更适配当前 OpenAI 注册与登录链路

文档

环境要求

  • 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 监听端口 8000
APP_ACCESS_PASSWORD Web UI 访问密钥 admin123
APP_DATABASE_URL 数据库连接字符串 data/database.db

优先级:

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

启动 Web UI

# 默认启动(127.0.0.1:8000)
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-console.exe --access-password mypassword

启动后访问:

http://127.0.0.1:8000

Docker 部署

使用 docker-compose

docker-compose up -d

使用 docker run

docker run -d \
  -p 7860:7860 \
  --name codex-console \
  ghcr.io/<yourname>/codex-console:latest

当前 Dockerfile 已经写死以下启动参数:

  • 监听地址:0.0.0.0
  • 监听端口:7860
  • Web UI 密码:admin123

因此不需要再额外传环境变量。

注意:

  • 当前方案不做持久化,容器重建后数据库和日志会丢失
  • 当前方案的目标只是保证 Web UI 能启动,不保证完整注册链路在公网容器环境可用

Hugging Face Spaces

如果你要部署到 Hugging Face Spaces:

  1. 新建一个 Docker Space
  2. 把当前仓库直接推上去
  3. 不需要配置额外环境变量
  4. 不需要开启持久化存储
  5. 等待平台按仓库根目录下的 Dockerfile 自动构建

当前 Dockerfile 会直接启动:

python webui.py --host 0.0.0.0 --port 7860 --access-password admin123

部署完成后,直接打开 Space 页面即可。

默认登录密码:

admin123

如果后续涉及公网 OAuth 回调,还需要把系统里的 openai.redirect_uri 改成真实可访问的域名地址,而不是默认的 localhost;但这不影响 Web UI 本身启动。

使用远程 PostgreSQL

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

也支持 DATABASE_URL,但优先级低于 APP_DATABASE_URL。

打包为可执行文件

# Windows
build.bat

# Linux/macOS
bash build.sh

Windows 打包完成后,默认会在 dist/ 目录生成类似下面的文件:

dist/codex-console-windows-X64.exe

如果打包失败,优先检查:

  • Python 是否已加入 PATH
  • 依赖是否安装完整
  • 杀毒软件是否拦截了 PyInstaller 产物
  • 终端里是否有更具体的报错日志

项目定位

这个仓库更适合作为:

  • 原项目的修复增强版
  • 当前注册链路的兼容维护版
  • 自己二次开发的基础版本

如果你准备公开发布,建议在仓库描述里明确写上:

Forked and fixed from cnlimiter/codex-manager

这样既方便别人理解来源,也对上游作者更尊重。

仓库命名

当前仓库名:

codex-console

免责声明

本项目仅供学习、研究和技术交流使用,请遵守相关平台和服务条款,不要用于违规、滥用或非法用途。

因使用本项目产生的任何风险和后果,由使用者自行承担。