ARTICLE DETAIL

资讯详情

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

Claude Code完整工作流指南:从环境搭建到模型切换的实战串联

Claude Code完整工作流指南:从环境搭建到模型切换的实战串联 最近这个系列写到第 12 篇一直在聊 Claude Code 的各种碎片化能力比如安装、Skills、MCP、模型切换、和 Codex 对比等等。但很多朋友留言说东西都看懂了真正用起来却总觉得不顺像手里攥着一把零件就是拼不成一台能跑的车。这篇文章我就干一件事把前面讲过的所有东西按照我自己的实际使用顺序从头到尾串成一条完整的工作流。换句话说这是一篇“总装”指南适合已经把 Claude Code 装好但用不出效率的朋友也适合刚接触、想一步到位少走弯路的新手。我会按照“环境搭建 → 上下文配置 → 模型策略 → 日常操作 → 问题排查”这条主线往下走每个环节都告诉你为什么要这么做、踩过什么坑、怎么验证对不对。这一篇不是功能说明书而是把功能当成工具、把工具串成流程的个人实操总结。1. Claude Code 的完整工作流到底长什么样1.1 先给概念定个位它不是一个聊天窗口而是一个驾驶舱很多人习惯把 Claude Code 当成一个能跑在终端里的 ChatGPT这是最大的误解。聊天窗口的核心是“对话”而 Claude Code 的核心是“代理”——它不只是回答你的问题它能读取项目文件、搜索代码、执行命令、修改文件、跑测试甚至在得到授权后帮你完成一整套开发动作。我从实际使用体验出发Claude Code 的工作流本质上可以拆成五段输入上下文你告诉它任务或者让它先读代码了解项目结构。规划拆解它会把大任务拆成步骤甚至给出多个可选方案。工具执行它调用文件读写、命令执行、搜索等内置工具或者通过 MCP 调用外部能力比如查数据库、调接口。校验结果它运行测试、检查语法、比对输出确认这一步没问题才进入下一步。提交反馈把改动结果呈现给你等待确认或继续迭代。理解了这个模型你就能明白为什么官方一直在强调“让 Claude Code 自己动手”而不是你一句它一句地做问答。它真正省时间的点在于你把一个项目级的任务讲清楚它能把几十个文件之间的改动串起来完成而不是一次只改一个文件。1.2 一条主线三个分支把零散功能装进一个框架如果你脑子里只有一堆孤立的功能名词用起来就会乱。我自己习惯把 Claude Code 的能力装进“一条主线三个分支”的框架里这样任何时候遇到问题都能快速定位该调整哪一块。主线是编码代理流程读取代码 → 理解需求 → 修改实现 → 验证结果。这条线对应的是 Claude Code 本身的内置能力开箱即用不需要额外配置。三个分支分别是环境与上下文层包括 CLAUDE.md 记忆文件、MCP 外部工具连接、Skills 技能包它们决定了代理“知道什么”和“能用什么工具”。模型与接入层包括官方模型、第三方模型比如 DeepSeek、GLM、本地模型比如 Ollama它们决定了你的成本、隐私和速度。交互与界面层包括终端 CLI、VSCode 扩展、桌面版客户端它们决定你在什么场景下用什么姿势去操控这个代理。这篇文章的后半部分基本就是按照这三个分支逐一展开但和之前零散讲功能不同这次我重点说清楚它们是怎么协同工作的。2. 从零串起一套可用环境15分钟跑通日常配置2.1 安装环节最容易翻车的三个细节Claude Code 的安装本身不复杂官方推荐直接用 npm 全局安装一条命令就能搞定。但我发现实际安装中大多数报错都出在三个地方而不是安装命令本身。第一个坑是 Node.js 版本太老。Claude Code 对 Node 版本有要求如果你机器上的 Node 还是 16.x 甚至更老的版本装完大概率会出现各种奇怪的兼容性问题。我自己最开始就栽在这上面装完运行 claude 命令直接报模块加载错误。解决办法很简单先检查版本node -v npm -v我的习惯是保持 Node 在 20.x LTS 或更新版本。如果你用的 nvm 管理 Node 版本记得确认当前终端切到了正确的版本而不是系统默认的旧版。第二个坑是 PowerShell 执行策略。在 Windows 上通过 npm 全局安装后运行 claude 命令有时会提示“无法加载文件因为在此系统上禁止运行脚本”。这个其实是 PowerShell 的默认执行策略限制不是 Claude Code 本身的问题。处理方式有两种一种是以管理员权限打开 PowerShell运行 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned另一种是把 claude 换成 claude.cmd 或者直接用 cmd 运行。我个人推荐第一种一劳永逸。第三个坑是安装源和网络环境。npm 默认源在部分网络下安装速度极慢甚至会卡住。这种情况下换成国内镜像源会快很多npm config set registry https://registry.npmmirror.com npm install -g anthropic-ai/claude-code安装完成后运行 claude --version 能够输出版本号就说明基本环境已经OK了。2.2 认证与账号体系一次配好双通道切换Claude Code 的登录认证主要有两种方式一种是直接登录 Anthropic 账号另一种是用 API Key。很多人不清楚这两种方式的区别简单来说账号登录走的订阅额度API Key 走的是按量计费的 API 余额两者在同一个 Claude Code 环境里是可以切换的。在实际使用中我建议把两种方式都配置好因为不同阶段用不同通道成本差异很大。日常开发用订阅额度即可涉及批量任务或自动化脚本时切到 API Key 更可控。配置方式是在终端里启动 claude然后根据提示完成登录或者直接通过环境变量指定 API Keyexport ANTHROPIC_API_KEY你的key这里有一个比较常见的报错值得提前说——很多朋友反馈 claude code 登录返回 403。根据我遇到的情况这个错误通常有几种来源账号凭据过期、当前网络环境被服务端拒绝、或者账号权限本身有问题。处理步骤是先确认账号在网页端能不能正常访问再检查本地凭据是否需要重新登录。可以尝试执行 claude 的 logout 命令后重新走一遍登录流程或者删除本地存储的认证缓存文件再重试。如果是在特定网络环境下复现换一个普通网络环境基本能定位问题方位。另外如果你同时管理多个账号或多种订阅配置强烈建议用 cc-switch 这类工具来切换配置。它本质上是一个配置管理器可以保存多套账号或 API Key 配置需要哪个一键切换省去反复改环境变量的麻烦。我用它管理“订阅通道”和“API通道”两套配置切换成本几乎为零。2.3 让 Claude Code 在 VSCode 里面正常干活VSCode 配置 Claude Code 是热搜榜上的常客确实重度用户最终的落点大概率是 IDE而不是光秃秃的终端。官方的 Claude Code for VS Code 扩展装好之后你可以直接在 VSCode 侧边栏打开 Claude Code 面板它和终端里的 CLI 共享同一套会话和配置。安装扩展之后我建议做两件事在 VSCode 设置里把默认终端配置成支持 ANSI 颜色的终端避免对话内容显示乱码。确认你的项目文件夹已经打开并且扩展能正确识别项目根目录因为 CLAUDE.md 的加载、MCP 配置的作用范围都跟项目根目录强相关。VSCode 和 CLI 并不是两套独立的东西扩展本质上是调用了同一个 CLI 核心。所以你会发现在 VSCode 里启动的会话也可以回到终端里用 claude --continue 接上继续聊两边的状态是互通的。这一点很关键意味着你可以根据场景随时切换操作界面不用担心上下文丢失。3. 串起上下文CLAUDE.md、MCP 与 Skills 的协作机制3.1 CLAUDE.md 才是真正的“记忆中枢”Claude Code 本身没有长期记忆每次会话结束后下一次启动都是全新的。但项目里如果有一份 CLAUDE.md 文件它每次启动都会自动读取这就是它的“记忆中枢”或者说“项目知识库”。我强烈建议每一个项目都建一份 CLAUDE.md里面至少包含以下内容项目是干什么的、技术栈是什么项目的目录结构说明哪些是核心目录常用命令比如启动、构建、测试命令代码风格约定比如缩进、命名规范、组件写法一些“不要做”的禁令比如不要动某个目录、不要改某个配置文件这样 Claude Code 一进入项目就能快速建立“认知框架”而不是每次先花半天读代码猜上下文。我在实际项目中写过一份 CLAUDE.md 之后明显感觉代理第一次处理任务的成功率提升了一大截因为它不再需要从零摸索项目结构。CLAUDE.md 还支持全局和项目两级全局的放在用户主目录下项目级的放在项目根目录。两者的关系是全局的提供通用规范项目级的提供专属信息会话启动时都会加载。建议不要把什么都堆在全局文件里项目特有的东西必须放项目级否则换了项目会“记忆串台”。3.2 MCP 怎么接入数据库等外部能力如果说 CLAUDE.md 解决的是“让代理懂项目”的问题那 MCPModel Context Protocol解决的就是“让代理能操作外部世界”的问题。举个例子如果你想让它直接查数据库里的数据而不是你把数据复制粘贴给它就可以配置一个数据库 MCP 服务。配置方式通常是在项目根目录创建一个 .mcp.json 文件或者在 Claude Code 的配置文件里注册 MCP 服务器。配置内容大致长这样{ mcpServers: { my-db: { command: npx, args: [-y, some/db-mcp-server], env: { DB_HOST: localhost, DB_PORT: 3306 } } } }配置好之后重启 Claude Code让它“查看可用工具”它就能通过 MCP 服务提供的工具去连接数据库、执行查询、拿回结果。我这里必须强调一个原则MCP 接入的是工具能力不是知识库。很多人以为接了数据库 MCP 它就能理解业务数据其实它只是多了一个“执行 SQL 的工具”至于要查什么、查出来怎么用还是靠你的指令和代码上下文。工具是手脚CLAUDE.md 才是大脑。3.3 Skills 怎么让代理“会做整套动作”Skills技能包是比 MCP 更高层的一种封装。MCP 给你的是单个工具Skills 给你的是一整套“做某件事的方法论和动作序列”。拿热词里看到的“PPT Skills”举例一个完整 PPT 技能包可能会包含模板文件、内容结构规范、配图建议、生成流程说明甚至包含调用其他工具的步骤。Claude Code 加载这个技能后你只需要说“帮我做一个关于XX的PPT”它就知道该按什么顺序、用什么模板、怎么组织内容而不是先问你一堆问题。Skills 和 MCP 的核心区别我更喜欢用“厨师 vs 菜谱”来类比MCP 是给厨师提供锅碗瓢盆工具Skills 是一本完整的菜谱流程 技巧 标准。真正高效的用法是两者配合Skills 负责定义“做什么、按什么顺序做”MCP 负责提供“具体操作的通道”。官方文档里对 Skills 的目录结构和元信息有严格要求一个技能包通常由 SKILL.md 文件定义入口里面写清楚技能名称、描述、使用场景和执行步骤。如果你要自己写技能包最核心的要点是“把隐性的经验显性化”——你平时怎么做这件事的每一步怎么决策中间有哪些坑要避开全部写清楚。否则技能包就只是一堆文件的堆砌代理执行起来效果会打折扣。4. 串起模型策略同一套操作多种模型可用4.1 为什么要折腾多模型切换Claude Code 默认使用 Anthropic 自家的 Claude 模型效果确实最好。但实际项目中很多人会折腾接入 DeepSeek、GLM 甚至本地 Ollama 模型不是闲得慌而是因为真实需求各异。我的经历是一个团队里不同场景对模型的需求差异很大日常写代码小改动追求的是速度复杂架构重构追求的是推理能力涉及敏感业务数据的根本不允许走外部接口。一套模型打天下的成本要么太高要么风险太大。Claude Code 本身支持通过环境变量指定模型和 API 地址这让“一套代理框架多模型按需切换”成为可能。4.2 接入 DeepSeek / GLM 等模型的具体方式接入第三方模型的核心逻辑很简单Claude Code 通过 Anthropic 兼容协议调用模型只要第三方提供了兼容接口就能无缝接入。实际配置时主要设置两个环境变量export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_MODELdeepseek-chat export ANTHROPIC_API_KEY你的DeepSeek密钥这里的关键是 BASE_URL 要指向支持 Anthropic 协议格式的端点不同模型服务商提供的兼容地址不一样。GLM 等国内模型也有类似的兼容接入方式具体地址可以在对应文档里查原理是一致的。配好之后正常启动 claude它就会按照新的环境变量去连接对应的模型服务。这个过程中最常见的报错是“xxx is not a model this version of Claude Code recognizes”出现这个提示通常是 ANTHROPIC_MODEL 写法和当前版本识别规则不匹配或者模型代码本身有更新。我在切换 GLM 和部分模型时遇到过处理方式就是去查最新文档把模型名改成标准写法或者更新 Claude Code 版本。4.3 本地模型 Ollama 怎么配合Ollama 接入 Claude Code 是另一个热搜方向。本地模型的核心优势是隐私和数据安全代码不出本机同时不消耗外部 API 配额适合做敏感代码的初步分析。配置 Ollama 的基本思路和第三方平台类似让 Claude Code 指向 Ollama 的本地端点。Ollama 启动了兼容接口之后设置环境变量指向本地地址ANTHROPIC_BASE_URL 指到 http://localhost:11434 对应的兼容路径模型名填你已经拉取的本地模型名。但我必须说实话本地模型的推理能力目前和云端顶级模型差距明显复杂代码理解和大型重构任务用本地模型体验会下降很多。我个人把它定位成“隐私优先场景下的备选方案”而不是“日常主力模型”。如果你想要的是省钱且质量不降那 DeepSeek 这类云端高性价比模型会是更均衡的选择。4.4 省 Token 的实际操作手段热词里有人在问 Claude Code 如何用省 token这个问题我太有发言权了因为我是重度用户。最直接的一招是不要一股脑把大段代码贴进对话里。Claude Code 本身能读文件你只需要告诉它“去读 src/utils/format.ts 这个文件”它读入的内容是精确的而人肉复制粘贴往往会把无关内容也带进去白白消耗上下文窗口。第二招是及时裁剪上下文。Claude Code 有 /compact 命令会把当前对话的核心信息压缩成摘要释放上下文空间。当你感觉回答质量开始下降、或者明显是在一个很长的会话里反复兜圈子时先 compact再继续效果好很多。session 太长以后甚至可以考虑 /clear 开新会话然后把关键决策重新说一遍有时比重启前硬撑更快。第三招是控制会话的目的范围。一次会话尽量聚焦一个任务不要又改前端又改后端又修 bug 又写文档。任务杂了上下文污染严重后面每一条消息都在翻旧账token 消耗成倍增加。我在实践中发现一个会话只做一件事总消耗反而比一个大杂烩会话低得多。5. 串起日常操作把高频用法变成肌肉记忆5.1 高频命令清单我整理了一份自己天天用到的命令和指令清单几乎每次会话都会用到值得背下来claude # 在当前目录启动会话 claude --continue # 继续最近的会话 claude --resume # 选择并恢复某个历史会话 claude --print 问题 # 非交互式直接输出结果交互中常用斜杠命令/init # 自动生成项目的 CLAUDE.md /compact # 压缩对话历史 /clear # 清空当前对话 /status # 查看当前会话状态和工具使用情况 /mcp # 查看和管理 MCP 连接 /model # 切换当前模型另外还有一个容易被忽略的快捷键ShiftTab 可以在不同对话模式之间切换比如从普通对话切到更省流量的专注模式这在长会话里非常好用。5.2 会话管理和历史记录怎么保存Claude Code 的历史会话默认是保存在本地的不需要手动导出。用 claude --resume 可以看到历史会话列表从中选择要继续的那个。需要注意会话历史和项目目录是绑定的你在 A 项目里的会话记录切到 B 项目目录就看不到了。关于如何保存对话历史网上经常有人问其实官方机制已经覆盖了大部分需求。如果你是临时起意想导出某一段对话内容做记录最简单的办法是用系统重定向把交互内容保存下来或者在非交互模式下直接把结果输出到文件claude --print 分析一下当前项目的技术债 analysis.md这招在做周报、写总结的时候非常好用直接把 Claude Code 的分析结果落到文件里再人工润色就能当成工作成果用。5.3 字符乱码问题的真实原因与处理Windows 环境下的乱码问题几乎是必踩的坑尤其在 PowerShell 里。我遇到过乱码主要是两类一类是中文内容显示成乱码另一类是命令行输出里的颜色控制字符显示成乱七八糟的符号。前者本质是终端编码和程序输出编码不一致后者是终端对 ANSI 转义序列的支持问题。处理方式分两步。先保证终端代码页是 UTF-8可以在终端里执行chcp 65001然后重启终端或者 Claude Code让编码设置生效。如果用了 Windows Terminal直接把默认编码改成 UTF-8同时在设置里开启对 ANSI 颜色的支持。这个组合我试过多次基本上能把 90% 以上的乱码问题解决掉。另外如果你在 cmd 或 PowerShell 里遇到输出内容重叠或者光标乱跳考虑换用 Windows Terminal 或 VS Code 集成终端这两个对 Claude Code 这类交互式 CLI 工具的兼容性明显更好能避开大量终端渲染层面的奇怪问题。6. 串起对比视角Codex 和 Claude Code 到底怎么选6.1 定位差异两个工具两条路线现在很多人纠结选 Codex 还是 Claude Code。我两个都用过一段时间说一说我的主观感受未必绝对客观但应该对大家选型有帮助。Codex 是 OpenAI 推出的编码代理天然继承了 OpenAI 家模型的特点在代码生成速度、自然语言表达流畅度上有它的优势。Claude Code 则更强调代理执行的系统性和对复杂任务的处理能力尤其是在多文件重构、长链路调用、工具编排这些场景下给我的感觉是“更懂工程一点”。还有一个很重要的差异是生态打法。Claude Code 对 MCP 和 Skills 的架构支持非常深入这也是这一系列文章反复在讲两个扩展机制的原因。它更像一个开放框架第三方工具和自定义流程都能比较方便地集成进去。Codex 相比之下更偏向开箱即用、少折腾。6.2 我的实际选择建议我的经验是不要泛泛地问“哪个更强”要分场景日常业务代码开发前端、后端、数据处理Claude Code 在我的使用中表现更稳多文件修改时不会轻易丢上下文。快速原型验证、一次性脚本生成Codex 的速度感更好给一个描述出代码的效率很高。深度重构、跨模块改造明显倾向 Claude Code它的任务拆解习惯和工具执行流程更适合这类“工程活”。依赖特定模型能力的任务比如需要某些模型独有的长上下文处理能力这时候就要看具体模型而不是纠结于工具本身。结论其实很朴素两个工具都可以装同一个项目里也可以混用让它们各自处理擅长的部分。工具是死的人的流程是活的。我的工作流里日常主力是 Claude Code但遇到某些零碎快速的脚本任务时也会切换到 Codex 直接一把梭。最终你会发现省心比站队重要得多。7. 高频问题排查速查表最后整理一份我自己整理的排查表都是搜索热词里反复出现的问题对应给出原因和处理方向方便大家遇到问题时快速定位。问题现象可能原因处理方向安装后运行报模块错误Node.js 版本过低升级 Node 到 20.x LTS 或更新PowerShell 禁止运行脚本执行策略限制Set-ExecutionPolicy RemoteSigned登录返回 403凭据失效或账号受限重新登录或清理本地认证缓存输出乱码终端代码页不是 UTF-8chcp 65001或换 Windows Terminal提示 model 不识别模型名写法与版本不匹配查官方文档更新模型名提示 weekly limit 或额度限制订阅配额耗尽切 API Key 通道或等待额度恢复MCP 工具连不上数据库环境变量或地址配置有误检查 .mcp.json 的 env 和连接串会话越长回答越差上下文被无关内容挤占执行 /compact 压缩后继续找不到历史会话不在同一项目目录切到原项目目录再 --resume这里补一条我自己的独家经验遇到问题先清缓存。Claude Code 的配置文件缓存偶尔会抽风表现为配置改了但行为没变、MCP 新增工具不生效、模型切换不成功。这时候不用急着重装找到配置缓存目录删掉缓存文件再重启 Claude Code八成能解决。这招比卸载重装省事多了而且不破坏你的全局配置。还有一条是关于额度提示的。搜索热词里有一条“your limits are temporarily boosted. your weekly claude code limit is 50% hi”这是官方在特定时期把免费额度临时提升到一半的提示信息。看到这类提示不要慌它不是报错只是通知你额度状态发生了变化。真到了额度不够用系统会明确告诉你什么时候恢复届时不急的任务等一等急的任务切换通道即可。这篇文章从环境、上下文、模型、日常操作到对比选型把之前零散的内容完整串成了一条可执行的工作流。我写这个系列的初衷也是这样工具越来越多功能越来越复杂真正拉开差距的从来不是会不会装某个工具而是能不能把它们拧成一股绳为自己手头的事服务。配置这种东西没有一步到位的终点但它确实有一条值得反复打磨的主线——搞清楚你的任务类型、你的成本约束、你的环境边界围绕这三者去调整你的 Claude Code 用法。剩下的就交给经验和手感了。
返回列表