Claude相关技术点
- [一、Claude Code的三种模式](#一、Claude Code的三种模式)
-
- [1. 默认模式](#1. 默认模式)
- [2. 自动模式](#2. 自动模式)
- [3. 规划模式](#3. 规划模式)
- [二、Claude code 回滚命令](#二、Claude code 回滚命令)
- 三、查看后台任务
- [四、 切换到输入命令](#四、 切换到输入命令)
- [五、 Claude code 仿照Figma实现界面](#五、 Claude code 仿照Figma实现界面)
- 六、上下文压缩
-
- [1. /compact 命令 : 对上下文做一些压缩](#1. /compact 命令 : 对上下文做一些压缩)
- [2. /clear 命令: 会直接把所有上下文内容都给清空掉](#2. /clear 命令: 会直接把所有上下文内容都给清空掉)
- [3. /init命令:让Claude Code自己生成一份CLAUDE.md文件](#3. /init命令:让Claude Code自己生成一份CLAUDE.md文件)
- [4. /memory命令: 打开CLAUDE.md的方法](#4. /memory命令: 打开CLAUDE.md的方法)
- [5. /hook命令:允许用户在运行工具前后等时机执行一段自己指定的逻辑](#5. /hook命令:允许用户在运行工具前后等时机执行一段自己指定的逻辑)
- 七、SubAgent
- 八、Plugin
一、Claude Code的三种模式
1. 默认模式
? for shortcuts
-
修改文件前一定询问用户
-
该模式 最稳妥
2. 自动模式
accept edits on
-
自动修改文件
-
该模式最方便
3. 规划模式
plan mode on
- 只讨论、不修改文件
- 该模式适合构思
按shift + tab进行不同模式之间的切换
二、Claude code 回滚命令
- 方式1:/rewind
- 方式2: 按两下esc
回滚包含四个选项:
- Restore code and conversation -- 回滚代码和会话
- Restore conversation -- 只回滚会话
- Restore code -- 只回滚代码
- Never mind -- 放弃回滚
三、查看后台任务
命令: /tasks
按 k 结束当前的这个后台服务
四、 切换到输入命令
输入 ! 即可切换到输入命令的模式
比如
!open index.html
打开index.html网页
!ls
列举当前目录下的文件列表
有的时候可能没有显示全所有的文件列表,可以按
ctrl+o
来显示所有的文件列表
五、 Claude code 仿照Figma实现界面
方法1:
- 将Figma设计稿导出一个PNG格式的图片, 按Export Frame进行导出
- 将这个设计稿的图片传给Claude Code
有两种方式可以将图片传给Claude Code 方式1:直接将图片拖拽到Claude Code界面中 方式2:右击图片选择Copy
之后按ctrl + v快捷键进行粘贴
上面的方法很多时候可能还原的并没有那么精确,比如说字体、间距之类的,Claude Code很难通过图片做到非常精确的把握
方法2:
另外一种更为精确有效的方法,那就是使用MCP来实现这个还原Figma设计稿的需求
MCP是大模型与外界沟通的渠道
操作步骤如下:
- 首先需要安装下这MCP Server
先按两下Ctrl + C退出Claude Code 执行如下命令
claude mcp add --transport http figma https://mcp.figma.com/mcp
输入claude 进入Claude Code
/resume 命令来回到之前的对话
/mcp 命令用来查看目前所安装的MCP工具
在退出Claude模式下输入claude -c命令就是打开Claude Code并自动恢复上一次的会话,其中c 是continue的缩写
- 输入如下内容
修改当前页面,使它与figma稿件保持一致: figma链接
六、上下文压缩
1. /compact 命令 : 对上下文做一些压缩
也可以在/compact命令后面追加一些具体的压缩策略之类的,比如
/compact 重点保留用户的需求
Ctrl + O 就可以看到压缩后的上下文内容
2. /clear 命令: 会直接把所有上下文内容都给清空掉
一般来说,如果我们后面的任务跟之前的上下文并没有关联的话,我们就可以使用这个clear命令来清空所有的上下文内容
3. /init命令:让Claude Code自己生成一份CLAUDE.md文件
可以让Claude Code每次进来的时候都读取一些我们自己设定的信息---》 CLAUDE.md
如果你有什么东西是希望Claude Code每次都读取的,那就直接放到CLAUDE.md文件里就好了
4. /memory命令: 打开CLAUDE.md的方法
有两种
-
Project memory --> Saved in ./CLAUDE.md
项目级别的,对应的文件就放在当前的目录里,对当前项目生效
-
User memory --> Saved in ~/.claude/CLAUDE.md
用户级别,对应的文件放在用户目录里,对当前用户生效
5. /hook命令:允许用户在运行工具前后等时机执行一段自己指定的逻辑
-
- PreToolUse - Before tool execution -->工具使用前
-
- PostToolUse - After tool execution --> 工具使用后
-
- PostToolUseFailure - After tool execution fails --> 工具使用失败
-
- Notification - When notifications are sent -->发送通知
-
- UserPromptSubmit - When the user submits a prompt -->用户提交一个提示信息
七、SubAgent
其实就是一个独立的Agent,有着自己独立的上下文,独立的工具,独立的Skill,可以独立完成某一件事情
创建一个用于代码审核的SubAgent
- 首先输入命令/agent
- 然后选择Create new agent
选择Agent的类型
- Project (.claude/agents/) -->项目级别
- Personal (~/.claude/agents/) -->用户级别
选择Agent的创建方法
- Generate with Claude(recommended) -->用Claude初始化
- Manual configuration -->完全手动创建
Agent Skill 与SubAgent的区别:
最大的区别就在于对上下文的处理方式不同
Agent Skill 运行的时候它会完全继承并且共享你当前主对话的上下文,这就意味着它执行过程中的每一行日志、每一个思考过程都会记入到你的当前上下文,所以Agent Skill最适合处理那些与上下文关联比较大,而且对上下文影响不大的任务 ,比如说根据今天带开发过程写一个每日总结之类的
而SubAgent 则拥有自己完全独立的上下文,当你启动它时,它会开辟一个全新的对话窗口,它在这个窗口里面看的所有代码、生成的所有中间分析过程都不会回传到你的主对话里面,只有当它把活干完了它才会拿着一个最终的执行结果来向你汇报,这样一来,你的主对话依然干干净净,永远不会被琐碎的中间过程所撑爆,所以SubAgent 比较适合处理那些与上下文关联比较小,而且对上下文影响比较大的任务
因此,Agent skill 与 SubAgent的最大区别就在于对上下文的处理方式不同
八、Plugin
可以把 Plugin 想象成一个全家桶的安装包,有点像是macOS的DMG,或者是Windows 下面的EXE文件,它把一系列的Skill SubAgent Hook等能力全部打包在一起,你只需要一键安装,Claude Code就能瞬间获得整套高级能力。
输入 /plugin 命令进入到插件管理器,有三个选项
- Discover --> 发现新插件
- Installed --> 已安装的插件
- Marketplaces --> 插件市场