ARTICLE · 1080785
Claude Code 完整入门进阶教程:安装、配置、使用,一篇搞定
前几天,我分享了codex使用教程,作为当前AI Agent最强双子星,今天再继续写一篇claude code完整入门进阶教程。
第一次打开 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 实战和各种有意思的工具。
别忘了点个 赞 👍 + 在看 ❤️,感谢支持!