Claude code使用笔记

参考链接:https://www.bilibili.com/video/BV14rzQB9EJj/?vd_source=eb3fdb9c45d7376cea44d2671f61debd

一、安装与初始化

二、基础功能

安装和配置完成后,打开终端输入claude回车,进入cli交互模式,就可以开始与claude对话了。

2.1三种交互模式

claude有默认模式、自动模式、规划模式共三种交互模式,启动claude后会直接进入默认模式,通过Shift+Tab切换这三种模式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 默认模式(Default Mode):每次文件写入前强制用户确认
  1. 自动模式(Accept Edits On):所有文件操作无需逐项确认

    !CAUTION

    自动模式支持自动执行的是所有文件的edit操作,一些非文件操作命令(如rm/cd/docker)还是需要手动确认

  2. 规划模式(Plan Mode):仅生成执行方案,不触发任何实际修改,支持多轮迭代优化设计细节

2.2复杂任务处理

  1. 终端命令执行机制:以!开头进入shell模式,可以直接输入bash命令,支持open/ls/docker等任意本地bash命令,输出会回显至claude界面。

    !CAUTION

    这里输入的终端命令会阻塞claude运行,比如用!npm run dev启动一个dev服务,如果这个服务一直运行,会阻断新请求响应,我们是无法跟claude继续对话的,必须主动转入后台或终止才能恢复交互。

    执行命令后可能只显示其中一部分输出,按ctrl+o显示所有输出,按ctrl+b将当前阻塞任务转入后台运行。

ctrl+b后,可以看到对话框提示有一个后台任务正在运行。

输入/tasks可以查看这个任务,按k键可以快速终止这个后台任务。

  1. 权限管控策略:前面说自动模式下,仍然有一部分命令需要确认,那有没有办法让claude全自动执行呢?事实上,claude支持危险权限跳过确认,启动时加上启动参数--dangerously-skip-permissions,激活后模式变成bypassPermissions,所有终端操作(包括rm/mkdir/npm)都免确认。【慎用】

2.3上下文管理

  1. 版本回滚(rewind)机制:我们每次输入请求时,claude都会创建一个回滚点,/rewind命令或者双击ESC都可以进入rewind页面,进入后可以选择回滚点进行回滚。

    比如说我要回滚到"增加语言选项"的页面,选择对应回滚点,回车:

    !CAUTION

    • claude只能回滚它自己写入的文件,自己创建或者由终端命令生成的文件无法回滚
    • 回滚也消耗token【慎用】
  2. 图像输入:直接拖拽png/jpg文件至界面,或者按ctrl+v将文件粘贴到输入框,claude能直接读对应的图片文件,我们可以将UI设计文件直接拖入对话框,让claude根据图片来撰写代码,不过有时候还原得并不精确。

    可以安装官方@figma/mcp-server实现还原figma设计稿的需求,安装文档:https://developers.figma.com/docs/figma-mcp-server/remote-server-installation/#claude-code

    bash 复制代码
    claude mcp add --transport http figma https://mcp.figma.com/mcp
  3. 上下文压缩:/compact命令可以对当前会话上下文进行压缩,也可以在输入该命令后补充一些具体的压缩策略,比如"/compact 重点保留用户提出的需求"。压缩完成后,按ctrl+o可以看到压缩后的上下文内容。

    !CAUTION

    • 达到claude上下文容量的80%后,会触发claude的自动压缩
    • 压缩结果的可控性并不强,我们无法对压缩结果进行编辑
    • 通常建议,让claude在完成任务的过程中尽量不触发自动压缩,比如在上下文容量达到上下文窗口容量的60%~70%的时候,任务应该基本完成,应该是最好的一个状态

2.4项目记忆文件CLAUDE.md

不论是否压缩,上下文都是跟会话绑定,打开一个新的会话,之前的内容都丢了。是否有办法能够让claude每次启动都读取一些预设信息?------CLAUDE.md,里边可以写项目描述、约束条件、注意事项等等。

/init命令让claude自己创建一个CLAUDE.md文件。

/memory命令可以打开CLAUDE.md文件,输入该命令可以发现,CLAUDE.md文件有两种, 一种是项目级别的,对应文件放在当前项目的目录里,对当前项目生效;一种是用户级别的,放在用户目录下,对当前用户生效。

三、高级功能

  1. hook自动化钩子系统:允许用户在执行工具前后等时机执行一段指定的逻辑,比如在代码写完后执行自动格式化逻辑,让代码更美观、更符合代码规范。/hooks命令进入配置界面。





!IMPORTANT

格式化命令:

bash 复制代码
jq -r '.tool_input.file_path' | xargs prettier --write

运行时,claude会给我们传一份大概这样的json过来:

json 复制代码
{
 "tool_input": {
     "file_path": "/home/elliezhang/projects/GBrain/mlp/test.py"
 }
}

其中的file_path是claude刚刚编辑的文件路径,我们需要解析这个json结构,把file_path的值取出来。其中jq是解析json的一个程序。

获取到文件路径后,我们通过xargs将这个文件路径传递给prettier命令,用prettier格式化文件。

  1. SubAgent:是一个独立的agent,有自己独立的上下文、独立的工具、独立的skill,可以独立完成某一件事情。/agents命令可以创建新的agent,创建完成后需要选择subAgent可以使用的工具、模型和运行时展示的颜色,这些配置完成后,claude会生成一个关于这个subAgent的描述,按E可以编辑这个描述。









!IMPORTANT

agent skill跟subAgent有啥区别?------最大的区别就是对上下文的处理不同,skill跟主窗口共用一套上下文,subAgent有自己独立的上下文。

  1. plugin:是一个全家桶安装包,它把一系列的skill、subagent、hook等能力全部打包在一起。

四、监控插件

下载地址:https://github.com/jarrodwatts/claude-hud

claude-hub插件支持实时监控模型、上下文用量、claude任务/子代理、所在git分支,我一般只开了模型、上下文窗口和git分支的监控,效果如下:

五、其他常用命令

复制代码
claude -c	# 打开claude并自动恢复上一次对话
/resume		# 恢复历史会话
/model		# 切换模型
/mcp		# 管理MCP服务
相关推荐
哎呦,帅小伙哦2 小时前
Git Describe 与 TRAVIS_TAG学习笔记
笔记·git·学习
江屿风2 小时前
【c++笔记】类和对象流食般投喂(下)
开发语言·c++·笔记
凉、介10 小时前
Armv8-A virtualization 笔记 (二)
笔记·学习·嵌入式·arm·gic
智者知已应修善业11 小时前
【ICL8038芯片正弦波三角波方波发生器电路】2024-1-5
驱动开发·经验分享·笔记·硬件架构·硬件工程
探序基因11 小时前
身高与基因的关系
笔记
llhm13 小时前
tsp学习笔记——LINUX SDK编译2(2)Kernel6.1 Linux
linux·笔记·学习
wangcheng30316 小时前
关键词优化怎么理解最清楚
笔记
土星碎冰机17 小时前
ai自学笔记(3.安卓篇,制作app
android·笔记·ai
土星碎冰机18 小时前
ai自学笔记 (2.prompt 踩坑与优化)
笔记·ai·prompt·claude