news 2026/9/20 2:21:47

mattpocock/skills 的 /tdd 交给 Codex 跑:Key 用 TaoToken

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mattpocock/skills 的 /tdd 交给 Codex 跑:Key 用 TaoToken

一、原问题与场景:Codex 跑 /tdd 为什么容易断掉红-绿-重构

这篇讲的是把 mattpocock/skills 里的 /tdd 交给 Codex 跑时,Key 换成 TaoToken(官网:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=)的完整配置。很多人的卡点不是 /tdd 这个斜杠命令本身,而是 Codex 的 config.toml 里 base_url、env_key、model_provider 没有对齐,结果 /tdd 明明触发了,模型请求却跑偏或者直接 401。下面从 Skill 工作流、TaoToken 前置、可复制配置、验证请求和常见错排查一路写清楚。

mattpocock/skills 不是普通提示词集合,它的核心是一批 SKILL.md 文件。每个技能文件会定义触发条件、执行步骤和约束。比如 /tdd 要求模型按红-绿-重构循环推进:先写一个会失败的测试,再写最小实现让测试通过,最后在测试保护下重构。问题在于,普通对话式提示词没有状态。你在第一轮说“先写失败测试”,模型可能第二轮就绕过测试直接给实现;你让它“小步提交”,它可能一次性把整个模块写完。Codex 这类编程助手虽然能读文件、跑命令,但如果只靠聊天历史,仍然容易把技能步骤当成建议,而不是当成必须执行的工作流。

Skill 和 MCP 在这个场景里要分开看。Skill 负责流程约束,它告诉 Codex 什么时候该做什么、每一步的完成标准是什么;MCP 更适合把外部工具接进来,比如查询 Issue、访问文档、调用某个服务。两者不能互相替代。也不要为了省事去找所谓 MCP 直连库来绕过模型配置,因为 /tdd 的每一步约束最终仍然要落到模型请求上。请求通道不稳定,Skill 写得再细也会被模型忽略。TaoToken 在这里承担的是模型请求承载层:Codex 通过 config.toml 指向 TaoToken 的 API,/tdd 每次读 SKILL.md、生成测试、实现、重构时,请求都走同一套配置,技能里的步骤才有机会真正被执行。

所以本篇的目标很具体:先把 TaoToken 的 Key 准备好,再把 Key 填进 Codex 的模型配置,Base URL 填 https://taotoken.net/api,注意不要带 /v1。然后安装 mattpocock/skills,勾选 /setup-matt-pocock-skills,最后在 Codex 里调用 /tdd,观察它是否按红-绿-重构推进。只要这条链路通了,Codex + mattpocock/skills 的 /tdd 工作流就能固定下来。

二、TaoToken 前置:在 Codex 的 config.toml 之前先准备 Key

安装技能之前,先打开 TaoToken 官网注册并创建 Key。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=。注册完成后进入控制台,在 API Keys 页面创建 Key。本文里的 Key 统一写成 YOUR_API_KEY,你实际使用时替换成自己创建的那一串。不要把 Key 写进项目仓库,也不要把 Key 提交到 Git。推荐用环境变量注入,Codex 的 config.toml 只引用变量名,不直接写明文。

API 的基础地址是 https://taotoken.net/api,这个地址后面不带 /v1。Codex 的 config.toml 里填 Base URL 时也填这个,不要自己加 /v1,否则容易出现路径重复,比如变成 /api/v1/chat/completions 之类的组合,导致 404 或 405。Key 用 YOUR_API_KEY 占位,模型 ID 用 MODEL_ID 占位,模型 ID 以你 TaoToken 控制台或模型列表里实际可用的为准,不要照抄别人的模型名。

如果你同时把同一套技能装到 Claude Code,配置入口不是 Codex 的 config.toml,而是 Claude Code 的 settings.json,相关变量通常围绕 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 这类 ANTHROPIC_* 配置。本篇只处理 Codex + /tdd 这条链路,Claude Code 的配置不要和 Codex 的 config.toml 混在一起改。先确认 Codex 侧 Key 可用,再继续安装 mattpocock/skills。

三、可复制配置:mattpocock/skills 安装 + Codex config.toml

先安装 mattpocock/skills。推荐在目标项目根目录执行,因为 /tdd 会依赖当前仓库的测试结构、文档路径和 Issue 配置:

npx skills@latest add mattpocock/skills

执行后会出现交互式选择。关键点有三个:

  1. 选择要安装的技能时,至少勾选tdd
  2. 一定要把/setup-matt-pocock-skills一起勾选,很多工程类技能依赖它做仓库级初始化。
  3. 选择 coding agent 时选 Codex。如果你后面还要装到 Claude Code 或 Cursor,可以再跑一次安装,但本篇先保证 Codex 可用。

安装完成后,配置 Codex 的模型提供方。Codex 的配置文件通常在~/.codex/config.toml,不同版本可能略有差异,以你本机实际路径为准。可复制内容如下:

# ~/.codex/config.toml model = "MODEL_ID" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" wire_api = "chat"

注意几个点。base_url必须是https://taotoken.net/api,不要写成https://taotoken.net/api/v1env_key是环境变量名,不是 Key 本身。wire_api先用chat,因为大多数兼容接口按 chat completions 工作。model_provider要指向taotoken,否则 Codex 可能仍然走默认提供方。model填你实际要用的 MODEL_ID,比如你在 TaoToken 控制台里确认可用的模型。

然后在 shell 里注入 Key。临时生效可以这样:

export TAOTOKEN_API_KEY="YOUR_API_KEY"

如果你用 zsh,想持久化可以追加到~/.zshrc

echo 'export TAOTOKEN_API_KEY="YOUR_API_KEY"' >> ~/.zshrc source ~/.zshrc

如果你用 bash,则写入~/.bashrc后执行source ~/.bashrc。改完后重新打开终端,或者至少在当前终端重新 source,确保 Codex 能读到这个环境变量。

接着进入项目根目录,启动 Codex:

codex

在 Codex 里运行初始化命令:

/setup-matt-pocock-skills

它会问你几个配置项,通常包括问题追踪器类型,比如 GitHub、Linear 或本地文件;/triage使用的标签词表;以及创建文档的保存路径。按当前项目实际情况填写。初始化完成后,再调用:

/tdd

这时 /tdd 才会结合仓库里的 SKILL.md、上下文文档和测试结构开始工作。你可以给一个很小的需求来验证,例如让它在当前模块里增加一个校验函数,并要求先写失败测试,再最小实现,最后重构。不要一上来就给大功能,先用小切片确认工作流是否按红-绿-重构推进。

四、验证请求与成功结果:/tdd、/setup-matt-pocock-skills 是否真的生效

配置完成后不要直接开大任务,先验证 TaoToken 请求是否通。用 curl 发一个最小请求,确认 Key、Base URL、模型 ID 三项没有错。命令如下:

curl -sS https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "MODEL_ID", "messages": [ {"role": "user", "content": "只回复 pong"} ] }'

如果返回 JSON 里能看到正常的内容字段,说明 Key 和 API 地址基本可用。如果返回 401,优先检查 Key 是否复制完整、环境变量是否生效、Bearer 后面有没有多余空格。如果返回 404 或 405,优先检查 base_url 是否误加了/v1,以及wire_api是否和接口模式匹配。如果返回模型不存在,去 TaoToken 控制台或模型列表确认 MODEL_ID,不要用猜测的模型名。

接着验证 Codex 侧。启动codex后,用/status/model查看当前 provider 和 model。成功状态下,provider 应该指向你配置的taotoken,model 应该是你填写的 MODEL_ID。如果 Codex 仍然显示默认提供方,回到~/.codex/config.toml检查model_provider = "taotoken"是否写对,以及[model_providers.taotoken]这一节是否存在。

再验证 /tdd 是否真的触发。进入一个已有测试框架的项目,输入/tdd,给一个小需求。成功结果不是模型立刻贴一大段实现,而是按步骤推进:

  1. 先读仓库里的 SKILL.md 和 CONTEXT.md 等上下文文件。
  2. 列出要新增或修改的测试,并说明测试验证的是行为,不是实现细节。
  3. 运行测试,确认新测试先失败。
  4. 写最小实现,让测试通过。
  5. 在测试通过的前提下重构。
  6. 最后跑回归测试,确认没有破坏已有行为。

如果 Codex 能按这个顺序输出,并且每一步都有命令或文件改动作为证据,说明 TaoToken 承载的模型请求和 mattpocock/skills 的 /tdd 已经接上了。反过来,如果 /tdd 只是被当成普通文本发给模型,模型跳过失败测试直接实现,或者不跑测试就宣称完成,就要回到配置和技能安装环节排查。

五、本篇常见错排查:config.toml、base_url、env_key 与 /tdd 触发失败

第一类错是base_url写错。最常见的是写成https://taotoken.net/api/v1。本文要求填https://taotoken.net/api,不要带/v1。路径重复后,Codex 请求的完整路径可能变成/api/v1/...,服务端可能返回 404。改回https://taotoken.net/api后重启 Codex。

第二类错是env_key和环境变量名不一致。config.toml 里写env_key = "TAOTOKEN_API_KEY",那 shell 里就必须有TAOTOKEN_API_KEY。可以在终端执行echo $TAOTOKEN_API_KEY,看是否为空。如果为空,重新 export,或者把 export 写进~/.zshrc~/.bashrc后 source。注意不要写成env_key = "YOUR_API_KEY",那会把变量名当错。

第三类错是model_provider没指向taotoken。只写了[model_providers.taotoken]还不够,上面必须有model_provider = "taotoken"。否则 Codex 可能仍然使用默认 provider,你的 Key 和 Base URL 根本没被用上。检查方式是看/status里的 provider 名称。

第四类错是wire_api不匹配。先用wire_api = "chat"。如果你改成了responses,但 TaoToken 当前配置或模型不支持该模式,就可能报 404、405 或无法解析响应。改回chat后重试。不要同时保留多个冲突配置。

第五类错是安装了技能但没有勾选/setup-matt-pocock-skills。很多人只装了tdd,结果 /tdd 依赖的 Issue 追踪器、标签词表、文档路径没有初始化,工作流第一步就卡住。重新执行npx skills@latest add mattpocock/skills,把 setup 技能一起勾选,然后在 Codex 里运行/setup-matt-pocock-skills

第六类错是安装时选错了 agent。安装交互里如果选了 Cursor 或 Claude Code,但你在 Codex 里调用 /tdd,Codex 自然找不到技能。回到安装流程,确认 agent 选的是 Codex。如果同时用多个助手,可以分别安装,不要假设一套目录所有工具共用。

第七类错是工作目录不对。/tdd 依赖当前仓库的测试结构和文档路径。如果你在用户主目录启动 Codex,或者在一个空目录里输入 /tdd,技能可能无法定位测试文件。进入目标项目根目录再启动codex,并确认当前目录里有测试框架配置和至少一个已有测试文件作为参照。

第八类错是 Key 权限或余额状态异常。如果 curl 验证返回 401 或 403,先去 API Keys 页面确认 Key 是否启用、是否被删除、是否复制了多余空格。重新创建一个 Key,替换YOUR_API_KEY,再重启终端和 Codex。不要在同一篇配置里混用多个 Key,否则排查时无法判断是哪一个生效。

六、语义一致 CTA:把 Codex + /tdd 工作流固定到 TaoToken

如果你在 config.toml、base_url、env_key 或 /setup-matt-pocock-skills 上卡住,先去 API Keys 页面确认 Key 状态,再对照接入文档检查 Codex 的 provider 配置。排障和接入阶段用这两个入口最直接:

  • API Keys:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
  • 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite

如果你已经配通 Codex,想先验证模型返回是否正常,可以到模型对话页做最小请求测试:

  • 模型对话:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite

如果你准备长期在 Codex 里跑 /tdd、/grill-me、/to-issues 这类 Agent 工作流,把模型请求固定到 TaoToken 后再看 Coding Plan,避免每次换项目都重新折腾 Key 和 Base URL:

  • Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite

核心动作还是那几步:在 TaoToken 创建 Key,把 Key 填进 Codex 的 config.toml,Base URL 填 https://taotoken.net/api,不要带 /v1,安装 mattpocock/skills 时勾选 /setup-matt-pocock-skills,最后在 Codex 里用 /tdd 跑一个小切片。只要请求链路稳定,/tdd 的红-绿-重构才不会被 Codex 当成建议跳过。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 2:18:51

IDEA 集成 OpenCode 实战:从安装到模型切换的完整配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 2:17:43

TensorRT入门避坑指南:从ONNX到engine的YOLOv12部署全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 2:16:43

Swagger UI在线验证实战指南:快速掌握Schema校验与错误标记

Swagger UI在线验证实战指南:快速掌握Schema校验与错误标记 【免费下载链接】swagger-ui Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. 项目地址: https:/…

作者头像 李华