claude code学习配置札记
原始的claude code已经展现出很强的能力,然而即便是代码方面仍依赖对扩展的配置
基本概念
agent harness
包含运行环境、工具、上下文管理等的集合,使大模型可以变成agent
LSP
lsp提供了任何一种编程语言在IDE中能够实现的那种表现,包括分析代码结构高亮、发现静态错误、跳转定义、传统补全、悬浮帮助等内容,可见没有lsp的支持,claude code在使用时只能当做纯粹的文本工具,使用全局搜索等方式来找到用户所说的文件或者函数,与传统IDE或者vs code中的插件使用造成脱节,但其实二者并无本质区别。
MCP(与上下文)
MCP每次交互都会重复发送tool use介绍,所以context会迅速爆炸,因此把上下文概念放到这里介绍
使用claude code管理上下文,/context查看什么占用了上下文空间,/compact自动压缩上下文,当然在上下文空间接近满了的时候也会自动压缩。优先压缩tool call返回等无关紧要的内容,但重要的持续性指令仍该放在claude.md中
MCP可以理解为一个打包好的工具箱和使用说明,但是被控物体并不属于大模型自己,相较于更底层的tool或者function call的概念,MCP是为了使用已经存在的应用,比如浏览器、软件甚至word,这是一种给大模型看的软件(或者说功能性)的接口。(这里其实不算准确,MCP直接面向的是agent)
skills
进入session后,只有各个skill的名字和简介会被发送给大模型,使用/<name>强制调用该skill的时候,会全部加载
skills是对一种特定工作流的总结描述。所以作为比较中间产物的workflow就已经淘汰了。其实MCP也基本上淘汰了,简单工具直接被agent框架内置,常用工具变成命令行使用,这不得节省好多上下文啊
现阶段最重要的使用方式,不论是openclaw还是CC,最重要的能力扩展都依靠skill
memory
memory和skill,是agent得以进化和越来越好用的关键,理解这两块,有助于对新兴名词的理解和祛魅。
手动memory相当于一种对于claude code的系统提示词,是agent级别的,规定项目的运行方式,代码规范等内容。也是有多种作用范围,可以是项目层面的,放置在文件对应的.claude文件夹下,claude.md。完全的自然语言使用markdown文档书写。不应该超过200行,可以使用/init命令阅读代码库进行初始化,大型项目可以把用rules文件夹下面放不同主题的md,以便按需调用。calude.md 在session开始时候会自动创建。
使用/memory查看auto memory,并可以编辑。这是claude code在被使用的过程中,自主生成的按不同主题的记忆。
skills、MCP等插件的作用范围
主要分为local、user、project三种
作为和openclaw的典型区别,claude code的作用范围明显更加克制,并且仍然以工作项目为核心。openclaw则看起来并没有明显的区分,属于是user等级的
local是把配置放在~/.claude里面,但是确切指定项目路径。
user也是把配置放在~/.claude里面
project则是把配置放在项目路径里面,这样使得上传到git同步等多人协作的时候,可以同步该项目使用的插件。
claude code的多开、并行、隔离
session分隔,新session不带有上下文但是带有通用auto memory
session和文件夹绑定,但是可以切换branch切换到不同的文件夹但保留session上下文
通过 git worktree来fork或回溯或者新建分支
使用claude resume找到之前的上下文session,或者使用continue继续最近的session
claude code对话和操作的分支与回溯
输入命令/rewind,可以有多种选项,包括代码和对话两项内容上保留或不保留,从而支持回溯、尝试新方案等实际需求
浏览器操作
广义爬虫、网页获取、浏览器自动化测试
claude code chrome扩展
必须claude账号登录
谷歌dev tools MCP
微软playwright MCP
其他浏览器助手
vibesurf
上下文管理、token管理与省钱
不要加载没用的skill或者根据当前需要定向加载(相当于不同的版本),在session开始的时候,所有skill都会加载最前面的介绍部分。
非常谨慎使用MCP服务,每一次对话都会发送全部内容!
减少不必要的request,适当合并要求,一气说完
多直接使用/context命令查看到底有什么,或者将上下文直接量化在status条里面
使用/mcp来查看激活的MCP,关闭你不需要的
能用命令行工具的,就别用MCP,太消耗
根据LSP的描述,其实LSP不需要模型去搜索巨量的上下文,所以也省token。claude code这个叫 code intelligence plugins
大型代码库,如果是你熟悉的内容,请自己添加一个skill,codebase-overview,介绍项目结构、关键目录、命名惯例,使用习惯等,以节省模型收到大量上下文然后自己找规律的费用。
当有需要查文件、查log、查网页等明显只需要最终结论的事情,开一个新的subagent执行然后返回到主分支里面。
开箱使用前(aka装机必备)
必备一些plugins,plugins是skill、mcp等不同内容的打包合集
对应语言的lsp,为当前项目安装即可,选project scope即可
superpower,获取头脑风暴能力
playwright,获取浏览器操纵能力
claude code guide,甚至也是一个skill
skill-creator,自动根据你的完整上下文和你的处理方式,总结生成一个skill