loading...
2025年12月09日
24 min read

我如何使用 Claude Code

工具llm

简介:

使用 Claude Code 有一段时间了,看到各式各样的营销号传出来的下载配置教学,但那些营销号往往没有真正的实战,只是简单的贴出常用的命令,也不知道效果到底如何,实在难以让人信服。

除此之外,我也相信很多人看到各式各样的刷屏,但自己也没有具体去尝试过,所以我把我自己的一些配置和尝试分享出来~

希望可以帮助大家也去体验 cc 这个好用的工具(至少在我的心里胜过慢吞吞的 codex)。

所以 claude code 也是螃蟹吗?
所以 claude code 也是螃蟹吗?

安装:

在 Claude Code 的官方 github 仓库即可下载,提供了 macos/Windows 的快速下载方式。

如果你用 macos,那么使用 homebrew 即可一键下载:

brew install --cask claude-code

不过有点好笑的是,Claude Code 本身并不是一个开源项目,这里的仓库只是提供了对应的一些 example 和 plugin。

也不接受任何 PR,非常符合 A 厂一贯的作风。

配置:

我使用的是 Randy 老师开发的 cc mate 来一键管理对应的配置,可以快速切换不同服务商提供的 Antrophic 式的 api,包括 kimi、zhipu 等。也有类似于 cc switch 这样的 web 端工具帮助切换配置,但就我个人的体验而言,我更喜欢 cc mate。

像看 github 提交图一样看 cc token😂
像看 github 提交图一样看 cc token😂

由于众所周知的原因,Claude Code 如果使用 Antrophic 官方的订阅,在你 ip 不够纯净的情况下很容易触发封号。(封号两次,已老实😇)

所以我更推荐用月之暗面的 KFC(Kimi For Coding)来做试验。之前 kimi 还有一个和 kimi 对话的活动,最低可以砍到 1 元,可以去玩一玩提示词注入,或者单纯聊聊天也挺好玩。

可惜等我开投的时候已经关闭了。
可惜等我开投的时候已经关闭了。

购买对应的订阅(记得及时取消,避免下次续订大出血),拿到对应的 key 后就可以准备配置了。

填写配置
填写配置

上述红线划出的部分中,macos 只需要填 BASE_URL 和 API_KEY,但 Windows 上需要保证 auth_token 不为空,我没有研究过具体的原因(猜测跟 PowerShell 和 cmd 本身环境有关),所以需要将 api_key 也填到 auth_token 上,不然 Claude Code 就会一直提醒你用 Antrophic 账号登录。

对应的 mcp 配置和 cursor 或者其它 mcp 客户端基本是一致的,复制粘贴过来即可使用。

下面我提供我自己平常会用到的 mcp server 配置。

"mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    },
    "figma": {
      "url": "https://mcp.figma.com/mcp"
    },
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer Your Github Token"
      }
    },
    "shadcn": {
      "command": "npx",
      "args": [
        "shadcn@latest",
        "mcp"
      ]
    },
    "API 文档": {
      "command": "npx",
      "args": [
        "-y",
        "apifox-mcp-server@latest",
        "--project-id=<project-id>"
      ],
      "env": {
        "APIFOX_ACCESS_TOKEN": "<access-token>"
      }
    },
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest"
      ]
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql: your dsn"
      ]
    }
  }

配置好之后就可以在任意一个终端上启用啦。

常用命令:

这里是一些常用命令,其实不用刻意去记,在 claude code 中输入的时候会有对应的联想。

/add-dir  #添加一个新的工作目录
/init     #使用代码库文档初始化一个新的CLAUDE.md文件,强烈建议使用
/clear    #清除对话历史并释放上下文,重新开始
/resume   #恢复之前的对话
/compact  #清除对话历史记录,但保留上下文中的摘要,会话过长时压缩
/exit     #或者quite,退出REPL,退出Claude Code命令行模型
/export   #将当前对话导出到文件或剪贴板
/mcp      #管理MCP服务器


/memory   #编辑Claude Code的记忆文件
/model    #为Claude Code设置AI模型
/vim      #在Vim模式

和普通编辑模式之间切换
 

/agents   #agent配置管理,可以创建智能体
/bashes   #列出并管理后台Bash Shell脚本
/bug      #提交关于Claude Code的反馈
/config   #打开配置面板,查看Claude Code的具体配置
/context  #查看当前上下文使用情况,并以彩色网格的形式进行可视化
/cost     #显示当前会话的总成本和持续时间
/doctor   #诊断并验证您的Claude Code安装和设置
/help     #显示帮助信息和可用命令
/hooks    #管理工具事件的钩子配置
/ide      #管理IDE集成并显示状态
/login    #切换Anthropic账户
/logout   #从您的Anthropic账户中注销
/review   #代码审查,智能分析审阅一个拉取请求
/status   #显示Claude Code状态,包括版本、模型、账户、API连接和工具状态
/upgrade  #升级至最高级别,以获得更高的速率限制和更多Opus

功能
/statusline          #设置Claude Code的状态行用户界面
/output-style        #直接设置输出样式或从选择菜单中设置
/output-style:new    #创建自定义输出样式
/pr-comments         #从GitHub拉取请求中获取评论
/release-notes       #查看发布说明
/migrate-installer   #将全局npm安装迁移到本地安装
/install-github-app  #为存储库设置 Claude GitHub Actions


/security-review     #对当前分支上待处理的更改进行安全审查
/terminal-setup      #为换行安装 Shift+Enter#键绑定

然后是一些常用的操作:

# 添加记忆
# 添加记忆的 prompt

# 引用文件名进行对话
@+文件名
 
# 粘贴图片
control + v
 
# 换行
Option+Enter
 
# 在Claude Code命令行执行Bash命令,如 !ls -l
!+ Bash命令
 
# 上下键可以进行历史命令上下切换
↑/↓
 
# 中断Claude Code的执行 / 可跳转到之前的消息
Esc/Esc+Esc

没有什么特别难记花哨的操作,我觉得比常用的一些小工具命令行参数好记多了,比如 ffmpeg...

相比 ffmpeg 那种命令行地狱,这简直是为人类设计的工具。

总而言之,稍微用一用就能记清楚。

除此之外,Claude code 可以自己定义命令,其实就是将命令与对应的 prompt 作了个映射,你也可以在 cc mate 中配置具体的命令。

自定义命令
自定义命令

Skills && Subagents:

Skill 和 Subagent 是我认为 Claude Code 相较于其它 Cli 好用的设计(不过似乎 CloseAI 也服软了,Codex 也支持 Skill 了)。

Skill:

用官方的定义来讲:

技能文件夹包含指令、脚本和资源,Claude 会动态加载这些文件夹来提升特定任务的执行效率。技能教会 Claude 如何以可重复的方式完成特定任务,例如按照公司品牌指南创建文档、使用组织特定的工作流程分析数据,或自动化个人任务。

相较于本身加载在 Claude Code 上下文中 mcp 提供的工具,渐进式的加载会显得更省 token,使得我们从最开始的 system prompt 回归到了 file system,也就是文件系统本身的设计。

事实上,这类设计很多,如果回忆起操作系统,你就会发现 Claude Code 最开始的设计更像是把工具放到了「内存」,而现在的 Skill 放在「文件系统」后,意味着我们向着多级页表这类思路迈进了一大步,反正如果太多,那我们就搞成索引的索引呗。

正如我之前在「人与大模型」中提到的,其实无论我们用什么,是官方 sdk 也好,还是 Eino、LangChain 这些进一步封装的框架,我们仅仅只是为了将上下文接龙做的更好

而对于 Agent 来说,直接加载 system prompt 的价值相对较低,渐进式调用会好很多。

具体实践在下方的 github 上的 awesome 库部分。

Subagents:

方便切换的提示词模板,也只是提示词工程。但定义的 subagents 可以直接在提示词调用,从而又可以分割开上下文,让上下文再次翻倍,就是有点耗 token...

身处后台默默奉献的 subagent
身处后台默默奉献的 subagent

可以直接在命令中提到使用 xxx sub agents 的命令来做某件事情,这样主 agents 就会调用对应的子 agents 在后台工作了,然后使用 /tasks 列出后台正在工作的 agents。

这个仓库中有很多不错的模板: https://github.com/VoltAgent/awesome-claude-code-subagents

Plugin 下载:

配置 plugin
配置 plugin

注册对应的 skill 需要下载 plugin(实际上直接复制粘贴放进上下文效果也不错)

我们可以使用以下命令,将 Github 注册为 Claude Code 的插件市场。

/plugin marketplace add anthropics/skills

当然,可以看到的是也可以使用本地写的 Skill 来作为插件市场,这些都是可以的。

甚至你可以使用 Skill-Writer 这类 Skill 来操控 Claude Code 写 Skill

注册完后就可以类似于 npm 一样的 install 了:

/plugin install document-skills@anthropic-agent-skills

install skill 之后,你就可以在交互中指定 Claude 去 skill 文件夹中检索对应的 skill 来使用了。

我的一些个人实践:

邪修做法:

实际上,这类 cli 工具,无论是 Claude Code 还是 Gemini cli,它们其实可以不开启交互式模式。也就是 -p ,直接将 prompt 作为参数输入,同时 cli 也会将返回值直接打印到终端标准输出上。

阴暗的想法
阴暗的想法

于是我们可以在命令环节提供调用 gemini cli 的指导,让 Claude Code 调用 gemini cli ,而 gemini cli 受益于 Gemini 本身超长的上下文,于是在总结一个比较大的代码仓库的时候非常好用,可以节省下不少 token,而可以放在 Claude Code上的国产大模型,无论是智谱还是 kimi thinking,本身的上下文也谈不上特别多,这一点 token 节约还挺棒的,大善人 google 本身也为 gemini cli 提供了不错的免费额度。

这其实也挺符合公司架构的😂,Claude Code 是我的下属,然后 gemini cli 又是 Claude Code 的实习生,脏活累活都给 Gemini 干了~

理论上来讲我还可以让 gemini-cli 再启动 claude code,就是不知道可以套多少层,也许无聊时可以实践一下。

Claude Code 只需要负责思考,而 Gemini 考虑的就多了。

截止这篇文章写出来发表 12.10,google 已经收紧了免费额度了😭

需要注意的是,信息传递注定带着失真,这就意味着让 gemini cli 总结出来的代码上下文肯定没有让 Claude Code 自己亲自读一遍更好。具体的取舍还得依据于实际项目,以及自身的需求。

禁止❌:

绝对不要让 Claude Code 一上来就去上手复杂的业务逻辑,尤其是写的代码涉及到第三方文档的时候

我在做 AreyouOk 的支付宝授权部分时,当时想着偷懒,一点也不想看支付宝那混乱不堪的文档。于是让 Claude Code 直接帮我生成了对应的代码。

然后在联调的时候就出事了...对应的 api 接口早就遗弃了,不知道它从哪里抄来了过期的资料。

由于模型的注意力是分散的,当涉及到过于复杂的业务逻辑,比如认证过程,尤其是蕴含多级复杂的认证时,我更倾向于在最开始和模型一起讨论整个业务的流程到底是怎样的,可以画一个时序图出来,有了时序图,自己亲自上手写代码也会轻松不少~

建议优先使用 plan mode 规划,规划完你可以根据复杂度来选择是自己写还是直接交由 Claude Code。毕竟有些云厂商的文档真的跟迷宫一样😵‍💫。

github 上的 awesome 库:

其实对应的 awesome 库已经冒出来不少了,除了 Antrophic 官方的 github 仓库外,我还推荐以下几个:

SubAgents ,顾名思义,提供了 SubAgents 的配置模板,我都是每次学新东西的时候先跑去抄一份提示词,一键复制到

ccmate 上(忽略 minor_service 这种奇怪的名字,这里是丈育 cry)。这样在看 Claude Code 本身做对应操作时,有很大概率可以学到不错的实践经验,可以记录下他是如何做的。

我的「员工」
我的「员工」

Skills, Antrophic 官方的 Skills 库,PaperHunter 的前端全依赖于里面的 brand-guidelines 设计。复刻了 Antrophic 官网的配色以及字体选择,选用类似于 gemini3-pro 这样的模型可以复刻的很接近。这肯定称不上有个性,但对于不怎么会写 css 的我来说,实用就够了。

PaperHunter 的新 ui
PaperHunter 的新 ui

SuperClaude_Framework, Claude code 的配置框架,看起来挺有趣,可以直接一键配置很多东西,比如现有的 mcp,不过我还没有体验过,考虑等哪天闲下来再试一试这个框架。

特定的 Memory:

需要理解的是,大模型大多时候只会做大众爱做的事情,因为它这方面「记忆最多」。

举几个例子,用 python 一定用 pip 来下载,只知道用 npm,让它写一个前端大概率是 react 打底...

所以配置一个属于你的 cc 就显得很重要,你应该在记忆中告诉它,你和大众的风格不太一样,你用的是 uv,用的是 pnpm,不要再用💩 next.js 了(本站当初就是这样被 ai 忽悠建起来的...)。

这样设定好的记忆可以减少很多不必要的 token 消耗,以及本身使用 cc 的体验,减少你的口舌,同时降低 token 消耗,是两全其美的举措。

之前在推特上看到的分享是:

把 Claude Code 当做你的个性化助手,而不是让其只是一个大众 agent

所以添加一些记忆,让它变成你的独有 agent 吧。

这对于我也有一定的启发。

学习初始的时候,尤其在现有的 ai 合作开发时代,最开始知道的知识广度很重要,你如果知道一个东西的「最佳实践」(虽然可能并不存在最佳实践),那么你去指定 agent 来协助你做这件事的时候会轻松一些。

如果你只是简简单单对 Claude 说,帮我写一个网页,那么很可能得到的只是简单的 html,但你如果知道有别的框架,有更好的实践,那么你就知道指定 Claude code 去做什么事。

我觉得用一句话来简单概括就是:

我们无法描述我们未知的东西。

这也是为什么依旧需要持续学习。你让一个资深工程师来使用 cc ,和我这种菜鸟工程师来使用 cc 肯定是不同的😂,同样的道理,在使用 cc 或者说 ai 方面,我觉得我也是胜过大多数普通人的。

如何用于后端学习:

大多数学习应该是类似的。

但因为我目前正在学习后端开发,就简单聊聊我作为一个编程菜鸟,是如何把 Claude Code 这类 AI 工具融入后端学习与实践的。

API 文档:

我觉得应该没有做后端的人真正喜欢写文档。即便有 Swagger 或其他注解工具,写文档依旧是繁琐又容易拖延的。我的做法是:每当我完成一段功能并 commit 后,我会让 Claude Code 根据接口代码自动生成 API 文档,再由我人工审阅、补充细节。这样,一方面能保持文档与代码同步更新,另一方面也能帮我养成文档习惯,而不是最后一次性「补作业」,这样只会让我更不想写文档...

架构设计:

分布式架构设计绝对是后端学习中最难的一环,特别是数据一致性、服务拆分、幂等性这些概念。对于初学者来说,独立设计一个合理的架构几乎是不可能的,很多时候只能参考现成项目照猫画虎,这样导致了大家的项目都是千篇一律的苍穹外卖、黑马点评。

这时候 Claude Code 的优势就体现出来了,以我在 AreYouOK 的实践为例,我会先说出自己的需求、已有技术栈以及未来扩展方向,AI 能给出几种成熟的架构方案,并且解释各自的权衡点。这样一来,即使我暂时还写不出高质量的设计,也能至少知道为什么要这么做,从“盲目模仿”变成“理解式实践”。了解一些可能的实践后,会比盲目的试错好很多。

Write-docs:

在做完一次 commit 之后,可以让 cc 对于现有的整个实现做一个总结,让他放到 agentdocs/ 目录下(或者其它什么你喜欢的目录),这样也可以节省下次 cc 阅读整个项目仓库的时间。

Like this
Like this

最重要的:

最重要的是,学习的过程不要形成依赖路径,尽量将其用于辅助,用 cc 来指引自己的开发,而不是全权委托给 cc。其它方向的学习也是一样的。

关于 Vibe Coding 的思考:

不得不承认,Vibe Coding 的体验确实很爽。看着那些自己可能写不出来、或者暂时还不会写的代码,从大模型的一个个 token 里「蹦出来」,那种成就感很直接(尤其在 vibe 前端时最爽)。

但我依旧认为,学习编程语言本身是重要且不可替代的。

有人说,将来自然语言会成为真正的“编程语言”,人人都无需再学代码。

这显然是不对的。

回顾计算机的发展史,每一次「语言层级的进化」都从未让底层语言失去价值。相反,它们共同构成了更丰富繁荣的生态。JavaScript 之于 C++ 的抽象程度差距,可能就像 C++ 之于汇编一样,而自然语言不过是在这个抽象链条上新增的一环。

JavaScript 活的好好的,C++ 也还没死(虽然我希望 rust 干掉它)。

因此,大模型会改变编程,但不会让真正懂编程的人被淘汰,Coding 本身的乐趣,依旧需要进入心流模式的自己来享受。

文章推荐以及参考:

我的 Claude Code 使用小记2

Write a good Claude.md

Claude Code 官方文档

借助 Skill 提升前端设计

上下文工程

I'm In Vibe Coding Hell

留下你的想法 💬