展开本页目录
开始前准备什么
- Codex skills 使用 .agents/skills 与 SKILL.md;技能并非原生保证生成任意 SDK 的内置产品功能。
- 仅使用本地假数据服务,不配置真实 API key;模型调用使用账号现有额度。
- 429 重试必须有次数上限且尊重响应约定,不生成无限重试逻辑。
- 先读普通业务接口合同
- 安装项目级客户端技能
- 限定生成物与网络边界
- 按游标分页并阻止重复游标
- 区分 404 与可重试 429
- 启动 localhost fixture 真正发请求
- 把实际生成客户端替换进同一测试
原创输入、提示词、原生配置、参考源码、实际结果和验收说明;不含模型账号或运行缓存。
按独立目录运行,原生代理会话需由自己另行执行。
1. 先读普通业务接口合同
openapi.json 是 OpenAPI 3.1 的设备接口,/devices 分页返回 items/nextCursor,/devices/{id} 可返回 404。它不是模型 Chat/Responses 协议,servers 的端口 0 是等待本地 fixture 绑定临时端口的说明。
2. 安装项目级客户端技能
把 .agents/skills/devices-client/SKILL.md 放在独立项目中,核对 name/description 和读取规范、有限重试、先写 fixture 测试的说明。用 /skills 或显式 $devices-client 调用,不能仅把一段提示词起名叫技能。
3. 限定生成物与网络边界
要求生成 client.py 和本地测试,不添加外部域名或真实 key。技能会指导任务,不是 Codex 原生保证任意 SDK 正确的功能;依赖安装、代码运行和网络访问仍需单独检查。
4. 按游标分页并阻止重复游标
客户端累积两页 D01/D02/D03,在 nextCursor 为空时停止;保留 seen 集合防止同一 cursor 无限循环。不要只测试第一页就认定所有分页已合并。
5. 区分 404 与可重试 429
404 必须作为明确错误抛给调用者,不能伪造空成功。429 的最大重试次数固定为 2,即最多 3 次请求;检查 Retry-After 和永久限流,不能生成无上限 while True 重试。
本地练习命令
python3 verify.py6. 启动 localhost fixture 真正发请求
运行 python3 verify.py,临时端口上的 HTTP 服务返回两页数据、一次可恢复限流、永久限流及 404。result.json 的请求次数来自实际标准库 HTTP 请求,而非手填状态表。
7. 把实际生成客户端替换进同一测试
本站 client.py 是人工参考;你运行技能后,应把真正生成的代码放到新目录再跑同样 fixture。三条 ID、404、恢复性 429 和永久 429 次数全部符合后,才考虑连接自己的业务接口。
怎样确认已经完成
- 真实 localhost HTTP 客户端与有限重试应能按 README 在独立目录重现。
- 目标代理真实结果须另存;人工参考、原生会话和官方示例分别识别。
常见问题
Codex 技能能按接口文档写一个可测试的客户端吗?
要求生成 client.py 和本地测试,不添加外部域名或真实 key。技能会指导任务,不是 Codex 原生保证任意 SDK 正确的功能;依赖安装、代码运行和网络访问仍需单独检查。
分页、404 和限流错误怎么让生成代码一起处理?
运行 python3 verify.py,临时端口上的 HTTP 服务返回两页数据、一次可恢复限流、永久限流及 404。result.json 的请求次数来自实际标准库 HTTP 请求,而非手填状态表。
本题哪些结果已经实际运行?
已运行的是真实 localhost HTTP 客户端与有限重试。原生功能操作按官方文档编排,目标代理未调用;英文检索可用“Codex skill OpenAPI 3.1 REST client pagination fixtures”定位对应术语,但这不是搜索量或热榜声明。




