Claude Code — 在终端中工作的 Anthropic 智能体式编程工具
从一个人用的工具,走向团队的工作方式。同时运行多个,在 上呼叫 @claude,用分享团队的设置,让长任务自己检查结果直到完成。
基础 — 安装并完成你的第一个任务
第一次接触?从这里开始。了解 是什么,安装它,再跟着做最初的五个步骤。全部做完后,进入上方的 [进阶] 标签。
它是什么
是 开发的编程工具( tool)。你用自然语言描述任务,它就会读取文件、修改代码、运行命令,并在动手前先征求你的许可。它在中运行,也可以在 、 等代码编辑器、和网页上使用。
你需要什么
- 账户: Pro、Max、Team 或 Enterprise 套餐,或 Console()账户。免费的 claude.ai 套餐不包含 Claude Code。
- 电脑: 13 或更高、 10(1809)或更高版本、 20.04 或 10 或更高版本,至少 4 ,并能连接互联网。
- 一个用来工作的项目文件夹 — 最好是 ,这样每处改动都能查看和撤销。
安装
在 macOS、 和 上运行第一行;在 Windows 上运行 那一行。这样安装后,它会在后台自动更新。用 和 WinGet 安装的不会自动更新。
- macOS · Linux · WSL
curl -fsSL https://claude.ai/install.sh | bash- Windows PowerShell
irm https://claude.ai/install.ps1 | iex- Homebrew
brew install --cask claude-code- WinGet
winget install Anthropic.ClaudeCode- ( 22+)
npm install -g @anthropic-ai/claude-code
检查安装
打开一个新的终端窗口。claude --version 应显示版本号, 会显示安装状态。如果看到“”,请重新打开终端并检查 。
claude --version
claude doctor
第一次运行 — 五个步骤
- 打开终端,进入要工作的文件夹:已有项目用
cd <文件夹>进入;新项目用下面的命令创建一个空文件夹。然后输入claude并按 Enter(这会启动终端里的工具,而不是桌面应用)。第一次运行时会打开让你登录。 - 已有项目:问它“这个项目里有什么?”,让它阅读项目。空文件夹:说出你想做什么,例如“我想做一个显示今天日期的单页网站,该怎么开始?”
- 已有项目:运行
创建 ,然后加上你的和要遵守的。空文件夹:先跳过这一步,因为/init需要有代码可读,等项目里有文件后再运行。 - 输入
/plan,或一直按 直到出现 plan mode,切换到后提出修改;在空文件夹里就请它创建最初的文件。批准之前,先确认它要改哪些文件、要运行哪些命令。只批准属于你交代的工作的操作;如果混入了别的内容,先改计划。 - 用
git status(新文件)和git diff(修改过的文件)查看改了什么,再通过运行测试等方式亲自确认结果,然后提交。
已有项目
cd my-project
claude
新项目(空文件夹)
mkdir my-project && cd my-project
git init
claude
做网页相关的工作时请连接浏览器 — Claude in Chrome (browser connected)
如果工作涉及网页,请连接浏览器,让 Claude 能检查自己的修改。把 扩展连接到 Claude Code 后,Claude 改完代码会在你自己的 里打开页面、点击、输入、读取控制台错误,自己确认结果。如果没有任何浏览器工具,Claude 就打不开页面,所有的检查都落到你身上。如果工作不涉及网页,可以跳过这一框:CLAUDE.md、测试命令和设置更重要。
Claude in Chrome 只是选择之一,它使用你自己的 Chrome,适合已登录的网站。Playwright 、Chrome MCP 这类 MCP 浏览器工具同样能让 Claude 打开并检查页面。它们可以无窗口(headless)运行,所以在不能用扩展的 WSL 或 登录下也能用。
- 从 Chrome Web Store 安装 Claude in Chrome 扩展(1.0.36 或更高版本),并用与 Claude Code 相同的 claude.ai 账号登录。它可以在 Chrome、 以及 、Arc 等 浏览器中使用。
- 在终端里用
claude --chrome启动 Claude Code。第一次会出现介绍画面,按 Enter 即可。 - 打开
/chrome,确认显示 Status: Enabled 和 : Installed,然后打开 Enabled by default。这样以后不加--chrome,每个也都会自动连接( 和 VS Code 共用这个设置)。 - 在 VS Code 扩展中,在输入框里输入
@browser即可连接;打开 Enabled by default 后,每个会话从一开始就已连接。
claude --chrome # start with the browser connected
# inside Claude Code
/chrome # Status: Enabled · Extension: Installed
# → turn on "Enabled by default" once
@browser open localhost:3000 and check the console for errors
只有在 Pro、Max、Team 或 Enterprise 套餐下用 /login 登录时才能使用 — 用 API 密钥或 等第三方提供商不行,在 WSL 中也不能用。遇到登录页面或 时,Claude 会停下来交给你处理。
常用功能
安全地使用
- 不懂的命令绝不批准。开始时严格一些,只放开你信得过的。
- 相信输出,而不是总结 — 即使它说“测试通过”,也要自己运行一遍。
- 多次小循环胜过一次大请求:每一轮之后提交或撤销。
基础练习 — 从头试一次
卡住时:claude 启动不了就用 claude doctor 检查安装;登录页没有打开就关掉终端、重新打开,再运行 claude。五项都做完了?进入 [进阶] 标签。
在 SONUB 上深入学习
官方文档
- Claude Code — Overview
- Claude Code — Advanced setup
- Claude Code — Quickstart
- Claude Code — Common workflows
- Claude Code — Use Claude Code with Chrome
已于 2026-10-19 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
进阶 — 每天的习惯:指令文件、权限、上下文
浏览器连接 — 让 Claude 自己打开并检查改过的页面
)做网页相关的工作时, 在连接的状态下表现最好。它修改、打开 、通过点击和输入走完流程、读取控制台错误和 ,再修好出错的地方 — 整个循环不需要你插手。不只相信 "测试通过" 这句话,而是在真实页面上确认 — 这就是一定要使用浏览器连接的原因。
会打开工作(每个归入一个标签页组),并直接使用你浏览器的登录状态。所以不用另外连接 ,也能在你已经登录的管理后台、Google Docs、Gmail 等里工作。它可以在哪些网站上点击和输入,由 的网站决定。
- 实时 — 直接读取控制台错误和 DOM 状态,修改导致问题的代码。
- 检查设计 — 打开页面,看是否与一致,在宽屏和窄屏上是否会错乱。
- 测试网页应用 — 把校验、登录、下单等用户流程一直走到最后。
- 在已登录的网站上工作 — 修改后台设置、填写表单、上传你电脑里的文件、从页面提取并保存为文件。
- 记录 — 把做过的操作录成 ,或把保存为文件,附在报告里。
claude --chrome
# inside Claude Code
/chrome # Status: Enabled · Extension: Installed · "Enabled by default"
/mcp # claude-in-chrome → View tools
I changed the login form validation. Open localhost:3000/login,
submit it with an empty email, and check that the error message
appears and the console has no errors. Fix anything that is wrong.
@browser go to localhost:3000 and check the console for errors
工具没反应时,在 /chrome 里选择 Reconnect extension。如果扩展和 Claude Code 登录的是不同的账号或组织,会出现 "Browser extension is not connected"(用 /status 查看组织)。会挡住浏览器命令 — 请自己关掉,再告诉 Claude 继续。浏览器工具会一直加载,所以会多占一点,但做网页工作时一直开着要好得多。
模型和努力程度 — 该用哪个(推荐:Opus 5.5,High)
)截至2026年11月,开发请用 Opus 5.5,强度选 High。它的默认强度是 medium,所以请按下面的方法设置,或运行 / opus 和 /effort high。所有模型和强度,以及什么时候调低、什么时候调高,都在工具大师的“推荐用法”里。
{
"model": "opus",
"effortLevel": "high"
}
claude --model opus --effort high
# inside Claude Code
/model opus
/effort high
CLAUDE.md — 每次会话都会读取的项目指令
)是 Claude Code 每次会话开始时都会读取的 文件。把你懒得反复说的内容写进去:构建和、代码、绝对不能做的事。运行 ,它会阅读项目并写出第一版 CLAUDE.md。放在多个位置的 CLAUDE.md 不会互相覆盖 — 它们会被一起读取。
- ~/.claude/CLAUDE.md — 适用于所有项目的个人指令
- ./CLAUDE.md 或 ./.claude/CLAUDE.md — 团队共享的项目指令(到 )
- ./CLAUDE.local.md — 只有你在这个项目里使用的指令(加入 )
- 里的 CLAUDE.md — Claude 读取或编辑该文件夹里的文件时也会读取。.claude/rules/ 里的规则文件可以用 paths 只对特定文件生效
- 注意:只要工作文件夹或其上层任何文件夹里有 CLAUDE.md、.claude/CLAUDE.md 或 ,Claude Code 就不会读取 。你个人的 ~/.claude/CLAUDE.md 不算在内 — 见下一节。
# My App
## Commands
- Install: npm install
- Test: npm test
- Lint: npm run lint
## Rules
- TypeScript strict mode. Do not use `any`.
- Put new API routes in src/routes/.
- Never edit files in vendor/.
- Run the tests before you say a task is done.
@docs/architecture.md
保持简短(官方文档建议少于 行)。它每次都会被读取,太长的文件会占用空间,还会把重要的规则淹没。/memory 会显示已加载的指令文件并打开它们供你编辑,@path(比如 @docs/architecture.md)可以引入另一个文件。如果你同时使用多个 ,最好在项目里只放 AGENTS.md,而不是 CLAUDE.md — 请看紧接着的下一节。
只用 AGENTS.md — 让所有 AI 按同一份指令工作
)为什么要这样做?如果一个项目在 Claude Code 之外还用 、、 等其他 AI,每个工具各自的指令文件很快就会变得不一致。AGENTS.md 是许多都会读取的开放格式。把规则在 AGENTS.md 里写一次,无论你用哪个 AI,大家都遵守同样的指令。下面的方法正是为此而存在 — 让一个项目里的多个 AI 通过 AGENTS.md 使用同一份指令。
Claude Code 也能直接读取 AGENTS.md(v2.1.277 或更高),但方式和 CLAUDE.md 不太一样。
- 在默认设置下,只有当工作文件夹及其上层任何文件夹里都没有 CLAUDE.md、.claude/CLAUDE.md 或 CLAUDE.local.md 时,它才会读取 AGENTS.md。只要为个人笔记加一个 CLAUDE.local.md,AGENTS.md 就不再被读取(~/.claude/CLAUDE.md 和 .claude/rules/ 在这里不算)。
- 当子文件夹没有自己的 CLAUDE.md 时,Claude 用 Read 工具打开那里已有的文件,就会读取该子文件夹里的 AGENTS.md。如果 Claude 在读取已有文件之前先在那里创建新文件,可能还没有加载该文件夹的指令。子文件夹里的 CLAUDE.md 在 Claude 读取、创建或编辑那里的文件时加载。
- AGENTS.local.md、 和 ./ 文件夹下的文件都不会被读取,用 --add-dir 添加的文件夹里的 AGENTS.md 也不会。
最好的方法是在项目文件夹里完全不用 CLAUDE.md,只用 AGENTS.md。这样,你的指令 ~/.claude/CLAUDE.md 仍会默认被读取,而在项目文件夹里使用的是 AGENTS.md。Codex 等其他 AI 也读取同一个 AGENTS.md,所以规则只需在一个地方修改 — AGENTS.md。
但只要你在任何一个地方使用 CLAUDE.md — 项目文件夹、、或子文件夹 — 就必须在所有文件夹里都使用 CLAUDE.md。只要工作文件夹或其上级有一个 CLAUDE.md,Claude Code 就不会读取 AGENTS.md,所以混着用会导致有些文件夹的规则被读取,有些文件夹的规则被漏掉。这种情况下如果仍想使用 AGENTS.md,只要在每个 CLAUDE.md 里加一行 @AGENTS.md 即可。@path 是把文件内容引入到该位置的语法,官方文档也说明,这种引入绝不会让 Claude 把 AGENTS.md 读两遍。
- 在项目顶层的 AGENTS.md 里写共享规则(安装和测试命令、代码规则、不能做的事)。也可以用 Codex 的 /init 来创建它。
- 不要在项目里(当前文件夹、上级文件夹、子文件夹都不行)创建 CLAUDE.md、.claude/CLAUDE.md 或 CLAUDE.local.md。
- 把你用于所有项目的个人指令放在 ~/.claude/CLAUDE.md — 它总是和 AGENTS.md 一起被读取。
- 如果某个子文件夹有自己的规则(比如 api/),也在那里放一个 AGENTS.md。
- 在 Claude Code 里打开 /memory,确认 AGENTS.md 已加载。如果你决定使用 CLAUDE.md,还要确认每个文件夹的 CLAUDE.md 里都有一行 @AGENTS.md。
~/.claude/CLAUDE.md ← your personal rules (still loaded by default)
my-project/
├── AGENTS.md ← shared rules for every AI (Claude Code, Codex, Cursor, Gemini …)
└── api/
└── AGENTS.md ← rules only for api/
(no CLAUDE.md anywhere in the project)
my-project/
├── AGENTS.md
├── CLAUDE.md ← @AGENTS.md
└── api/
├── AGENTS.md
└── CLAUDE.md ← @AGENTS.md
@AGENTS.md
值得了解的事和其他方法。① 在 /config 里把 Project instructions 设为 claude-md-and-agents-md,每个文件夹的 AGENTS.md 会紧接着它的 CLAUDE.md 被读取。② (ln -s AGENTS.md CLAUDE.md)也可以,但如果有人用 ,一行 @AGENTS.md 更安全。
权限和模式 — 决定哪些事不用问就能做
)Claude Code 在编辑文件或运行命令之前会先问你。如果每次批准同样的事情让你觉得麻烦,就把它变成规则,并根据工作切换模式。
- — 切换模式:default(每次都问)→ (编辑文件不用问)→ plan(只读并展示计划)。如果你是以 auto 模式启动的,第一次按下会切换到 default。
- /permissions — 查看和编辑 allow、ask、deny 规则,以及每条规则来自哪个文件。
- 放团队共享的规则(提交它),.claude/settings.local.json 放只有你用的规则,~/.claude/settings.json 放适用于你所有项目的规则。
- 规则按 deny → ask → allow 的顺序检查。在任何地方被 deny 的事,在别处都无法 allow,所以要用 deny 挡住 这样的机密文件。
{
"permissions": {
"allow": [
"Bash(npm run lint)",
"Bash(npm run test *)",
"Bash(git diff *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}
(--dangerously-skip-permissions)会关闭所有检查。只在出问题也无所谓的地方使用,比如不能上网的或。
管理上下文 — 当对话变长时
)Claude 一次能看到的量()是固定的。对话、读过的文件和命令输出都会堆积在那里,满了之后前面的部分会被总结。对话越长,前面的指令就越模糊,所以要养成整理的习惯。
- /context — 用彩色方块查看是什么占用了上下文、占了多少。
- /compact — 总结到目前为止的对话来腾出空间。你可以说明要保留什么(比如 /compact 重点保留登录 的修复)。
- — 开始不相关的工作时,打开一个上下文为空的新对话。之前的对话不会被删除,可以用 重新打开。
- claude -c 继续这个文件夹里的上一次对话,claude -r 或 /resume 可以选一个更早的对话继续。
- 按两次 (或 /rewind)— 从列表中选一个更早的时间点,把对话和代码都过去。用 删除或移动的文件不会恢复,所以它不能代替 Git 提交。
一个对话只做一件事。工作换了,用 /clear 重新开始是最简单的整理方法。
节省上下文 — 把 Claude Code 设为在 444k 时自动压缩(SONUB 设置)
)好好提问 — 在哪里、做什么、怎么检查
)- 模糊的请求:“修一下登录”
- 清楚的请求:“在 @app//Controllers/LoginController.php 里,密码错误时会出现 500 错误。改成返回 422 和,在 tests/Feature/LoginTest.php 里加一个测试,并确认测试通过。”
- 输入 @ 选择文件并附加到请求里(@src/login.ts)。
- 错误画面和设计稿,可以粘贴或拖入截图。
- 大任务先用 /plan(或 Shift+Tab)进入。Claude 会查看代码并写出计划,在你批准之前不会修改任何文件。
- 遇到难题时,在 /model 里提高模型和,或者在请求里写上 ,让它只在这一轮更深入地思考。
- <终点线> — 不用再提新请求,Claude 会一轮接一轮地工作,直到达到终点线(例:/goal tests/ 里的测试全部通过, or stop after 20 )。只输入 /goal 查看状态,/goal clear 删除。
最佳实践 — Anthropic 推荐的 Claude Code 用法
)简单说:给 Claude 一个能自己检查的办法,难的事先做计划,请求要具体,CLAUDE.md 要简短,转到不相关的新任务时用 /clear — 如果是相关的后续工作,就保留当前上下文。两份官方指南里的六个好习惯,以及 Claude Code 和 Codex 的,都在“推荐用法”里。
常见错误 — 以及如何纠正
)官方指南警告了五种失败模式——什么都塞的会话、反复纠正、过长的 CLAUDE.md、不检查就相信、没完没了地探索。两份指南里的十个常见错误及改正方法,都在“推荐用法”里。
进阶练习 — 在你自己的项目里试试
)- 在你项目的根(root)里创建 AGENTS.md 文件,写上测试命令和三条规则,并确认项目里没有 CLAUDE.md。
- 打开 /memory,确认 AGENTS.md 和 ~/.claude/CLAUDE.md 都已加载。
- 在 .claude/settings.json 里 allow 一个测试命令、deny .env,然后用 /permissions 确认。
- 在计划模式下请求一个小功能,阅读并调整计划,然后批准。
- 用 /context 查看用了多少,用 /compact 后再看一次。
五项都做完了?最后,准备好转到不相关的新任务时就用 /clear,然后进入 [高级] 标签。
官方文档
- Use Claude Code with Chrome
- Memory — CLAUDE.md · AGENTS.md
- Permissions
- Settings
- Checkpointing
- Model configuration — auto-compact window
- Best practices
- Best practices — common failure patterns
已于 2026-10-19 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
高级 — 扩展它:技能、子智能体、钩子、MCP、无界面运行
智能体技能 — 教它你重复做的工作
)技能就是一个装有 的文件夹。平时 只知道每个技能的名称和说明;当工作符合说明时,它才会读取正文并照着做。所以技能再多也几乎不占空间。以前的自定义命令(.claude/commands/)现在已经合并进技能。
- .claude/skills/<名称>/SKILL.md 用于这个项目,~/.claude/skills/<名称>/SKILL.md 用于你的所有项目。
- 在 description 里清楚写明它做什么、什么时候用,Claude 就会自己选中它。
- 也可以用 /<技能名称> 直接运行。创建新技能之前,先用 /skills 看看已经在用的名称:如果新技能和其他位置的技能同名,用 /<名称> 只会运行其中一个(命名见下面两节)。
- 把和参考文档放在同一个文件夹里,并在 SKILL.md 中指向它们。SKILL.md 保持简短,少于 500 行。
---
name: release-notes
description: Write release notes from the git log. Use when the user asks for release notes, a changelog or "what changed since the last tag".
---
# Release notes
1. Find the last tag: `git describe --tags --abbrev=0`
2. Read the commits since then: `git log <tag>..HEAD --oneline`
3. Group them under Added / Fixed / Changed.
4. Write plain sentences a user can understand. Skip internal refactors.
技能是开放标准 — 但 Claude Code 有自己的做法
)技能最早由开发 Claude 的公司 创建并免费公开。如今它是一个名为 的,由 agentskills.io 管理。、、、 等许多 工具都读取同样的 SKILL.md 文件夹。
不过要注意:标准只规定技能文件夹里放什么。去哪里找技能、名称冲突时用哪一个,都由各个工具自己决定,而 的做法和 agentskills.io 推荐的不同。所以在别的工具里好用的技能,在 Claude Code 里可能表现不同。
- 文件夹:agentskills.io 推荐许多工具共用的 .agents/skills/,但 Claude Code 读取的是 (项目)和 ~/.claude/skills/(个人),不读取 .agents/skills/。
- 同名时:标准的通用规则是项目技能优先于个人技能。Claude Code 正好相反 — 企业(enterprise)优先于个人,个人(~/.claude/skills/)优先于项目。
- 上级和下级文件夹:标准没有规定。Claude Code 读取你启动时所在的文件夹,以及往上直到 的每一级;下级文件夹只有在它到那里工作时才读取(见下一节)。
- :标准有六个字段 — name、description、、compatibility、 和 。Claude Code 另外加了 disable-model-invocation、: fork、paths 等字段。其他工具会忽略它们,而 claude.ai 上传和 会报错停止。
要和其他 AI 工具共用的技能,frontmatter 只写六个标准字段。这样在 Claude Code 和其他工具里都能原样加载,不用修改。
Claude Code 在哪里找技能 — 当前文件夹和上级文件夹一起
)Claude Code 会读取你启动 claude 的文件夹,以及一直到 git 仓库根目录的每个上级文件夹里的 .claude/skills/,并把它们一起使用 — 在 apps/web/ 启动,根的技能也照样可用(在 中只往上到 worktree 的根目录)。仓库根目录之上的 .claude/skills/ 不会被读取,所以所有项目都要用的技能请放在 ~/.claude/skills/。
- 启动位置之下的文件夹里的技能,一开始不会读取。Claude 第一次读取或修改该文件夹中的文件时才加载,并一直保留到结束 — 在那之前,它们不会出现在 / 菜单里。想提前加载,就用 /add-dir 加上那个文件夹。
- 如果根目录和 apps/web/ 都有名为 的技能,两个都会保留:/deploy 运行根目录的,/apps/web:deploy 运行 apps/web/ 里的。Claude Code 还会把两个都列给 Claude,并附上指令,让它使用正在处理的文件所在文件夹的技能,所以在 apps/web/ 里的工作仍会用到 apps/web/ 的技能(官方文档:Skills — 同名技能)。
- 技能是分开的,用 /<插件名>:<技能名> ,所以永远不会和你的技能冲突。
~/projects/ ← above the repository root
├── .claude/skills/ ← not loaded (put shared skills in ~/.claude/skills/)
└── repo/ ← git repository root
├── .claude/skills/ ← loaded
└── apps/web/ ← run claude here
├── .claude/skills/ ← loaded (used together with the root)
└── src/
└── .claude/skills/ ← not at start — loads when Claude first reads or edits a file in src/
repo/
├── .claude/skills/deploy/SKILL.md → /deploy
└── apps/web/.claude/skills/deploy/SKILL.md → /apps/web:deploy
运行 /skills 可以查看现在加载了哪些技能。上下级文件夹里技能很多时,最少用的技能的说明会最先被截断,所以要不时用 /skill-doctor 检查一下。
子智能体 — 把部分工作交出去
)是拥有自己的、指令和工具的助手。把那些会让对话塞满以后用不到的搜索结果、或文件内容的支线工作交给它 — 大规模搜索、、。无论它读了多少文件,回来的只有摘要,所以主对话保持简短,专注于你的任务。它也让你更好掌控:可以限制子智能体能用的工具(只能读取的审查者),用更快、更便宜的运行,每次都遵循同样的指令。如果你总是需要同一类助手,就创建一个。
- .claude/agents/<名称>.md 用于项目(提交后与团队共享),~/.claude/agents/ 只给你自己用。只有 name 和 description 是必需的。
- 用 tools 限制它能使用的工具会更安全 — 让审查者只能读取。
- 启动方式有两种。① 在提示里直接要求:说出它的名字(“用 code-reviewer 子智能体审查这次改动”),或者输入 @ 选中它,确保运行的就是它。② Claude 自己把工作交给它:它会把你的请求和子智能体文件里的 description 对比,所以要在那里写清它做什么、什么时候用 — 加上 "use proactively" 会让 Claude 更主动地委派。
- 要创建新的子智能体,可以请 Claude 帮你创建,或者自己在上面的文件夹里写文件。Explore、Plan 等内置子智能体一开始就有。
---
name: code-reviewer
description: Reviews code changes for bugs, security problems and missing tests. Use after writing or changing code.
tools: Read, Grep, Glob, Bash
model: sonnet
---
You are a careful senior reviewer.
Run `git diff` to see the changes, then report:
1. Bugs (with file and line)
2. Security problems
3. Missing tests
Do not edit files.
钩子 — 在设定的时机必定运行的命令
)是一种请求,有时可能会被忘记,而是 Claude Code 在设定的时机必定运行的 命令。可以用钩子在编辑文件后运行、挡住危险命令或对机密文件的编辑,以及在工作完成时收到通知。
- — 使用工具之前(可以阻止它), — 使用工具之后
- — 你发送请求时,Stop — Claude 回答完毕时,SessionStart — 会话开始时,Notification — 需要你注意时
- 选择钩子作用于哪些(比如 Edit|Write、)。
- 2 的效果取决于事件。在 PreToolUse 上,该操作会被阻止,写到 的原因会传给 Claude。在 PostToolUse 上,工具已经运行过了,所以 Claude 只会把这个原因当作反馈收到。
- /hooks 显示已设置的钩子。下面的例子会对 Claude 编辑或写入的每个文件运行 : 从钩子输入中读出文件,npx prettier --write 格式化该文件,所以需要 jq 和 ()。
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
}
]
}
]
}
}
钩子以你的在你的电脑上运行。别人写的钩子,要先读懂它的命令再添加。
MCP — 连接外部工具
)()是让 AI 工具使用外部服务(问题跟踪、、、文档工具)的开放标准。添加一个 后,Claude 就能使用该提供的工具。
- claude mcp add --transport http <名称> <> — 添加互联网上的远程服务器。
- <名称> -- <命令> — 添加在你电脑上运行的服务器(stdio)。-- 后面的所有内容都会原样传给服务器。
- 用 project 添加时,它会保存在顶层的 里并与团队共享(第一次使用时会请求批准)。
- /mcp 显示连接状态并进行登录()。claude mcp list 显示列表。
# A remote server (HTTP)
claude mcp add --transport http notion https://mcp.notion.com/mcp
# A server that runs on your computer (stdio)
claude mcp add playwright -- npx @playwright/mcp@latest
# Share it with the team — saved in .mcp.json
claude mcp add --scope project playwright -- npx @playwright/mcp@latest
claude mcp list
无界面运行 — 不用聊天界面的脚本
)claude -p "…" 不打开聊天界面运行一次,输出结果后退出。可以把 Claude 当作积木,用在 shell 脚本、 和 中。
- 通过管道传入输入(cat error.log | claude -p "…")。
- 以 JSON 给出结果、会话 id 和费用;stream-json 会逐行发送进度。
- --allowedTools 设置这次运行允许的工具,--max-turns 设置。
- claude -p --continue 继续上一次运行, <会话 id> 继续那个会话。
# One question, one answer
claude -p "Explain what src/auth.ts does in 5 lines"
# Pipe input in
cat build-error.log | claude -p "Find the cause and suggest a fix"
# JSON output for scripts (result, session_id, total_cost_usd)
claude -p "List the TODO comments in src/" --output-format json
# Limit what it may do and how long it runs
claude -p "Run the tests and fix failures" \
--allowedTools "Read,Edit,Bash(npm test *)" --max-turns 10
在脚本里, 不读取 CLAUDE.md、钩子、插件和 MCP,启动很快(官方文档说它将成为 -p 的默认行为)。如果需要项目指令,就不要加它。
高级练习
)- 把一件常做的工作(、提交信息)做成 .claude/skills/ 里的技能,并用 /skill-name 调用。
- 做一个 code-reviewer 子智能体,让它审查你当前的改动。
- 用 PostToolUse 钩子,让每次编辑文件时都运行格式化工具或 。
- 添加一个 MCP 服务器,用 /mcp 检查连接。
- 写一个用 claude -p 总结的单行 shell 脚本。
五项都做完了?进入 [大师] 标签。
官方文档
已于 2026-10-19 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。
大师 — 团队与自动化:并行工作、GitHub、插件、长任务
Git worktree — 同时运行多个会话
)两个在同一个文件夹里编辑同样的文件时,会互相覆盖。 会把同一个以另一个检出到另一个文件夹,这样每个文件夹运行一个 ,就能同时推进多项工作。
- claude --worktree <名称>(-w)会在 .claude/worktrees/<名称>/ 创建 worktree 和分支并在那里启动。如果结束时没有任何改动,它会被自动删除。
- 把 .claude/worktrees/ 加入 ,并把 这类被 忽略的文件列在 .worktreeinclude 里,就能把它们复制到新的 worktree。
- 每个 worktree 可能都需要单独安装依赖( install 等)。
- 把工作拆成修改不同文件的独立任务,完成后通过 合并。
# Claude Code makes the worktree for you (.claude/worktrees/<name>/)
claude --worktree feature-login
claude -w bugfix-cart
# Or with plain git
git worktree add ../myapp-search -b feature-search
cd ../myapp-search && claude
git worktree list
git worktree remove ../myapp-search
GitHub Actions — 在 issue 和 PR 里使用 @claude
)安装 后,只要在 或 PR 评论里写 @claude,Claude 就会阅读仓库、修复问题并开一个 PR 或留下审查意见。它在 上运行,所以你的电脑关机也没关系。
- 在终端的 Claude Code 里运行 /install-github-app。它会引导你安装 应用并添加(ANTHROPIC_API_KEY 或用 claude 生成的)— 需要 和仓库的管理员。
- 像上面那样的会出现在 .github/workflows/ 里。
- 在 issue 或 PR 里评论,比如“@claude 修复这个 ”。
- Claude 开的 PR,要由人审查并测试后再合并。
name: Claude
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
Actions 里的 Claude 也会读取仓库的指令文件(,或 )。让它遵守你的,最简单的方法就是写好指令文件。
插件和市场 — 打包并分享设置
)把技能、、和 打包成一个。市场是一个带有插件列表的仓库。团队用一条命令安装同样的工具箱,并一起更新。
- /plugin — 查找、安装、启用和停用插件。
- 用 /plugin add <owner/repo> 添加市场,用 /plugin install <插件>@<市场> 安装。
- 插件文件夹的 .claude-plugin/ 里只放 plugin.json。skills/、agents/ 和 hooks/ 放在文件夹顶层。用 claude --plugin-dir ./my-plugin 测试。
- 如果只分享技能,用 add 也可以 — SONUB 技能就是这样分享的。
my-plugin/
├── .claude-plugin/
│ └── plugin.json ← name, description, version
├── skills/
│ └── release-notes/SKILL.md
├── agents/
│ └── code-reviewer.md
├── hooks/
│ └── hooks.json
└── .mcp.json
/plugin marketplace add my-team/claude-plugins
/plugin install my-plugin@claude-plugins
/plugin
管理团队设置 — 让规则越积越多也依然清楚
)当很多人和很多 在一个仓库里工作时,设置会很快堆积起来。要决定哪些共享、哪些个人,哪些是请求、哪些是强制。
- 共享(提交):AGENTS.md、、、、(如果使用 CLAUDE.md,还有每个文件夹的 CLAUDE.md)
- 个人(不提交):.claude/settings.local.json、~/.claude/ — 个人指令放在 ~/.claude/CLAUDE.md(不要在项目里放 ,因为它会让 AGENTS.md 不被读取)
- 指令文件保持简短。只有同样的错误反复出现时才加规则,错误的或不再有用的规则就删掉。
- 必须遵守的事,用权限(deny)和钩子来强制,而不是靠指令。
- 公司范围的规则通过下发 — 其他设置无法覆盖它们。
长任务 — 自己检查直到完成
)大师会给 Claude 一个“完成的标准”,并让它自己检查这个标准。有了机器能判断的检查 — 测试、、构建 — 它就能在没人看着的情况下长时间工作。
- 用命令给出完成的标准 —“直到 npm test 和 lint 都通过”。
- 让它把已完成和剩下的事写进 PROGRESS.md 这样的文件,这样即使被总结或会话换了,也能接着做。
- 让它在每完成一个能独立运行的完整步骤后提交,这样你可以单独那一步。不要把一个未完成的改动拆到几个必须一起撤销的提交里。
- 如果同一个问题尝试三次都失败,就让 Claude 停下,在再次尝试之前写明试过什么、为什么失败、是什么阻碍了进展。这样可以避免原地打转。
- 全部完成后,把交给另一个 AI(比如 codex review)或子智能体。
大师练习 — 多个会话与自动化
)- 用 git worktree add ../my-project-b -b try-b 再建一个工作文件夹,在两个文件夹里各运行一个 claude,分别交给它们不同的小任务。两个文件夹的 git status 各自变化,就说明成功了。
- 用 git | claude -p "List bugs in this diff" 做一条单行审查命令。故意放进一个 bug,看它能否找出来。
- 把一条团队规则(例如:提交前先)写进 AGENTS.md,并用钩子强制执行。故意违反规则,确认钩子会拦下。
- 按上面插件一节的做法,把你的一个技能和一个子代理打包成插件并安装,确认在另一个项目里也能加载。
- 用命令写清完成标准(例如:npm test 通过)再交给它一个长任务;它说完成后,亲自检查 diff 和测试结果。
卡住时:用 git worktree list 查看 worktree,用 git worktree remove 删除。钩子拦得太多,就先从 settings.json 里暂时拿掉,再用 /hooks 确认。五项都做完了?用下面的检查清单自查。
大师检查清单 — 从基础到大师的完整路线
)- 基础 — 在 Git 项目文件夹里运行 claude,先用 /plan 做计划,只批准属于这项工作的操作,前用 git status 和 git diff 检查
- 进阶 — 做网页工作时打开连接,让 Claude 亲自打开并检查它改过的页面
-
进阶 — 项目里只放 AGENTS.md,让所有 AI 按同一份指令工作。如果使用 CLAUDE.md,每个有 AGENTS.md 的文件夹也都放一个 CLAUDE.md,里面只用一行
@AGENTS.md引用它 - 进阶 — 让安全的命令不用问就能运行,并用 deny 挡住机密文件
- 进阶 — 用 /context 查看上下文,用 /compact ,转到不相关的新任务时用 ;每个请求都写明在哪里、做什么、怎么检查
- 高级 — 重复的工作交给技能(先用 /skills 检查已在用的名称),大规模搜索和审查交给子智能体
- 高级 — 必须遵守的事用钩子和权限强制执行,外部通过你信任的 MCP 服务器接入,一次性的工作用 claude -p 在里运行
- 大师 — 工作在 worktree 里进行,issue 和 PR 的工作交给 GitHub Actions 里的 @claude
- 大师 — 团队的技能、子智能体、钩子和 MCP 服务器打包成一个插件共享,共享设置和个人设置分开
- 大师 — 用命令给出完成的标准,每个能运行的完整步骤都提交,并亲自用 diff 和测试检查结果
工具变化很快。通过 claude-skill 技能里的 /claude-skill update 或官方(CHANGELOG)跟上新功能。
官方文档
已于 2026-10-19 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。