
1. GpuMall 上 cog-face-to-many 部署后怎么确认真的跑通了在 GpuMall 智算云上开一台 cog-face-to-many 实例界面能打开、网页能跳转其实只说明容器活着不代表出图链路是通的。我见过太多情况8188 端口映射对了ComfyUI 首页也刷出来了但点 Queue Prompt 之后队列一直卡在 running或者直接报模型找不到最后只能靠肉眼盯日志猜问题在哪。这篇要解决的就是这个「看起来跑通了、实际不确定」的痛点。思路是把 Codex 接到 TaoToken 上让 Codex 按步骤逐项核对 8188 端口、模型路径和 Queue Prompt 的调用并且实际发一次生成请求用返回状态来判断链路是否真的通。TaoToken 在这里充当 Codex 的模型通道让整个核对过程有可观测的返回而不是靠感觉。适合谁看已经在 GpuMall 上创建了 cog-face-to-many 实例、自定义端口填了 8188、但不确定生成流程是否真正跑通的开发者以及想用 Codex 做部署核对、又不想自己搭模型通道的人。下面从拿 Key 开始一步步把 Codex 配通再回到 GpuMall 把端口、模型、出图三件事查一遍。2. 前置准备TaoToken 拿 Key 与 Codex 接入TaoToken 是一个模型调用通道Codex 通过它来发请求。你不需要在本地跑任何模型只要把 Codex 的 Base URL 指过去、填上 Key 就行。先打开官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号进控制台创建 API Key。创建 Key 的入口在控制台的 API Keys 页面直接访问 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 就能到。点新建复制那串 sk- 开头的 Key先存到本地临时文件里后面配置要用。Codex 的接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有不同客户端的配置示例。核心就两个值Base URL 填 https://taotoken.net/api API Key 填你刚复制的那串。注意 Base URL 后面不要多加斜杠也不要带 /v1Codex 会自己拼路径。如果你后面要长期用 Codex 做编码或 Agent 任务可以看下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 按用量选套餐比单次调用划算。这一步不是必须的先把基础接入跑通再说。3. 可复制配置让 Codex 走 TaoTokenCodex 的配置方式取决于你用的是 CLI 还是 IDE 插件。下面以 CLI 为例因为核对 GpuMall 实例时经常要在终端里跑命令CLI 最顺手。先设置环境变量把 Key 和 Base URL 注入进去。export TAOTOKEN_API_KEYsk-你的Key export OPENAI_BASE_URLhttps://taotoken.net/api export OPENAI_API_KEY$TAOTOKEN_API_KEY如果你用的是 Codex 的配置文件方式找到~/.codex/config.toml没有就新建写入下面内容。注意 model 字段填你套餐里支持的模型名不确定就先留空让 Codex 用默认。[model] base_url https://taotoken.net/api api_key sk-你的Key model gpt-4o-mini配好之后跑一条最简单的请求验证通道是否通。下面这条命令让 Codex 回一句话能正常返回就说明 TaoToken 这条链路没问题。codex exec 回复通道已连通如果返回里带了正常文本说明 Codex 已经走 TaoToken 了。这一步很关键因为后面核对 GpuMall 实例时Codex 要能稳定发请求、拿到返回状态才能帮你判断 Queue Prompt 到底成没成。通道不通的话后面所有核对都是白搭。4. 逐项核对8188 端口、模型路径与 Queue Prompt通道通了之后回到 GpuMall 实例。先确认 8188 端口映射。在实例详情页点「更多」-「创建自定义端口」端口号必须填 8188因为 cog-face-to-many 镜像里的服务监听的就是这个端口。填错的话网页打不开或者打开了但 Queue Prompt 没反应。端口确认后用 Codex 帮你核对模型路径。cog-face-to-many 的模型目录是/root/cog-face-to-many/ComfyUI/models/checkpoints。你可以让 Codex 生成一条检查命令然后在 jupyterlab 终端里跑。ls -lh /root/cog-face-to-many/ComfyUI/models/checkpoints如果目录是空的说明模型还没上传。通过 jupyterlab 上传模型文件后用 mv 命令移到当前目录。假设你上传的是picxReal_10.safetensors它默认落在/下执行mv /picxReal_10.safetensors /root/cog-face-to-many/ComfyUI/models/checkpoints/移完之后再 ls 一次确认文件在 checkpoints 目录里。这一步踩过的坑是有人上传到了/root下然后 mv 的时候路径写错文件没进 checkpoints网页里切换模型时列表是空的。所以移完必须再查一次。模型就位后回到 cog-face-to-many 网页点 Queue Prompt 发一次生成请求。这时候不要只看网页有没有转圈要让 Codex 帮你核对调用是否成功。你可以让 Codex 生成一条 curl 命令直接打 ComfyUI 的 API 端点看返回状态。curl -s -o /dev/null -w %{http_code} http://127.0.0.1:8188/返回 200 说明服务在跑。再发一次实际的 prompt 请求看队列有没有接住。ComfyUI 的 prompt 接口是/promptPOST 一个 JSON 进去。下面这条是简化示例实际 payload 要从网页的 Queue Prompt 请求里抓。curl -s -X POST http://127.0.0.1:8188/prompt \ -H Content-Type: application/json \ -d {prompt: {3: {class_type: KSampler, inputs: {}}}}如果返回里带了prompt_id说明队列接住了这次请求生成流程真正跑通了。如果返回 400 或 500说明 payload 有问题或者模型没加载上。这时候让 Codex 读返回体帮你定位是哪个节点报错。5. 本篇常见错排查端口填了 8188 但网页打不开。先确认实例状态是「运行中」再检查自定义端口是不是真的创建成功了。GpuMall 的端口映射有时候需要几秒生效刷新一下实例详情页看端口列表里有没有 8188。如果端口列表里有但网页还是打不开用 curl 在实例内部打 127.0.0.1:8188能通说明是映射问题不通说明服务没起来。Queue Prompt 点了没反应队列一直空。大概率是模型没加载。去 checkpoints 目录 ls 一下确认模型文件在。然后在网页的模型切换下拉里看能不能选到你的模型。选不到就是路径不对重新 mv 一次。选得到但队列还是空看 ComfyUI 的日志通常在 jupyterlab 终端里能看到报错。Codex 请求返回 401 或 403。这是 TaoToken 的 Key 问题。检查环境变量里的 Key 有没有复制全有没有多余空格。Base URL 确认是 https://taotoken.net/api 不要带尾斜杠。如果还不行去控制台重新生成一个 Key 再试。curl 打 /prompt 返回 400。payload 格式不对。ComfyUI 的 prompt 接口要求完整的节点图不能只传一个空节点。最简单的办法是在网页上点一次 Queue Prompt然后在浏览器开发者工具的 Network 里把请求 payload 复制出来用那个完整的 JSON 去 curl。模型 mv 之后网页里还是看不到。检查文件权限。有时候上传的文件权限不对ComfyUI 读不到。执行chmod 644 /root/cog-face-to-many/ComfyUI/models/checkpoints/*.safetensors再刷新网页。6. 把核对流程固定下来整套流程跑通之后你可以把 Codex 的核对命令存成一个脚本每次新开实例时跑一遍。脚本里包含三件事curl 打 8188 根路径看服务状态、ls checkpoints 看模型、curl 打 /prompt 发一次测试请求看队列。这样不用每次手动点网页猜。TaoToken 在这里的作用是让 Codex 的每次核对都有返回状态可查。你可以在控制台看调用记录确认 Codex 确实发了请求、拿到了返回。如果某次核对 Codex 没返回先去模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 手动发一条消息确认通道本身是通的再排查 Codex 配置。长期做这类部署核对的话Coding Plan 比按次调用省心用量和额度在控制台都能看到。整套下来GpuMall 上的 cog-face-to-many 从端口到出图链路就不再是靠肉眼猜了。