夜雨聆风学习资料网

ARTICLE · 1080785

Claude Code 完整入门进阶教程:安装、配置、使用,一篇搞定

Claude Code 完整入门进阶教程:安装、配置、使用,一篇搞定

前几天,我分享了codex使用教程,作为当前AI Agent最强双子星,今天再继续写一篇claude code完整入门进阶教程。

👉Codex 使用教程:从安装、配置到实际使用,一篇搞定

第一次打开 Claude Code,最容易卡住的地方可能不是“不会写 Prompt”,而是不知道该让它先做什么。

它能读项目、改文件、运行命令,看起来像一个可以直接接活的程序员。可如果我只说“帮我把这个项目优化一下”,它也只能替我猜:目标是什么,哪些文件能动,做到什么程度算完成。

我更愿意把第一次使用压缩成一件小事:先让它看懂项目,再交给它一个能检查结果的任务。

下面从安装和第一次会话开始,依次讲清权限、项目记忆、子代理、Hooks、MCP、脚本运行和用量。示例只用于说明操作,不代表实际项目的测试结果。

先装好,再确认它真的能运行

Claude Code 有终端、桌面端、VS Code 与 JetBrains 扩展,以及网页等入口。下面先用终端演示,因为命令和工作目录最容易说清楚;使用其他入口时,后面的任务拆解与验收方法仍然适用。

macOS、Linux 或 WSL,在终端运行:

BASH

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell 运行:

POWERSHELL

irm https://claude.ai/install.ps1 | iex

安装后重新打开终端,输入:

claude --version

能看到版本号,才算装好。首次输入 claude 时,按提示登录。Claude Code 需要支持的 Claude 订阅、Anthropic Console 账户或相应企业接入方式;可用方式和额度以官方页面及你的账户显示为准。

如果习惯 Homebrew,也可以用 brew install --cask claude-code。原生安装会在后台更新;Homebrew 或 WinGet 安装的版本需要按相应包管理器的方式更新。免费聊天账户并不自动包含 Claude Code。

安装 Claude Code 不等于装好了项目环境。项目需要的 Node.js、Python、Git 或其他 SDK,仍要按项目要求准备。

第一轮先让它读,不急着改

在终端进入一个已有项目目录,再启动 Claude Code:

cd /path/to/your/project

claude

这里的路径只是示意,换成你自己项目的实际路径。启动后,先看界面显示的工作目录,确认没有进错地方。

接着发一条只读任务:

先阅读这个项目,不要修改文件。请告诉我:它是做什么的、主要入口在哪里、如何启动、有哪些测试或构建命令。找不到的内容请直接说不确定,并标出你依据的文件。

这一步不要求它一次说对所有细节。重点是检查:它提到的入口文件是否存在,启动命令能否在项目说明里找到,哪些结论只是推测。

如果它没读到关键文件,可以直接指出路径,让它重新看。先校准它对项目的理解,再让它动手。

用一个小任务跑完整个闭环

假设你的项目里有一个表单,空内容也能提交。这个例子只是演示写法,不表示我在某个真实项目中做过测试。

不要只发“把表单修好”,可以这样说:

找到这个表单允许提交空内容的原因。先说明准备改哪些文件、为什么这样改;然后只修复这个问题,不改页面其他交互。完成后运行相关测试或构建,列出修改文件、验证结果和仍不确定的地方。

我会重点看四件事:目标是否单一、修改范围是否清楚、有没有实际验证、最后是否交代了结果。

Claude Code 可以查找代码、编辑文件、运行项目里的命令。但“运行过命令”不等于“问题已经解决”。改完后,自己再走一遍原来的出错步骤:输入空格、直接点击提交、输入正常内容,看看行为是否符合预期。

如果项目用了 Git,再看一遍改动差异。检查是否顺手改了无关文件、删了原有校验,或引入了新的依赖。发现问题时,给它具体反馈:

现在只输入空格仍能提交。预期是禁止提交并提示原因。请先定位遗漏,不要重写整个表单;修复后重新运行相关验证。

这一轮走通以后,你掌握的不是一个“神级 Prompt”,而是更重要的顺序:说明目标,限定范围,检查结果,再决定下一步。

权限模式:它能自己做到哪一步

权限是入门时真正值得看懂的部分。Claude Code 是否会在读文件、编辑文件或运行命令前停下来询问,取决于当前权限模式、具体规则以及账户或组织设置。进入项目后,先看界面中的模式,或者在会话里输入 /permissions 检查。

模式:default,界面常标为 Manual

操作方式:读取一般可进行,需要授权的操作会询问

适合的场景:逐项检查修改与命令

模式:acceptEdits

操作方式:工作目录内的文件编辑和常见文件操作自动接受

适合的场景:范围明确的持续迭代

模式:plan

操作方式:主要读取和分析,不直接改源文件

适合的场景:陌生项目、先审方案

模式:auto

操作方式:后台检查工具调用,常规操作可自动通过;部分操作仍会停下

适合的场景:较长任务,减少逐项确认

模式:dontAsk

操作方式:未预先允许且本来需要询问的操作直接拒绝

适合的场景:无人在场的脚本

模式:bypassPermissions

操作方式:跳过常规权限提示,仍受部分强制规则约束

适合的场景:充分隔离且清楚后果的环境

这是帮助理解的概括。允许、询问、拒绝规则还会影响具体结果;组织管理员也可能设置额外约束。真正生效的设置以你当前会话的 /permissions 为准。

对陌生项目,我会先用 plan:让它调查并给出方案,确认方向后再进入修改。日常修改可以按需要使用默认模式或自动接受编辑的模式。auto 会对操作进行后台审核,减少常规确认,但仍可能因某些动作停下来询问。bypassPermissions 跳过大部分权限提示,不适合作为初学者的日常起点。auto 更不能理解为“完全无人监管”。

终端会话中可以用 Shift+Tab 切换模式。不同版本、账户和组织策略会影响可选项与起始模式,所以不要照着别人的截图判断自己现在有什么权限。

尤其要留意删除文件、安装依赖、改数据库、推送代码和调用外部服务。就算工具允许执行,这些动作是否符合你的目标,仍需要你判断。

CLAUDE.md:把重复说的话变成项目规则

如果你每次都要提醒“不要升级依赖”“改完运行测试”“不要碰数据库”,可以把稳定的项目约定写进项目根目录的 CLAUDE.md。Claude Code 会在后续会话读取它;也可以先运行 /init 生成初稿,再自己删掉不准确或冗长的内容。

一个短版本就够用:

项目是一个本地运行的待办清单。

修改前先确认涉及的文件。

不要更换框架或升级依赖,除非任务明确要求。

修改后运行项目已有的测试;如果无法运行,说明原因。

结束时列出修改文件和验证结果。

CLAUDE.md 适合放长期有效的规则,不适合塞进整份需求文档。单个文件尽量控制在 200 行以内:每次会话加载的规则太长,会占用上下文,也更难稳定遵守。某类文件才需要的约定,可以放进 .claude/rules/。

文件的范围也不同:~/.claude/CLAUDE.md 面向个人所有项目;项目根目录的 CLAUDE.md 或 .claude/CLAUDE.md 可以随仓库共享;CLAUDE.local.md 适合本机专用的项目约定。具体任务的目标和验收标准,仍应在当次对话里说清楚。

自动记忆:由 Claude 自己整理的项目背景

每个新会话都从新的上下文开始。除了你维护的 CLAUDE.md,Claude Code 还可以根据你的纠正、偏好和项目背景写自动记忆。用 /memory 可以查看和编辑,而不是只能盲信它“记住了”。

自动记忆的索引 MEMORY.md 在会话开始时只加载前 200 行或 25 KB,详细主题文件按需读取。重要结论仍要复核;团队必须遵守的规则,我更倾向于写进明确可审阅的项目指令。

还要分清:CLAUDE.md 是给模型看的指令,不是强制权限边界。真要阻止某类操作,应配置权限规则或 Hook,不能只写一句“不要这样做”。

子代理:给重复出现的任务一个专门助手

当主会话需要搜索许多文件、读很长的日志,或做一轮独立代码审查时,子代理很合适。它在自己的上下文里工作,再把结果带回主会话。Claude Code 有内置的探索和通用子代理,也支持自定义。

例如,希望有一个只读的代码审查助手,可以直接说:

请在当前项目的 .claude/agents/ 创建一个只读审查子代理。它只检查本轮改动涉及的文件,指出可能的逻辑错误和遗漏的测试,不修改代码;报告必须给出文件位置、原因和建议验证方式。创建后先把代理文件展示给我检查。

生成的文件本质上是带元数据的 Markdown,示意结构如下:

---

name: change-reviewer

description: 审查本轮代码改动,报告逻辑错误和验证缺口

tools: Read, Grep, Glob

model: sonnet

---

只审查当前任务相关文件,不修改文件。

每条问题说明位置、影响和验证方法。

放在项目的 .claude/agents/,团队可以共享;放在 ~/.claude/agents/,则供个人跨项目使用。随后可以说“请用 change-reviewer 审查本轮改动”。按当前官方说明,创建自定义子代理主要通过描述需求或直接编辑文件,/agents 不再是旧版的创建向导。

子代理有独立上下文,也会产生模型调用、占用额度。适合边界清楚且重复出现的工作,不需要为每个小任务都建一个。

Hooks:在特定事件自动执行规则

子代理负责判断和执行一项任务,Hook 则在特定事件发生时自动运行。比如修改文件后检查格式、等待输入时发提醒、运行某条命令前先判断能不能放行。

Hook 写在 Claude Code 设置中。下面是结构示例:某个确实提供 npm run lint 的 Node.js 项目,可以在 .claude/settings.json 中配置文件编辑后的检查。

JSON

{

  "hooks": {

    "PostToolUse": [

      {

        "matcher": "Edit|Write",

        "hooks": [

          { "type": "command", "command": "npm run lint" }

        ]

      }

    ]

  }

}

它会在匹配的工具操作后运行命令。别不加检查地照搬:每编辑一次就跑全量 lint 可能很慢;有的项目也没有这个脚本。先明确你要自动化的动作,再选事件和命令,用 /hooks 查看配置并实际测试。

PreToolUse 可以在操作发生前检查并拒绝,适合必须阻止的行为;PostToolUse 适合操作后的检查。团队配置可放在 .claude/settings.json,只供本机使用的项目配置可放在 .claude/settings.local.json。Hook 脚本本身也要审查,不要把密钥写进配置。

MCP:连接项目之外的系统

Claude Code 自带文件与命令工具。MCP 用来连接知识库、数据库、SaaS 等外部能力。添加远程 HTTP 服务时,命令形式如下:

claude mcp add --transport http 服务名 https://服务方提供的地址

这里的中文是占位说明,运行前必须换成服务方提供的名称和 URL。添加后可执行 claude mcp list,或者在 Claude Code 会话里输入 /mcp,检查连接状态并完成所需认证。

本地运行的 MCP 服务使用 stdio;命令中的 -- 用来分开 Claude Code 的参数与服务自身的启动参数。接入前先看清服务会暴露哪些工具、要给哪些权限,以及它是否真的能帮当前任务。接太多服务也会增加上下文负担。

如果一项工作已有成熟的命令行工具,先用 CLI 也可能更简单。MCP 适合需要稳定调用外部能力的场景,不是每个新项目的必装清单。

-p:把 Claude Code 放进脚本

输入 claude 会进入持续追问的交互会话;-p 或 --print 则执行一次请求、打印结果后退出,适合临时查询与脚本:

claude -p "解释这个项目的启动流程"

如果程序需要解析结果,可以加 --output-format json。无人值守运行时,可配合 --permission-mode dontAsk 和明确的允许规则,让未获准的动作直接失败;--max-turns 限制一轮最多走多少个代理回合。走 API 计费的脚本还可用 --max-budget-usd 设置该次调用的费用上限。

后台会话使用 --bg:任务在后台继续,终端先返回。它和 -p 是不同用途,不能直接组合;需要时先查看当前版本的 CLI 帮助及后台会话管理方式。

常用命令:先记这些就够了

进入会话后输入 /,可查看当前版本实际支持的命令。

命令:/help

用途:查看帮助与可用命令

命令:/init

用途:生成项目指令初稿

命令:/permissions

用途:查看和调整权限规则

命令:/memory

用途:查看项目指令与自动记忆

命令:/context

用途:查看上下文占用

命令:/clear、/compact

用途:清理旧话题,或压缩后继续长任务

命令:/model

用途:切换当前模型

命令:/mcp、/hooks

用途:查看 MCP 连接与 Hook 配置

命令:/resume

用途:回到之前的会话

命令:/usage

用途:查看用量与费用信息

命令:/diff、/rewind

用途:检查改动,或回到较早的检查点

命令:/doctor

用途:排查安装和配置问题

第一周最常见的错误,是把 CLAUDE.md 写成几百行的万能手册、在一个会话里连续做互不相关的任务、装好许多 MCP 却不检查权限,以及看到 auto 就以为可以完全离开屏幕。

如果回答开始重复旧上下文,先看 /context,再考虑 /compact 或为新任务开启新会话。如果它说“测试通过”,看清实际运行的命令和结果;如果改动很大,先看 /diff,再亲手检查关键流程。

用量与工具选择,最后再优化

订阅与 API 按量计费的体验不同。用量会随模型、任务复杂度、读取文件数量、子代理调用和外部工具而变化。当前额度和实际消耗可以在账户页面及 /usage 中查看。

有效的几个动作很朴素:简单修改不必总选最重的模型;互不相关的任务分开会话;长对话只保留还要用的上下文;MCP 只接当前需要的服务。

Claude Code 从终端起家,也有 IDE、桌面和网页入口。如果你主要在终端、脚本或远程环境里工作,CLI 很顺手;习惯在编辑器里逐行看代码,也可以选 IDE 集成。选你能看清过程、能复查结果的入口即可。

常见问题

Claude Code 可以免费用吗?

免费的 Claude 聊天账户不自动包含 Claude Code。通常需要支持 Claude Code 的订阅、带有 API 额度的 Anthropic Console 账户,或企业提供的接入方式。不同账户的使用上限也不同,开始前先看自己的账户状态。

CLAUDE.md 和自动记忆有什么区别?

CLAUDE.md 是你主动写的项目规则,例如构建命令、代码约定和不能随意修改的范围;自动记忆由 Claude Code 根据会话中的纠正和偏好整理。前者适合必须明确交代的长期要求,后者适合积累背景。两者都可以检查和修改,也都不能代替实际权限规则。

auto 模式打开后,可以完全不看执行过程吗?

不建议。auto 会对工具调用做后台检查,常规操作可能直接通过,部分操作仍会停下来询问。即使操作被允许,任务目标是否正确、改动是否多余、测试是否充分,最后仍要看结果和差异。

不安装 MCP,也能正常使用 Claude Code 吗?能完全离线用吗?

不安装 MCP 没问题。读取文件、修改代码、运行本地命令是 Claude Code 的内置能力;MCP 主要用于连接外部系统。但“无需 MCP”和“完全离线”是两回事:让 Claude 模型回答并继续处理任务,通常仍需要能连接所使用的模型服务。只有某些本地命令本身可以在断网时运行,不能据此认为整个 Claude Code 会话都能离线工作。

每次开新会话,都要重新解释整个项目吗?

不用把项目从头粘贴一遍。Claude Code 会按需读取当前目录的文件;长期有效的约定放进 CLAUDE.md,可保留的偏好和纠正可通过自动记忆延续。新任务仍要说清当次目标、范围和完成标准,因为这些不该靠它从旧对话里猜。

回到开头的问题:第一次用 Claude Code,怎样知道它真的做对了?

先确认工作目录和权限;让它说明依据;把任务缩到可验收;最后检查差异、命令结果和实际行为。等这条闭环走顺,再引入子代理、Hooks、MCP 和自动化。

感谢大家点个关注,持续分享 AI 实战和各种有意思的工具。

别忘了点个 赞 👍 + 在看 ❤️,感谢支持!

相关学习资料