1. 从一次配置冲突说起:command 和 skills 到底该往哪写
如果你同时用 Cline、CC Switch、Claude Code 这类工具,大概率遇到过这种局面:同一个模型服务,在 A 工具里配好了,换到 B 工具又要重新填一遍 Key;更麻烦的是,有的工具走settings.json,有的走config.toml,还有的把 command 和 skills 分成两套目录管理。改完一处忘了另一处,请求就报 401 或者模型名找不到。
这篇就聚焦一个具体问题:command 与 skills 这两种调用路径,在配置层面到底差在哪,以及怎么用 TaoToken 的统一 API 通道把 Key 收敛成一份。command 你可以理解成「显式触发的单文件快捷方式」,skills 更像「带支撑资源的目录包」,两者在 Claude Code 2.1.3 之后执行层已经统一,都注册成 slash 命令,但组织结构和加载时机仍有区别。搞清这个区别,你才知道配置该写在哪一层。
适合谁看:手里有 Cline、CC Switch 或 Claude Code,需要在多个工具间同步模型接入信息,又不想每个工具单独维护一套 Key 的开发者。下面会给settings.json和config.toml的可复制骨架,并实际发一次请求验证通道是否打通。全程只需要一个 TaoToken 的 API Key,就能覆盖两种路径。
2. 前置准备:在 TaoToken 拿一把统一 Key
不管走 command 还是 skills,最终都要落到一个能访问模型的 API 通道上。TaoToken 的作用就是把这层通道统一起来:你只维护一个 Key 和一个 Base URL,各个工具通过各自的配置文件指向它,不用为每个工具单独申请。
先到控制台创建 Key。打开 https://taotoken.net/api-keys ,登录后点创建,复制那串以sk-开头的字符串。这个 Key 只在创建时完整显示一次,建议先存到密码管理器里。
拿到 Key 之后,记下两个固定值,后面所有配置都围绕它们展开:
| 配置项 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 所有工具统一填这个,不要带 UTM 参数 |
| API Key | sk-xxxxxx | 控制台生成,按工具需要填入 |
| 模型名 | 以控制台模型列表为准 | 不同工具对模型名大小写敏感 |
注意:Base URL 用
https://taotoken.net/api这个形式即可,不要在后面拼/v1之外的路径,具体版本路径由工具自己处理。填错路径是后面 404 报错最常见的原因。
如果你还想先确认模型能不能正常对话,可以打开模型对话页 https://taotoken.net/models 直接试一句,确认 Key 有效再往下配。这一步能省掉很多「到底是 Key 错还是配置错」的排查时间。
3. 可复制配置:settings.json 与 config.toml 两套骨架
command 和 skills 的差异,在配置文件层面体现为「单文件入口」和「目录入口」两种组织方式。下面给两套骨架,你可以按工具类型直接抄。
3.1 settings.json 骨架(适合 command 单文件路径)
Cline、部分 VS Code 插件走 JSON 配置。command 路径的特点是入口集中,一个文件里把 provider、Key、模型都写清楚:
{ "aiProvider": { "name": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的Key", "model": "控制台里的模型名", "timeout": 60000 }, "commands": { "quick-review": { "description": "快速代码审查", "promptFile": ".claude/commands/quick-review.md" } } }这里commands段对应单文件 command,每个条目指向一个 Markdown 文件。它的好处是显式、可控,你清楚知道哪个命令在什么时候被触发。
3.2 config.toml 骨架(适合 skills 目录路径)
CC Switch 这类工具用 TOML。skills 路径的特点是目录化,主文件加支撑资源:
[provider] name = "taotoken" base_url = "https://taotoken.net/api" api_key = "sk-你的Key" model = "控制台里的模型名" [skills.code-review] path = ".claude/skills/code-review/SKILL.md" support = ["checklist.md", "severity-guide.md"] auto_load = trueauto_load = true对应 skills 的自动加载特性:模型根据上下文决定何时引用这个技能,而不是等你手动敲 slash 命令。support数组列出目录里的支撑文件,主文件里用相对路径引用它们。
3.3 两种路径的适用边界
把差异整理成一张表,配置时对着选:
| 维度 | command(单文件) | skills(目录) |
|---|---|---|
| 入口 | .claude/commands/*.md | .claude/skills/<name>/SKILL.md |
| 触发 | 显式调用,如/quick-review | 可手动,也可上下文自动加载 |
| 资源 | 无支撑文件 | 模板、检查表、脚本 |
| 适合 | 单一步骤、确定性操作 | 多步骤、需复用资源的流程 |
| 配置落点 | settings.json 的 commands 段 | config.toml 的 skills 段 |
简单说:固定流程、频繁触发、逻辑单一,用 command;需要多个文件协作、希望模型主动引用,用 skills。两者在 2.1.3 之后执行层统一,但配置组织方式不同,别混着写。
4. 验证请求:发一次真实调用确认通道打通
配置写完不能只看文件,得实际发一次请求。最直接的方式是用 curl 打一次对话接口,确认 Key 和 Base URL 都对:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key" \ -H "Content-Type: application/json" \ -d '{ "model": "控制台里的模型名", "messages": [ {"role": "user", "content": "回复一句:通道已打通"} ] }'如果返回里能看到正常的choices结构,说明 Key 和通道没问题。接着回到工具里验证 command 和 skills 两条路径:
先在 Cline 里触发一次 command,比如/quick-review,观察它是否按settings.json里的promptFile加载了对应 Markdown。再在 CC Switch 里触发一次 skills 自动加载,看模型是否引用了checklist.md的内容。两条路径都走同一个 Base URL 和 Key,这就是统一通道的价值:换工具不用换 Key。
实测下来,最容易出问题的是模型名。控制台里显示的名字和配置文件里填的必须完全一致,大小写、连字符都不能差。如果返回model not found,先回去核对模型名,而不是怀疑 Key。
5. 本篇常见错排查
配置过程中踩过的坑集中在这几类,对照排查能省不少时间。
401 Unauthorized:Key 没填对,或者复制时带了空格。检查apiKey/api_key字段,确认是sk-开头且完整。另外确认没有把 Key 写进会被公开的仓库文件。
404 Not Found:Base URL 路径拼错。统一用https://taotoken.net/api,不要自己加/v1/chat之类的后缀,版本路径交给工具处理。
command 不触发:检查settings.json里promptFile指向的 Markdown 路径是否存在,相对路径的基准目录要对。command 是显式调用,没敲 slash 命令它不会自己跑。
skills 不自动加载:auto_load是否为 true,SKILL.md的description是否写清楚了这个技能做什么。模型靠 description 判断何时引用,描述太模糊就不会被加载。
两个工具行为不一致:确认它们指向的是同一个 Base URL 和同一个 Key。如果 A 工具能通 B 工具不通,多半是 B 的配置文件里 Key 或模型名写错了,而不是通道问题。
提示:排查时先用 curl 确认通道本身没问题,再去看工具配置。这样能把「通道问题」和「配置问题」分开,定位快很多。
6. 把 Key 收敛成一份,路径按复杂度选
回到最开始的问题:command 和 skills 该往哪写。答案不是二选一,而是按工作流复杂度分:单文件、确定性操作走 command,配置落在settings.json的 commands 段;多文件、需要模型主动引用的走 skills,配置落在config.toml的 skills 段。两者执行层已统一,但组织方式不同,分开维护更清晰。
真正让多工具协作变简单的,是 Key 只维护一份。所有工具都指向https://taotoken.net/api,用同一个 Key,换工具时只改配置文件里的路径,不动凭证。想长期跑编码任务或 Agent 工作流,可以看 Coding Plan https://taotoken.net/coding-plan ;需要接入文档对照参数,打开 https://taotoken.net/doc ;Key 管理回到 https://taotoken.net/api-keys 。先把 curl 那次请求跑通,剩下的配置就是填空题。