同一把 TaoToken Key,Claude Code 把模型从 Claude 切到 DeepSeek 后 Skills 还在

同一把 TaoToken Key,Claude Code 把模型从 Claude 切到 DeepSeek 后 Skills 还在 1. 为什么学这个这次多了一把统一的 Key之前刷到过不少讲 Claude Code Skills 的视频和公众号文章标题一个比一个响什么“让 AI 自己学会写 PPT”“一行命令拥有私人工作流”。看的时候觉得懂了关了页面还是一头雾水。这次终于动手把它跑通顺便搞清楚了两个一直没想明白的问题Skills 和 MCP 到底有什么区别以及把模型从 Claude 换成 DeepSeek 之后Skills 是不是就废了。动手之前我先去 TaoToken 创建了一把 API Key。原因是我不想在多个模型服务商之间来回注册、分别管理额度也不想切一个模型就改一次 Base URL 的格式。TaoToken 提供的是一个统一接入的 API 通道我可以把 Claude Code 的模型从 Claude 切到 DeepSeek但 Skills 的加载机制、SKILL.md 的目录结构、skill 的调用语法全都不变Token 消耗也统一记在这一把 Key 下面。后面所有的配置都是围绕这把 Key 展开的。2. Skills 和 MCP先分清楚后面不迷路很多人第一次接触 Skills 的时候第一反应都是“这跟 MCP 有什么区别”。我一开始也以为 Skills 是 MCP 的替代品后来跑通才知道这两个东西解决的问题完全不同维度MCPSkills本质开放标准协议提示词封装方案关注点统一调用外部工具、数据、服务教 Agent 如何完整处理某一类任务包含内容工具接口定义、传输协议执行方法 工具调用 相关知识 示例使用方式手工指定或模型自动选择手工指定xxx或模型自动选择一句话理解MCP 解决的是“怎么连工具”的问题Skills 解决的是“怎么把事情做好”的问题。MCP 负责把外部世界的东西递到 Agent 手里比如读数据库、查天气、拉 GitHub 仓库Skills 负责告诉 Agent“拿到这些东西之后按什么步骤做”比如一份竞品分析该先梳理哪些维度、PPT 应该分几页、Git commit message 该按什么格式写。两者可以配合Skill 内部的执行步骤里完全可以通过 MCP 工具去调外部服务。所以 Skills 会取代 MCP 吗我认为短期不会。Skills 没有能力凭空创造出比 MCP 更高效的工具调用协议它更擅长的是把一组操作步骤、判断条件和经验知识封装成可复用的指令。真要说替代Skills 更可能先吃掉低代码平台里那些“固定流程 条件分支”的工作流比如 Coze、Dify、n8n 里搭好的自动化场景。但在确定性很强、需要严格编排的场景下低代码平台仍然有它的优势。3. SKILL.md 里到底装了什么一个标准的 Skill 就是一个目录里面至少有一个 SKILL.md 文件。它的核心结构是用 YAML frontmatter 写元数据用正文写执行指令--- name: weekly-report description: Generate a weekly work report from commit history and task notes. --- # Weekly Report Generator ## 核心步骤 1. 收集本周的 commit 记录和任务清单。 2. 按「已完成 / 进行中 / 阻塞」三个维度归类。 3. 为每个阻塞项给出原因分析和建议。 ## Examples - Example 1: 从 git log 生成日报并汇总为周报 - Example 2: 根据任务管理软件导出 CSV 生成周报 ## Guidelines - 结果用表格呈现不要平铺文本。 - 阻塞项必须写下一步 action不能只列风险。Skills 本质上是提示词而不是一个可以独立运行的程序。它更像你用自然语言写出来的“函数封装”定义入参用户的需求、执行体步骤和判断、输出格式最终回答的组织方式。在 Skill 的执行过程中模型可以调用各种工具包括 MCP 工具也可以执行环境安装、运行命令等操作。所以 Skill 本身不是工具它是组织工具和指令的那一层壳。4. Skills 是怎么被加载和触发的理解 Skills 的运行机制对于后面切换模型很重要因为你会担心“换模型后这套机制还认不认我”。Claude Code 对 Skills 的处理分了三个阶段首次请求阶段把所有 Skills 的元数据名称 description打进上下文类似一个目录告诉模型“我手头有这些技能你可以按需取用”。按需加载阶段模型判断当前任务匹配了某个 Skill或者用户用 skill-name 显式指定才把对应 SKILL.md 的完整内容加载进来。持续交互阶段Agent 根据环境反馈、运行结果、用户补充信息在 Skill 的指令框架内持续执行直到任务完成。把这三个阶段翻译成白话Claude Code 不是第一次对话就把所有 Skill 的全文全部塞给模型。它只先报菜名等你想吃哪道菜了它才把这道菜的做法完整端上来。这种渐进式加载的好处是省 Token缺点是你哪怕只发一句“hello”所有 Skill 的名字和 description 也会跟着请求一起发出去累积起来仍然是一笔不小的开销。5. 换模型后 Skills 还在不在这是我在动手前最大的疑问也是很多人提到“接入 DeepSeek”时第一反应担心的点Skills 是 Claude 专属的东西吗把模型换成 DeepSeek那 skill-creator、SKILL.md 这些还能不能触发答案是可以前提是你理解了 7.1 节里那个概念Skills 是“插件 / CLI / 客户端工具”拥有的能力不是“模型”本身拥有的能力。我借一个工作场景来类比Skills 相当于某个关键岗位上一整套写好的 SOP 文档和操作手册它们放在工位抽屉里。Claude 和 DeepSeek 只是两个来上这个岗位的员工。你换一个员工来抽屉里的 SOP 照样在员工照样可以按手册来干活。SOP 不会因为员工换了就自动消失也不会因为新员工的经验不如老员工SOP 本身的价值就没用了。只不过最终干出来的活好不好确实要看这个新员工的领悟力和执行力。所以验证逻辑其实很简单把 ANTHROPIC_BASE_URL 从 Anthropic 官方地址换成一个兼容通道的地址把 ANTHROPIC_AUTH_TOKEN 换成新的 Key再设置 ANTHROPIC_MODEL 指定模型。Claude Code 本身没有变Skills 的加载机制也没有变变的只是底层的模型供应商。这就是为什么你在模型换成 DeepSeek 之后照样可以用 skill-creator 来创建新技能照样可以在回答里看到模型自动调用某个 Skill。6. 用 ANTHROPIC_BASE_URL 把 Claude Code 切到 DeepSeek现在开始正式配置。整个配置只需要一个 Key或者也可以直接打开 TaoToken 的模型广场选一个模型 ID 填进去。第一件事打开 TaoToken 注册并创建 API Key。创建好之后你会拿到一串形如sk-xxx的字符串复制它。后面所有需要填 Key 的地方都用你自己的这串替换掉占位符YOUR_API_KEY。然后找到 Claude Code 的配置文件。你可以选择只对当前会话生效的临时环境变量也可以写入~/.claude/settings.json永久生效。先看 Windows 下当前会话的方案在 CMD 里依次执行set ANTHROPIC_BASE_URLhttps://taotoken.net/api set ANTHROPIC_AUTH_TOKENYOUR_API_KEY set ANTHROPIC_MODELdeepseek-chat注意填进 Claude Code 的 Base URL 是https://taotoken.net/api末尾不要加/v1。TaoToken 的兼容层已经处理好了路径多加/v1反而会导致 404。这个地址和官网落地页不一样官网用于注册、创建 Key、看用量接口地址只用来填配置。如果你用的是 PowerShell语法略有不同$env:ANTHROPIC_BASE_URL https://taotoken.net/api $env:ANTHROPIC_AUTH_TOKEN YOUR_API_KEY $env:ANTHROPIC_MODEL deepseek-chat如果你希望永久生效推荐直接写进~/.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: deepseek-chat } }这里 ANTHROPIC_MODEL 的值是切换模型的关键。你既可以设成claude-*系列继续用 Claude也可以设成deepseek-chat体验 DeepSeek 的效果。具体支持哪些模型 ID以 TaoToken 模型广场上展示的为准不要凭记忆手打型号。模型 ID 写错了Claude Code 会报类似model not found的错这时候回模型广场复制一下再回来。另外还有一个容易忽略的变量ANTHROPIC_SMALL_FAST_MODEL。Claude Code 内部有一些后台任务例如自动补全、简单分类会调用一个小模型加速处理。如果这个变量不设置它会默认走 ANTHROPIC_MODEL 指定的模型。你可以在切换模型时把它一起指过去set ANTHROPIC_SMALL_FAST_MODELdeepseek-chat不设置也能跑设置了体验更完整。配置改完之后关掉当前 CMD 窗口重新打开再启动 Claude Code让环境变量重新加载。这一步很多人忘了改完配置不重启直接干活结果半天没生效还以为是自己配错了。7. 配完怎么验证/status、/cost 和一次真实调用配置完成之后不要急着写业务需求先在 Claude Code 里按顺序做三件小事第一在对话框中输入/status。这个命令会列出当前会话的模型、Base URL、连接状态。如果 Base URL 已经指向https://taotoken.net/api模型 ID 显示为deepseek-chat说明环境变量已经生效。如果还是显示默认的 Claude 模型就检查一下环境变量是否设置成功以及 CMD 是否已经重启。第二输入/cost。这个命令会显示当前会话累计消耗的 Token 数量。由于请求已经改走 TaoToken 通道这里统计的就是这把 Key 的实际消耗你可以拿它和 TaoToken 控制台的用量记录对照一下。第三做一次真实的 Skill 调用。最直接的方式是输入skill-creator 帮我创建一个整理了本周工作内容并输出周报的 skill。如果 Claude Code 正确加载了 Skill 元数据并且 SKILL.md 的完整内容被成功取用你会看到它在回答中明确说明“我将使用 weekly-report 这个 Skill 来处理你的需求”然后按 Skill 里定义的步骤逐条执行。在这里也可以验证一下 Skills 的加载机制留意回答输出的第一个阶段Claude Code 会先加载所有 Skill 的名称和 description而不是直接加载全部内容。这就是前面说的首次请求只带元数据真正使用时才按需加载。如果你用的是 macOS 或 Linux配置文件路径是~/.claude/settings.json。Windows 也可以把配置文件放到%USERPROFILE%\.claude\settings.json效果是全局生效。8. 切到 DeepSeek 之后的实际使用感受模型切换之后Skills 能正常调用这一点已经验证过了。接下来是大家更关心的问题同一个 SkillClaude 和 DeepSeek 跑出来的效果差多少我用frontend-design这个 Skill 做了对比测试模型设为 deepseek-chat。直接说结论流程完整细节打折。Skill 的控制力还在——它能保证输出整体采用移动端优先、包含组件拆解、给出设计原则说明但真正落到具体页面的视觉效果时DeepSeek 的表现不如 Claude 细腻尤其是在布局层次和视觉节奏感上。我尝试用它优化一个已有的后台管理页面。原有骨架不变的情况下DeepSeek 能较好地完成改版建议比如调整间距、统一按钮风格、规范色彩变量。但让它从零开始设计一个新页面产出的方案就比较普通没有太多让人眼前一亮的处理。这其实印证了一件事Skill 再强大也只是放大器。底层的模型能力是短板整体效果就会卡在模型这一层。切换到 DeepSeek 之后Skills 的调用链路没有问题、SKILL.md 的指令照样被执行、 语法依旧好用但最终质量的下限取决于 DeepSeek 本身的理解和生成能力。所以我的建议是如果你的场景对稳定执行更看重比如周报生成、代码审查、SQL 优化、提交信息规范化DeepSeek 完全够用成本还低。如果场景非常依赖审美和创意比如从零设计落地页、写长篇文案、做品牌方案那还是切回更强的大模型更稳妥。而这一切的前提是你不需要重新装一遍 Claude Code也不需要改 Skills 目录只需要在配置里把 ANTHROPIC_MODEL 改一个值重启会话就能在两个模型之间来回切换。9. 401、404、模型 ID 对不上切模型后最常见的三个错我在切换过程中遇到了三个报错应该也是大部分人接入时最容易踩的坑逐个说。第一个是 401 Unauthorized。现象是启动 Claude Code 之后任何请求都返回鉴权失败。绝大多数情况下是因为 ANTHROPIC_AUTH_TOKEN 没有设置成功或者设置成功但值不对。你可以回看一下环境变量里的值是不是完整的sk-xxx有没有被 CMD 的引号吃掉一部分。如果是把 API Key 写在 settings.json 里注意 JSON 的逗号是不是漏了漏逗号会导致整个配置解析失败Claude Code 会静默回退到默认配置。第二个是 404 Not Found。这个错最有迷惑性因为地址看起来没什么问题但请求就是打不到模型上。最常见的原因是 Base URL 末尾多加了一个/v1。TaoToken 的接口地址是https://taotoken.net/api不需要再拼任何路径后缀。你只需要把地址原样填进 ANTHROPIC_BASE_URL别自己脑补https://taotoken.net/api/v1这种形式。第三个是模型 ID 不匹配。你在 configuration 里写了某个模型名但 TaoToken 模型广场上没有这个名字或者名字的拼写方式跟广场展示的不一致Claude Code 会直接抛model not found。处理这个问题没有技巧也不要去社区里搜别人发的模型名最稳的方式就是打开 TaoToken 模型广场从列表里复制你要用的那个模型 ID。排障的时候可以先用/doctor检查 Claude Code 的系统状态它会列出环境变量、配置文件、Skills 目录是否有异常。如果/doctor显示 base URL 或 auth token 那两项有问题按上面的方法逐一排查。402 也就多了个/v1还算好排查最怕的就是环境变量其实没设成功用户以为是网络问题折腾半天才发现是配置没生效。10. 常用命令速查和最后一步配置完成、验证通过、模型切换也确认了剩下的就是把 Skills 当作日常开发的一部分来用。给你一份最常用的命令速查表命令功能使用频率/help查看帮助每次都可用/status查看当前模型和连接状态切换模型后必用/cost查看 Token 消耗每天收工前习惯看/memory查看项目级记忆项目进入中期后常用/compact压缩当前会话上下文对话变长时使用/doctor系统健康检查出现异常时优先跑/init初始化项目配置新项目开始时使用/resume打开历史会话跨天续写时使用这里说一个细节claude --resume打开历史会话之后可以用CtrlA查看所有项目、CtrlB切换分支、CtrlV预览、CtrlR重命名。如果你的会话因为切换模型被中断第二天直接用这个命令恢复到昨天的上下文不需要重新描述一遍背景。到这里整条链路已经完整走通打开 TaoToken 官网创建了一把 Key把 ANTHROPIC_BASE_URL 指向兼容通道模型在 Claude 和 DeepSeek 之间任意切换Skills 的目录结构、元数据加载、skill 调用逻辑完全不受影响。最后建议你回到 TaoToken 控制台用刚才那几次/cost里显示的请求记录核对一下用量确认每个请求都正确计入这把 Key并且能看到完整的调用历史和 Token 消耗明细。确认无误之后你就可以放心地把日常任务交给 Claude Code按需在模型之间来回切换了。