tRPC可自动对齐前后端数据类型,确保Codex基于未编译TS源码(如userRouter.ts)生成代码;若用OpenAPI,则需先校验契约再生成类型;字段升级时需显式声明兼容策略并人工确认下线。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Codex在生成前后端代码时自动对齐数据类型,避免前端用string接收后端返回的number、接口字段名大小写不一致等运行时错误。
用tRPC打通类型定义源头
在服务端用tRPC定义router时,input和output类型就是唯一真相源。Codex调用该procedure时,参数结构、返回值结构、甚至嵌套对象的可选性都会被自动推断出来。你不需要在前端手动写interface User { id: number; name: string },也不需要维护一份独立的api.d.ts。
确保Codex读取的是同一份TypeScript文件:把tRPC router文件路径(如src/server/router/userRouter.ts)明确写进Prompt上下文,例如“请基于./src/server/router/userRouter.ts中userRouter.getProfile的output类型生成React Query的useQuery调用”。
这一步操作起来很简单,直接把文件拖进去就行。但【必须保证Codex看到的是未编译的TS源码,而不是dist目录下的JS】,否则类型信息会丢失。
校验OpenAPI契约并同步生成客户端类型
如果你仍在用REST+OpenAPI工作流,就别让Codex凭空猜类型。先用Codex CLI执行契约校验:
第一步:进入含openapi.yaml和package.json的目录,运行codex test GET /api/users → Codex会自动比对响应JSON与spec中responses.200.schema的字段名、类型、是否必需。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
第二步:若发现字段类型不一致(如spec定义id为integer,实际返回"123"字符串),立即修正后端序列化逻辑——Codex无法替你修复底层序列化bug。
第三步:校验通过后,用codex generate types --lang=typescript命令输出types.ts,再让Codex基于该文件生成调用代码。这样前端使用的类型永远来自契约,而非人工记忆。
处理API字段升级时的兼容性断层
当后端把userName改成displayName,旧客户端还在读userName,Codex必须帮你在过渡期维持双字段共存。
方法一:在Prompt中明确约束“生成的DTO类必须同时包含userName(deprecated)和displayName(current)字段,userName仅用于兼容旧客户端,不参与新业务逻辑”。
方法二:让Codex检查现有接口响应样本,自动识别哪些字段正在被废弃。输入示例响应{ "userName": "Tom", "displayName": "Tom" },要求Codex标注userName为@deprecated并在JSDoc中说明迁移截止时间。
注意:Codex不会主动提醒你删除旧字段。必须人工确认所有客户端完成迁移后,再下指令“移除userName字段并更新OpenAPI spec”。














