ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

AI 编程来了,我决定一个人做一款游戏(04):用 Codex 配 TaoToken 打通 TypeScript 与 Cocos Creator 工作流

AI 编程来了,我决定一个人做一款游戏(04):用 Codex 配 TaoToken 打通 TypeScript 与 Cocos Creator 工作流 1. 一个人做游戏卡在“写代码”这件事上做独立游戏最现实的问题不是创意是产能。我手上这个项目叫《Riftkeeper》Cocos Creator TypeScript 技术栈美术和玩法方向定了之后真正要写的东西才刚开始战斗入口、HUD、结算、资源加载、状态流转每一项都是实打实的代码量。一个人做意味着你既是策划又是程序还是测试写代码的时间被压缩得很厉害。AI 编程工具出现之后我第一反应不是“它能替我写完”而是“它能不能帮我把重复劳动吃掉”。Codex 这类工具在补全、生成脚本骨架、解释报错上确实有用但真正落地到 Cocos Creator 项目里会遇到一个很具体的问题怎么让 Codex 稳定地接入我的日常编码流程而不是每次都要手动复制粘贴上下文。这篇是系列第 4 篇聚焦一件事在 Cocos Creator TypeScript 项目里把 Codex 通过统一 Key/API 通道接进来给出可复制的config.toml和settings.json骨架用 CC Switch 切换配置最后用一次脚本生成 编译验证确认链路真的通了。适合已经在用 Cocos Creator、想引入 AI 辅助编码但不想折腾环境的独立开发者。2. 为什么用 TaoToken 做统一通道Codex 本身是一个编码代理工具它需要一个模型服务端点来发请求。直接对接官方端点当然可以但在实际项目里我遇到几个麻烦不同工具Codex、Claude Code、其他 CLI各自维护一套 Key 和配置切换模型要改多处项目里既有对话补全需求也有长上下文代码生成需求混在一起管理很乱。TaoToken 在这里的角色是一个统一的 Key/API 通道。官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。它的价值不在于“多一个中转”而在于一个 Key 可以覆盖多个模型和多个工具配置集中管理。对独立开发者来说这意味着你不用在 Codex、编辑器插件、命令行工具之间反复填不同的 Key。项目里只需要维护一份配置切换模型时改一个字段就行。我实测下来把 Codex 指向这个统一端点之后日常编码流程里最烦的“配置漂移”问题基本消失了。需要说清楚的是TaoToken 是模型服务通道不是编辑器替代品也不是代码托管。它解决的是“请求发到哪、用哪个模型”的问题代码本身还是在你本地 Cocos Creator 项目里。3. 前置准备Key、目录与工具版本动手之前先把三样东西准备好。第一是 API Key。到 TaoToken 控制台创建一个地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 创建完在 API Keys 页面能看到页面是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Key 只显示一次复制到安全的地方。第二是确认 Codex 的配置目录。Codex CLI 在多数环境下读取~/.codex/config.tomlWindows 下是C:\Users\你的用户名\.codex\config.toml。如果目录不存在手动建一个。第三是 Cocos Creator 项目本身。我用的是 Cocos Creator 3.8.xTypeScript 项目tsconfig.json已经配好。Codex 生成的脚本最终要能被 Creator 的编译流程识别所以项目结构要正常。版本上Codex CLI 建议用较新的版本旧版本对自定义base_url的支持字段名可能不一样。如果你不确定先跑codex --version看一眼。注意Key 不要写进项目仓库也不要提交到 Git。配置文件放在用户目录下项目里只放代码。4. 可复制配置config.toml 与 settings.json这一节是核心直接给骨架。4.1 Codex 的 config.tomlCodex 的配置分两块模型提供方provider和模型选择。下面这份是我在用的骨架把base_url指向 TaoToken 的 API 端点# ~/.codex/config.toml model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api responses几个字段说明一下。base_url是请求根地址Codex 会在这个地址后面拼接具体路径。env_key表示 Key 从环境变量读取不写死在文件里。wire_api指定协议类型Codex 用responses如果你接的是兼容 Chat Completions 的端点这里可能要改成chat具体看你的 Codex 版本。环境变量这样设。Linux/macOSexport TAOTOKEN_API_KEY你的KeyWindows PowerShell$env:TAOTOKEN_API_KEY你的Key想永久生效Linux/macOS 写进~/.zshrc或~/.bashrcWindows 用系统环境变量面板添加。4.2 项目侧的 settings.jsonCocos Creator 项目里我额外放了一份settings.json用来管理 AI 辅助相关的项目级参数比如生成脚本的输出目录、命名规范、是否自动格式化。这份文件放在项目根目录的.ai/下不参与 Creator 编译{ codex: { provider: taotoken, model: gpt-5-codex, scriptOutputDir: assets/scripts/generated, namingConvention: PascalCase, autoFormat: true, maxContextFiles: 8 }, cocos: { creatorVersion: 3.8.4, scriptLanguage: typescript, bundleRoot: assets/bundles } }scriptOutputDir指向assets/scripts/generated这样 Codex 生成的脚本会集中在一个目录方便你 review 之后再决定要不要挪进正式模块。maxContextFiles控制一次请求带多少个文件上下文太大容易超 token太小模型理解不全8 个是我试下来比较平衡的值。4.3 用 CC Switch 切换配置如果你同时用 Codex 和 Claude Code或者需要在不同模型之间切换手动改config.toml很烦。CC Switch 是一个配置切换工具可以保存多套配置一键切换。安装之后把上面那份config.toml存成一个 profile命名比如taotoken-codex。再建一个 profile 指向别的端点。切换时执行cc-switch use taotoken-codex它会自动把对应配置写入~/.codex/config.toml。这样你在“日常编码用 Codex TaoToken”和“长上下文重构用另一个模型”之间切换只需要一条命令不用手动编辑文件。提示CC Switch 的配置存储位置和具体命令名可能因版本不同有差异第一次用先跑cc-switch --help确认。5. 验证链路生成一个脚本并编译配置写完不算通得跑一次真实请求。我用的验证方式是让 Codex 在 Cocos Creator 项目里生成一个 TypeScript 脚本然后用 Creator 的编译流程检查它能不能通过。5.1 发起一次生成请求在项目根目录打开终端启动 Codexcodex进入交互后给一个具体、范围明确的指令。这里我沿用之前踩坑总结的提示词框架请先检查当前项目状态再开始实现。 本次目标在 assets/scripts/generated 下生成一个 BattleEntry.ts 本次必须完成 - 导出一个 BattleEntry 类 - 提供一个 loadBattleBundle(bundleName: string): Promisevoid 方法 - 方法内用 assetManager.loadBundle 加载指定 bundle - 加载失败时抛出带错误信息的异常 本次明确不做 - 不创建 UI 节点 - 不处理场景切换 - 不写测试 完成后输出实际修改、真实问题、定位依据、修复方式、通过验证、失败验证。这个指令的关键是“必须做”和“明确不做”两张清单。AI 很容易把“加载 bundle”扩展成“加载 bundle 创建舞台 打开 HUD 预留结算”范围一扩你就得花时间 review 一堆当前不需要的代码。5.2 检查生成结果Codex 返回后assets/scripts/generated/BattleEntry.ts应该长这样import { assetManager, AssetManager } from cc; export class BattleEntry { public static async loadBattleBundle(bundleName: string): PromiseAssetManager.Bundle { return new Promise((resolve, reject) { assetManager.loadBundle(bundleName, (err, bundle) { if (err) { reject(new Error(加载 bundle 失败: ${bundleName}, 原因: ${err.message})); return; } resolve(bundle); }); }); } }注意这里返回的是PromiseAssetManager.Bundle比原始指令里写的Promisevoid更有用因为调用方通常需要拿到 bundle 实例。这是 Codex 做的一个合理补充我保留了。5.3 编译验证回到 Cocos Creator 编辑器等待资源刷新。Creator 会自动编译assets/scripts下的 TypeScript。如果控制台没有红色报错说明语法和类型都过了。更严格的验证是在命令行跑 TypeScript 检查npx tsc --noEmit--noEmit表示只做类型检查不输出文件。如果项目tsconfig.json配置正确这条命令返回 0 就说明类型没问题。我实测下来Codex 生成的这段代码能直接通过tsc --noEmit没有类型错误。5.4 确认请求真的走了 TaoToken想确认请求确实发到了 TaoToken 而不是别的地方可以在 Codex 里问一个需要模型响应的问题比如让它解释刚才生成的代码。如果配置错了通常会直接报认证失败或连接超时。能正常返回内容说明 Key、base_url、环境变量三者都对上了。6. 本篇常见错排查配置和验证过程中我踩过几个坑列出来供你对照。报 401 或认证失败。八成是环境变量没生效。检查echo $TAOTOKEN_API_KEYWindows 用echo $env:TAOTOKEN_API_KEY有没有输出。如果为空说明当前终端会话没读到重启终端或重新 source 配置文件。报连接超时或 DNS 错误。检查base_url有没有写错注意是https://taotoken.net/api不要多加路径也不要漏掉https。Codex 会自己拼接后续路径。Codex 启动后不读配置。确认config.toml的位置对不对。有些版本读~/.codex/config.toml有些读项目目录下的.codex/config.toml。跑codex --help看有没有指定配置路径的参数。生成的脚本 Creator 不识别。检查文件是不是放在assets目录下。Cocos Creator 只编译assets里的脚本放在项目根目录或其他位置不会被识别。另外确认文件扩展名是.ts不是.js。CC Switch 切换后配置没变。可能是 profile 名字写错或者 CC Switch 的配置目录和 Codex 实际读取的目录不一致。切换后手动cat ~/.codex/config.toml确认内容真的变了。tsc --noEmit报一堆 node_modules 错误。这是tsconfig.json的skipLibCheck没开。在compilerOptions里加skipLibCheck: true跳过第三方库的类型检查。模型返回内容被截断。maxContextFiles设太大了一次带太多文件上下文超出模型输入限制。降到 5 到 8 之间再试。7. 下一步与工具入口链路通了之后下一步是让 Codex 在现有入口上实现一个真正可验证的纵向切片一波怪物、一种武器、一次购买放置、怪物沿路径移动、武器造成伤害、产生胜负、打开结算。这比“生成一堆文件”有意义得多因为它验证的是 Codex 有没有正确理解路径、状态和验证结果。如果你也在做独立游戏想把 AI 编码接进 Cocos Creator 工作流几个入口按需取用日常编码和 Agent 类长任务用 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。想先验证模型对话效果用模型对话页 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入配置和排障看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。Key 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。如果你用 Claude Code对应入口是 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。配置这件事第一次跑通之后就不用再折腾了。真正花时间的还是怎么把需求描述清楚、怎么判断 AI 给的方案是不是当前需要的。这部分没有捷径只能一个切片一个切片地磨。
返回列表