ARTICLE DETAIL

资讯详情

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

我的 Codex 技能库清单:程序员 had 的实战版整理与 TaoToken 配置骨架

我的 Codex 技能库清单:程序员 had 的实战版整理与 TaoToken 配置骨架 1. 为什么你的 Codex 配置总是越用越乱Codex 用久了几乎每个人都会遇到同一个问题技能库散落在不同目录config.toml 改过好几版settings.json 里塞了一堆实验性开关最后连自己都说不清哪个技能在生效、哪个 Key 在用。我见过太多人的机器上~/.codex/下面躺着三四个备份文件config.toml.bak、config.toml.old、config.toml.2024真正在跑的那份反而没人敢动。这篇不是官方文档翻译也不是概念科普。我把自己这台机器里 Codex 能调用的 Skills 重新整理了一遍同时给出一套可以直接复制的 config.toml 与 settings.json 骨架重点解决两件事技能库怎么归类才不乱以及怎么通过 TaoToken 统一 Key 和 API 通道让 Codex 的模型调用不再东一个 Key 西一个地址。适合谁看已经在用 Codex、但配置散乱、想一次性把技能库和接入通道理顺的程序员。如果你还没装 Codex这篇也能当配置模板提前存着。全文会给出完整命令、配置片段和验证动作跟着做就能跑通。先说结论技能库不是越多越好而是按「流程纪律 / 代码审查 / 文档处理 / UI 与浏览器 / 管理类」五类归档每类留 2 到 4 个高频技能其余按需加载。接入通道则统一走 TaoToken一个 Key 覆盖对话、编码、文档多类模型省掉多平台切换的麻烦。2. TaoToken 前置统一 Key 与 API 通道在整理技能库之前先把接入通道固定下来。Codex 本身支持自定义 API 地址这意味着你可以把模型请求统一指向 TaoToken用一个 Key 管理所有调用。这样做的好处很直接技能库里的技能无论调用哪个模型走的都是同一条通道排查问题时只需要看一个地方。TaoToken 的官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基地址是 https://taotoken.net/api 注意 API 地址不带 UTM 参数配置里直接写这个就行。你需要先拿到 Key。进入控制台创建 API Key路径是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 创建后复制那串以sk-开头的字符串后面配置里会用到。如果你还没决定用哪个模型可以先到模型对话页面试一下 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 确认通道能正常返回再写进配置。注意Key 只创建一次就够不要每个技能配一个 Key。统一 Key 是这套方案的核心后面排查「技能没生效」时能快速排除是不是 Key 或地址的问题。对于长期做编码和 Agent 任务的场景可以了解下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 它更适合高频调用。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 配置字段有疑问时对照这里最准。3. 可复制配置config.toml 与 settings.json 骨架这一节是全文的核心直接给可复制的骨架。Codex 的配置分两层config.toml管模型和通道settings.json管技能加载和行为开关。两者配合才能让技能库真正被调用。先看config.toml。放在~/.codex/config.toml内容如下# ~/.codex/config.toml # 统一走 TaoToken 通道一个 Key 覆盖多类模型 model gpt-4o model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat # 技能库根目录Codex 会从这里扫描 SKILL.md [skills] root ~/.codex/skills auto_load true max_active 6 # 常用技能白名单避免一次加载太多 [skills.whitelist] enabled [ systematic-debugging, verification-before-completion, openai-docs, control-in-app-browser, test-driven-development, brainstorming ]这里有几个关键点。base_url指向 TaoToken 的 API 地址env_key表示 Key 从环境变量读取不写死在文件里避免泄露。skills.root是技能库根目录auto_load打开后 Codex 启动时会扫描。max_active限制同时激活的技能数量我设成 6太多会拖慢启动。Key 写到环境变量里Linux 或 macOS 在~/.zshrc或~/.bashrc加一行export TAOTOKEN_API_KEYsk-你的KeyWindows 用 PowerShellsetx TAOTOKEN_API_KEY sk-你的Key改完记得重开终端或者source ~/.zshrc让变量生效。再看settings.json放在~/.codex/settings.json{ skills: { directory: ~/.codex/skills, loadStrategy: whitelist, reloadOnChange: true, logLevel: info }, behavior: { requireVerificationBeforeDone: true, confirmBeforeDelete: true, confirmBeforeMove: true, defaultLanguage: zh-CN }, telemetry: { enabled: false } }loadStrategy设成whitelist只加载 config.toml 里列出的技能避免全量扫描。reloadOnChange打开后你改了 SKILL.md 不用重启 Codex。requireVerificationBeforeDone对应 verification-before-completion 技能强制「说完成前先验证」。技能库目录结构建议这样组织按类别分文件夹~/.codex/skills/ ├── workflow/ │ ├── systematic-debugging/SKILL.md │ ├── test-driven-development/SKILL.md │ └── verification-before-completion/SKILL.md ├── review/ │ ├── brooks-review/SKILL.md │ └── brooks-audit/SKILL.md ├── docs/ │ ├── documents/SKILL.md │ └── spreadsheets/SKILL.md ├── ui/ │ ├── ui-ux-pro-max/SKILL.md │ └── architecture-diagram/SKILL.md └── manage/ ├── openai-docs/SKILL.md └── skill-creator/SKILL.md每个SKILL.md开头写清楚技能名、触发条件和入口说明。Codex 扫描时会读这些元信息决定什么时候调用。分类目录本身不影响加载但方便你自己定位出问题时能快速找到对应文件。4. 验证请求确认技能加载与调用生效配置写完必须验证否则你永远不知道技能到底有没有被加载。分三步走。第一步验证通道通不通。用 curl 直接打 TaoToken 的 API确认 Key 和地址没问题curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: gpt-4o, messages: [{role: user, content: ping}] }返回里有choices字段就说明通道正常。如果报 401检查环境变量有没有生效报 404检查 base_url 是不是写成了带路径的地址。第二步验证技能加载。Codex 启动时加--verbose或查看日志文件~/.codex/logs/skills.log能看到扫描到的技能列表。正常输出类似[skills] loaded 6 skills from ~/.codex/skills [skills] active: systematic-debugging, verification-before-completion, ...如果列表为空多半是skills.root路径写错或者loadStrategy设成了whitelist但白名单里的技能名和目录名对不上。技能名要和SKILL.md里声明的名字一致大小写敏感。第三步验证技能调用。在 Codex 里发一句触发指令比如按 systematic-debugging 流程处理这个报错先复现和定位根因不要先改代码。观察 Codex 的响应里有没有引用该技能的步骤。如果它直接开始改代码说明技能没被激活。这时候检查max_active是不是太小或者白名单里漏了这个技能。我试过把max_active设成 2结果调试类技能经常被挤掉后来改成 6 才稳定。这个值根据你常用技能数量调整别贪大。5. 本篇常见错排查配置过程中最容易踩的坑集中列一下对照排查。Key 读不到环境变量改了但没重开终端或者写在了错误的 shell 配置文件里。用echo $TAOTOKEN_API_KEY确认能打印出来。Windows 用echo %TAOTOKEN_API_KEY%。base_url 写错有人把 API 地址写成带/v1或带 UTM 的长链接。正确写法就是https://taotoken.net/api不带多余路径和参数。技能名对不上白名单里写的是systematic-debugging但目录名是systematic_debugging下划线和连字符不一致就加载不了。统一用连字符。技能加载了但不触发SKILL.md里的触发条件写得太模糊Codex 判断不出什么时候用。把触发条件写具体比如「遇到测试失败、异常堆栈、报错日志时使用」而不是「调试时使用」。改了配置不生效reloadOnChange只对技能文件生效config.toml 改了要重启 Codex。settings.json 同理。多个 Key 冲突如果你之前配过别的 provider检查 config.toml 里有没有残留的[model_providers.xxx]段多个 provider 同时存在时Codex 可能走了旧的。只保留 TaoToken 一个。日志级别太低看不到信息settings.json 里logLevel设成info排查时临时改成debug能看到更详细的加载过程。排障时如果拿不准配置字段直接翻接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 字段说明比猜靠谱。Key 相关问题到 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 重新生成一个对比测试能快速判断是不是 Key 本身的问题。6. 技能库清单与后续动作配置跑通后技能库按五类归档每类留高频的几个就够。流程纪律类放 systematic-debugging、test-driven-development、verification-before-completion这三个是日常用得最多的。代码审查类放 brooks-review 和 brooks-audit接手老项目时先跑 audit 看结构。文档类放 documents 和 spreadsheets处理 Word 和 Excel 够用。UI 类放 ui-ux-pro-max 和 architecture-diagram前端和架构图都能覆盖。管理类放 openai-docs 和 skill-creator前者查官方行为后者把个人工作流固化成技能。后续动作建议按这个顺序先把通道验证通过再把白名单里的 6 个技能跑一遍触发测试确认每个都能被调用。然后把你自己的常用流程比如项目启动排查、接口联调用 skill-creator 做成专属技能放进~/.codex/skills/manage/下面。这样技能库就从「抄来的清单」变成「自己的工具」。如果你还在纠结用哪个模型跑这些技能可以到模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 先试几轮确认响应质量再写进 config.toml。长期高频编码的话Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 更合适省得每次单独算额度。最后提醒一句技能库整理完不是终点SKILL.md里的触发条件会随着你的使用习惯变化隔一段时间回来看一眼把不用的技能从白名单里去掉保持max_active在合理范围。配置这东西越精简越不容易出问题。
返回列表