当前位置: 首页 > news >正文

Claude Code /powerup 教程

打开 /powerup

你会看到这样一个界面:

看英文困难的同学也不怕, 我也针对上面页面的内容,做了一个翻译:

你看,一共 10 个课程,每类都标注了对应的核心命令或操作。右上角还有进度条,每完成一个课程就会解锁一格,有点像打游戏过关的感觉。

你可以用上下方向键选择课程,按回车进入。每个课程会先展示一段文字说明,然后播放一段动画演示,告诉你这个功能怎么用。

接下来,小林就按顺序,把这 10 大类课程涉及的知识点,一个一个给大家讲清楚。


01|Talk to your codebase:与代码库对话

第一个课程,教你最基本也是最高频的操作:怎么让 Claude「看到」你的代码。

你可能会想,Claude Code 不是已经打开了吗?它不就能看到我的代码了吗?

嗯,能是能,但问题是,Claude Code 看到的是你整个项目的所有文件。如果你不说清楚让它看哪里,它就得自己一个文件一个文件地翻,翻着翻着,就把上下文窗口给吃满了,后面做事就容易「犯迷糊」。

所以,更好的做法是:你主动告诉它该看哪个文件。

怎么告诉它?用@ 符号

@ 的用法有这几种:

  • @./src/App.tsx:引用单个文件,Claude 只会读取这个文件的内容
  • @./src/components/:引用整个目录,Claude 会拿到这个目录的文件列表
  • @./src/App.tsx @./src/styles/global.css:引用多个文件,用空格隔开就行

如果你只想让 Claude 看某个文件的一小段,没有什么花哨的语法,直接在提示词里用中文说清楚就行,比如「请重点看 Timer.tsx 的第 10 行到第 20 行」,Claude 会自己定位过去。

为什么 @ 这么重要?

因为它能帮你省下大量上下文空间。

Claude Code 的上下文窗口是有上限的,主流的 Sonnet 和 Opus 模型标配大约 200k token,部分模型还提供 1M 长上下文版。

你可以把它理解为 Claude 的「短期记忆」,这个记忆是有容量限制的。如果你不给 Claude 指定文件,它为了理解你的需求,可能自己去搜索和读取项目里的很多文件,每一行代码都会占用上下文空间。

但如果你用 @ 精准指定了文件,Claude 就只需要读取你指定的那几个文件。比如你只 @ 了一个 200 行的组件文件,Claude 就只会读取这 200 行,上下文占用非常小。

用 permissions 规则屏蔽敏感文件

还有一种情况:你的项目里可能有一些文件,你永远不想让 Claude 看到,比如含密钥的配置文件、日志、临时文件等等。

这时候可以在.claude/settings.json里用permissions.deny规则把这些路径挡住:

{ "permissions": { "deny": [ "Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)" ] } }

配上之后,Claude 哪怕想去读这些文件,也会被规则拦下来,不会浪费上下文去看没用的东西,更不会意外把敏感信息塞进对话里。

一句话总结:@ 是给 Claude 发精确地址,让它直奔目标,不迷路还省油。养成习惯,能 @ 就 @。


02|Steer with modes:用模式驾驭 Claude

第二个课程,教你怎么控制 Claude 的工作方式。

你有没有遇到过这种情况:让 Claude 改个代码,它每改一个文件都要弹出来问你「允许吗?」,改十个文件要确认十次,搞得你心烦意乱?

又或者反过来:让 Claude 自由发挥,结果它一通操作猛如虎,改了二十个文件,你连它改了什么都不知道?

这两种体验都不好。第一种太烦,第二种太危险。

那有没有一种方式,能让你在不同场景下灵活控制 Claude 的「自由度」?

有,用Shift+Tab切换工作模式。

四个工作模式

Claude Code 有四个工作模式,按 Shift+Tab 可以在它们之间循环切换:

Normal 模式(默认)

这是最稳妥的模式。Claude 每要做一步操作,都会先征求你的同意。比如它要创建一个文件,会先问你「允许创建吗?」;要执行一个命令,会先问「允许执行吗?」。

你同意了它才动手,不同意它就不做。

这种模式适合你不太确定 Claude 会做什么的场景,或者刚开始用 Claude Code、还不太信任它的阶段。虽然多了一步确认,但心里踏实。

accept edits(自动接受编辑)

这个模式下,Claude 改文件不再问你了,会自由地读写、新建、删改。但执行命令的时候还是会停下来问一句。

什么意思呢?就是你已经信任 Claude 改代码这件事,但对它「执行命令」这种动作还是想留个把关的机会。比如它想跑npm install或者rm之类的命令,会先弹个确认让你看一眼。

这是日常写代码迭代的「黄金档位」。你看着它改、它一路改下去,效率高,但又不至于让命令失控。

Plan 模式(计划模式)

这个模式下,Claude 只看不改。它会分析你的代码、理解你的需求、给你出一个详细的执行方案,但不会动你的任何文件。

等你看完方案觉得没问题,再告诉它「按这个方案执行」,它才会开始动手。

Plan 模式特别适合复杂的开发任务。比如你要重构一个模块,或者做一个比较大的新功能,先让 Claude 在 Plan 模式下帮你规划一下,看看它的思路对不对,比直接让它动手改要安全得多。

auto(自动模式)

这是最激进的一档。文件编辑不问、命令执行也不问,所有操作 Claude 全自动执行,由它自己用后台的安全分类器判断哪些动作是安全的。

听起来是不是有点危险?确实,如果你完全不监督,它可能会改出一些你不想要的东西。但反过来说,如果你的任务又长又琐碎(比如让它跑一整套迁移脚本、批量改一堆同类文件),auto 模式能让你彻底告别「一直按 y」的疲劳。

那 auto 和 accept edits 的最大区别在哪?一句话,accept edits 只放行编辑、命令还要问;auto 是连命令也不问。这一档的安全感来自 Claude 自己的判断,而不是你的人工把关。

先用default,能看到 Claude 每一步在干什么,心里有底。

熟悉了之后,日常写代码就切到accept edits,让 Claude 自由改文件,命令的时候你再把关,效率和安全感都有了。

遇到复杂任务(重构、新功能),先用plan出方案,看完再执行。

只有那种「我完全信任、任务又长又重复」的场景,才考虑切到auto,让它自己跑通。

一句话总结:四个模式对应四种信任级别。default 最稳、accept edits 写代码最顺、plan 复杂任务先规划、auto 长任务全自动。新手从 default 起步,逐步往后切。

03|Undo anything:Claude 改错了?一键撤销

第三个课程,教你一个所有新手都会用到的操作:撤销。

为什么说新手一定会用到?因为你一定会遇到 Claude 改错代码的情况。

这不是 Claude 的问题,而是 AI 编程的常态。它可能误解了你的意思、走错了方向、改了一个不该改的文件。

这时候怎么办?手动去改回去?文件多了你根本记不住它改了哪些地方。

别慌,Claude Code 自带「后悔药」。

两种撤销方式

方式一:连按两次 Esc

在输入框为空的状态下,快速连按两次 Esc 键,就会打开回滚菜单。这个菜单会显示一个时间线,列出 Claude 最近做的每一次操作:

你只需要用方向键选择要回滚到哪一步,Claude Code 就会自动把代码恢复到那个状态。

方式二:输入 /rewind 命令

效果跟连按 Esc 一样,只是用命令的方式触发:

回滚的范围

需要注意的是,这两种方式回滚的不仅仅是文件内容,对话上下文也会一起回滚。

也就是说,回滚之后,Claude 会「忘记」那次操作之后发生的所有对话,就像那次操作从来没发生过一样。

这比你自己手动改文件要彻底得多。

更靠谱的方式:Git

虽然 Claude Code 自带的回滚很好用,但它有一个局限:只能回滚 Claude 直接创建或编辑的文件。

如果 Claude 执行了npm install之类的命令,生成了 node_modules、package-lock.json 等文件,回滚是管不了这些的。

所以,如果你要做比较大的改动,最靠谱的方式还是先用 Git 存一份档:

一句话总结:Claude 改错了不慌,Esc+Esc 或 /rewind 一键回滚。大改动前先 git commit 存档,双重保险。


04|Run in the background:让 Claude 在后台干活

第四个课程,教你一个很多人不知道的操作:让 Claude 在后台执行任务。

什么意思呢?

举个例子。你让 Claude 帮你跑一下项目的构建命令npm run build,这个命令可能要跑一两分钟。在正常模式下,这一两分钟里你啥也干不了,只能等着。

但如果让它在后台跑呢?你就可以继续跟 Claude 聊别的,让它帮你改代码、回答问题,不用傻等构建完成。

怎么在后台运行?

方法其实特别简单:你根本不用记什么 shell 符号,直接用大白话告诉 Claude「这条命令请在后台跑」就行:

就这么一句话,Claude 会自动用 Bash 工具的「后台模式」去执行这条命令。你不用在命令末尾加&,也不用切到 Bash 模式,Claude 自己就会处理。

等命令跑完了,Claude 会主动告诉你结果。如果中途出错了,它也会把错误信息捞出来给你看。

适合什么场景?

后台运行特别适合这些「耗时长但不需要你盯着」的任务:

  • 项目构建(npm run build)
  • 跑测试用例(npm run test)
  • 安装依赖(npm install)
  • 数据库迁移

这些任务可能要跑几十秒甚至几分钟,没必要在终端里干等着。让 Claude 在后台跑,你继续做你的事,效率直接翻倍。

一句话总结:命令末尾加 & 就能让任务在后台跑,不用傻等。用 /tasks 查看后台任务状态。


05|Teach Claude your rules:让 Claude 记住你的规则

第五个课程,可能是所有课程里对你日常使用影响最大的一个。

为什么这么说?因为你一定会遇到这个烦人的场景:每次重新打开 Claude Code,或者用 /clear 清空对话之后,你都要重新告诉 Claude「我这个项目是做什么的、用了什么技术栈、代码规范是什么……」

一遍两遍还行,多了真的很烦。有没有办法让 Claude 永远记得你的项目信息?

有,用CLAUDE.md

CLAUDE.md 是什么?

CLAUDE.md 是一个放在你项目根目录的文件,Claude Code 每次启动的时候都会自动读取这个文件的内容,把它当作理解你项目的「背景资料」。

你可以把它理解为 Claude 的「项目记忆」。只要你在这个项目目录下启动 Claude Code,它就知道你的项目是做什么的、用了什么技术栈、代码规范是什么,不用你每次重新交代。

写什么、不写什么?

CLAUDE.md 有一个很重要的原则:越精准越好,不是越长越好。

太长的 CLAUDE.md 会占用大量上下文空间,反而让 Claude 工作效率下降。所以每写一条信息之前,先问自己一个问题:「如果删掉这条,会不会让 Claude 犯错?」如果不会,就不写。

应该写的:项目简介、技术栈、代码规范、目录结构
不应该写的:详细的 API 文档(太长)、每次都变的临时需求、过于泛泛的描述

/memory 管理记忆

除了项目级的 CLAUDE.md,Claude Code 还有一个/memory命令,可以帮你管理「个人记忆」。这些记忆是跨项目的,不管你在哪个项目里,Claude 都会记住。

比如你可以用它来存储你的通用编码偏好:

Claude 会自己判断这条信息值不值得记,觉得值得记就会写到 auto memory 里,下次也会记得。

CLAUDE.md 的几个层级

Claude Code 的 CLAUDE.md 实际上支持好几个层级,按照日常最常用的顺序是这样的:

  • 项目级:放在项目根目录的CLAUDE.md(或者.claude/CLAUDE.md),只在这个项目里生效。适合写项目相关的信息,比如技术栈、目录结构。这个文件可以提交到 Git 里,团队成员共享。
  • 个人项目级CLAUDE.local.md,也放在项目根目录,但通常加到.gitignore里不提交。适合写你自己的临时调试偏好、sandbox 地址这种「只有我用」的内容,不会干扰到队友。
  • 用户级:放在你 home 目录下的~/.claude/CLAUDE.md,在所有项目里都生效。适合写你个人的通用偏好,比如「请用中文回复」「代码注释用英文」。

这几个层级的内容在启动时会一起合并进上下文,越具体的层级优先级越高(项目级 > 用户级)。

一句话总结:CLAUDE.md 是给 Claude 装的「长期记忆」,写一次,永远记得。/init 快速创建,/memory 管理个人偏好,记得保持精简。


06|Extend with tools:用 MCP 给 Claude 装外挂

第六个课程,教你一个让 Claude Code 能力大增的机制:MCP。

MCP 全称是 Model Context Protocol,翻译过来叫「模型上下文协议」。听着很唬人对吧?但其实你可以把它理解为一个「外挂接口」。

什么意思?

Claude Code 本身能做的事情是有限的:读写文件、执行命令、搜索代码。但如果你想让 Claude 做更多的事情呢?比如让它帮你搜索网页、操作数据库、调用第三方 API?

MCP 就是干这个的。它让你可以把外部工具「接入」Claude Code,让 Claude 能调用这些工具的能力。

Claude Code 就像一台电脑,出厂自带了几个基本软件(文件管理器、命令行终端、代码编辑器)。而 MCP 就像是 USB 接口,你可以通过这个接口给电脑接上打印机、摄像头、手柄等各种外设,让电脑能做更多的事情。

MCP 的价值

MCP 最大的价值在于「扩展」。Claude Code 出厂自带的能力可能不够用,但通过 MCP,你可以按需接入各种工具,让 Claude 变成一个越来越强大的全能助手。

而且 MCP 是一个开放的协议,社区里有大量现成的 MCP server 可以用,你甚至可以自己开发一个。

一句话总结:MCP 是给 Claude Code 装外挂的接口,用 /mcp 管理。通过接入不同的 MCP server,让 Claude 能搜索网页、操作数据库、控制浏览器,能力无限扩展。


07|Automate your workflow:让 Claude 自动化你的工作流

第七个课程,教你两个让 Claude Code 更「聪明」的机制:Skills 和 Hooks。

Skills:给 Claude 装技能包

Skills 是 Claude Code 的插件机制。你可以把它理解为 Claude 的「技能包」,安装之后,Claude 在某个特定领域会表现得更好。

比如有一个叫frontend-design的 Skill,专门用来生成高质量的前端界面。启用之后,Claude 在做前端页面的时候,设计水平会有明显的提升。

Skill 怎么装?其实一份 Skill 就是一个SKILL.md文件(外加一些可选的辅助文件),只要把它放到下面这几个目录里,Claude Code 就会自动识别:

Hooks:给 Claude 的操作加「钩子」

Hooks 是 Claude Code 的自动化钩子机制。

它的工作原理很简单:你在某个操作「之前」或「之后」挂一个自定义脚本,Claude 每次执行这个操作的时候,就会自动触发你的脚本。

听起来有点抽象?举个例子你就懂了。

比如你希望 Claude 每次修改完文件之后,自动帮你运行一下代码格式化工具(比如 Prettier)。你就可以设置一个PostToolUseHook,挂在 Edit 工具上。这样 Claude 每次用 Edit 工具改完文件,就会自动触发 Prettier 帮你格式化代码。

Hooks 有两种类型:

  • PreToolUse:在工具执行之前触发。适合做输入校验、拦截不安全的操作。
  • PostToolUse:在工具执行之后触发。适合做自动格式化、自动测试等后续处理。

怎么配置 Hooks?

Hooks 的配置写在项目的.claude/settings.json或全局的~/.claude/settings.json里。

这里有一个小细节林友一定要注意:Claude Code 的 hook 脚本不是通过环境变量拿文件路径的,而是通过标准输入(stdin)接收一段 JSON,里面包含了这次操作的所有信息。

你可以通过可用的环境变量(比如$CLAUDE_PROJECT_DIR)拿到项目根目录,但具体这次改的是哪个文件,要从 stdin 的 JSON 里解析出来。

Hooks 能做什么?

Hooks 的应用场景非常多,举几个例子:

  • 自动格式化:每次修改文件后自动运行 Prettier/ESLint
  • 自动测试:每次修改测试文件后自动跑相关测试
  • 安全检查:每次修改配置文件后检查是否有敏感信息泄露
  • 自动提交:每次修改完代码后自动 git add + commit

一句话总结:Skills 给 Claude 装技能包,让它在特定领域更强;Hooks 给操作加钩子,实现自动化工作流。两个配合使用,Claude Code 直接变成你的定制化开发助手。


08|Multiply yourself:让 Claude 的分身帮你干活

第八个课程,教的是 Claude Code 里一个很强大但很多人没用过的功能:子代理(Subagents)。

什么是子代理?

你可以把子代理理解为 Claude 的「分身」。

当你启动一个子代理的时候,Claude Code 会在后台创建一个全新的 Claude 实例,这个实例有自己的独立上下文窗口,跟你当前的主对话完全隔离。

子代理干完活之后,只会把最终结果汇报给你的主对话。

为什么需要子代理?

你可能会问:我直接让 Claude 帮我做不就行了?为什么要搞一个分身?

原因有两个:

第一个原因:独立视角。

如果代码是 Claude 自己写的,你让它自己审查,它多少会「手下留情」。但如果你启动一个子代理来审查,这个子代理是一个全新的实例,它不知道这段代码是谁写的,只会客观地指出问题。

第二个原因:保护主会话的上下文。

前面我们说过,Claude Code 的上下文窗口是有上限的。如果你让 Claude 在主对话里做一个很复杂的任务(比如审查整个项目的代码),它会读取大量文件、生成大量分析结果,一下子就把上下文吃满了。

但子代理有自己独立的上下文空间,不管它读了多少文件、分析了多少代码,这些只占用它自己的上下文,对你的主会话零影响。等它干完活,只会把一份精炼的结果摘要汇报回来,占用很小。

子代理适合什么场景?

  • 代码审查:让子代理用独立视角帮你审查代码质量
  • 写测试:让子代理帮你补齐单元测试,不受主对话干扰
  • 查文档:让子代理去读某个库的文档,总结要点后汇报
  • 多文件批量修改:让子代理独立处理一组文件的修改

一句话总结:子代理是 Claude 的「分身」,用 /agents 创建。它有独立的上下文空间,适合做代码审查、写测试等需要「独立视角」的任务。


09|Code from anywhere:随时随地编码

第九个课程,教你两个跨设备协作的命令:/remote-control/teleport。这两个命令是一对,方向正好相反。

先想象一个常见场景:你在公司用终端里的 Claude Code 开发一个项目,下班路上想用手机继续看看进展,回家之后又想换成网页版继续改,或者反过来,在 claude.ai 网页上起了个会话,回到电脑前想把它拉到本地终端继续跑。

这种「跨设备、跨终端」切换的需求,就是这两个命令要解决的问题。

10|Dial the model:调节 Claude 的「大脑」

最后一个课程,教你一个很实用但很多人忽略的操作:切换模型和调节思考深度。

执行后会弹出一个模型选择界面,你可以选择不同的模型:

  • Sonnet:速度和智能的平衡,适合大多数日常任务
  • Opus:最强推理能力,适合复杂的架构设计、难缠的 bug
  • Haiku:速度最快,适合简单的问答、格式转换等轻量任务

不同模型的价格不同,Opus 最贵但最强,Haiku 最便宜但最轻量。大多数情况下用 Sonnet 就够了,遇到特别复杂的问题再切到 Opus。

模型 + 思考深度的组合策略

给你一个实用的组合建议:

场景模型思考档位
简单的代码修改Sonnetmedium
日常编码、Agentic 任务Opus / Sonnetxhigh(推荐默认)
复杂的 bug 排查Opusxhigh,必要时切 max
架构设计Opusxhigh 或 max(先小范围验证)
快速的格式转换Haikulow
代码审查Sonnetmedium

顺便提一句,如果你已经把 xhigh 作为默认档了,原来那个ultrathink关键词的边际作用就被削弱了不少,因为 xhigh 本来就已经在「几乎总是深思考」的状态。如果你还在 high 或更低的档位,ultrathink 仍然是临时拉高一档的有用手段。

一句话总结:/model 切换模型,Sonnet 够用、Opus 最强、Haiku 最快。/effort 设长期的思考档位,日常编码推荐 xhigh,遇到真正硬的骨头再切 max(先确认有提升)。简单问题别滥用,复杂问题效果拔群。


补充:几个高频使用的「维护」命令

命令效果什么时候用
/context查看上下文占用Claude 开始犯迷糊时
/compact压缩对话,保留关键信息继续做同一个任务时
/clear彻底清空对话切换到完全不同的任务时
claude --resume恢复历史对话关掉终端后想接着干时
http://www.jsqmd.com/news/1083830/

相关文章:

  • 微分不是微小差值近似,是剥离宏观螺旋、单独提取无穷小微观生长单元的原生尺度-《全域数学vs传统数学:人类文明进阶200讲》第52讲 高中通俗版逐字稿
  • Elsevier-Tracker:科研投稿者的智能审稿状态追踪解决方案
  • 终极免费屏幕标注工具:3倍提升演示效率的完整指南
  • Loop Engineering:从提示工程到循环工程的范式跃迁
  • 甜菊糖苷 Reb M 全酶法工艺再进阶:从代糖到抗衰老,合成生物学的又一场胜利
  • 微信聊天记录备份新方案:用WeChatExporter永久保存珍贵对话
  • 终极摸鱼阅读神器:Thief-Book IDEA插件完整使用指南
  • 如何解决文献管理效率瓶颈:Zotero GPT的AI驱动自动化实践指南
  • Codex 实战篇:如何安装、创建第一个项目,并完成第一次运行
  • 鸿蒙 ArkUI @State 响应式数据双向绑定实训博客
  • Webug4.0渗透测试实战:从零搭建靶场到漏洞挖掘与提权
  • 办公 OFD 文件转换总踩坑?多款转换工具使用情况客观整理
  • Selenium、Cypress、Playwright、Puppeteer四大Web UI自动化测试框架深度对比与选型指南
  • 为什么运维流程越规范,处理问题反而越慢?
  • 微信小程序逆向工程终极指南:深度解析wxappUnpacker解包技术
  • Elsevier-Tracker:告别投稿焦虑,实时追踪审稿进度的Chrome插件解决方案
  • RK3588双8K Sensor接入实战:硬件链路、设备树配置与性能优化
  • IP-guard Webserver远程命令执行漏洞应急响应实战复盘
  • 【WorkBuddy专栏44】如何利用WorkBuddy开发一个PC网站(下)
  • 038、CA 坐标注意力插入 Head 前(位置三):分类与回归分支分别受益程度
  • Weil-Petersson同胚的Beta与Epsilon:刻画复杂度量空间映射的数值标尺
  • 职场新人的“口袋导师”:如何在库拉平台向 Grok 提问以获得职业发展建议?
  • C++部署比Python再快15%,VLM推理的最后一公里
  • AI写论文推荐!4款AI论文写作工具,助力完成各类学术论文!
  • Windows下Selenium自动化测试环境搭建与避坑指南
  • iOS智能背景移除解决方案:基于U2-Net的轻量级图像分割实战
  • Android恶意软件伪装与数据窃取技术剖析:从高仿应用到C2通信
  • 深蓝词库转换:彻底解决输入法迁移难题的终极工具
  • HarmonyOS7 互动卡片和闪控窗,正在重写 UI 交互
  • 30.IEC61131-3 标准编程:电机延时防误报 + 故障复位系统,可直接落地