我整理的 claude code 学习笔记全集
时间:2026-1-20 14:52 作者:独元殇 分类: 开发相关
[toc]
前言
就是
https://www.ccgxk.com/codeother/622.html
https://www.ccgxk.com/codeother/623.html
https://www.ccgxk.com/codeother/624.html
这三篇文章,搞到一起了。
首先,这个话题针对的大概率是 claude opus 4.5 模型 很难在国内被使用。这个很好解决,我肯定不会肉身在国内,冒险去花个几百块砸去 Anthropic 官网搞个会员,我一直使用的是模型聚合中介服务,按量付费。
这玩意虽然是为写代码设计的,但是它其实什么都能干,只要电脑能干,它都能干.... 一句话,爬内容、整理文件、发表评论、收集数据、撰写书籍.....
1.首先是安装!
安装超级简单。魔法上网就不多说了,注意,我们选择新加坡!
先是准备工作,看看 node git 都有否妥当。
node -v # 查看本地有没有 node
git --version # 查看本地有没有 git
如果都能显示出版本号,那么可以开淦了!(我这边设备是 mac)
# 开始安装
sudo npm install -g @anthropic-ai/claude-code
# 查看版本,看看有否安装妥当
claude --version
这个包很小,很快就安装好了。
2.配置代理
接着,就是设置代理了。
你知道,我们的魔法上网,它默认是不让 命令行终端窗口 接入的,因此我们直接启动 claude 会报错。
魔法的默认端口是 7890 ,所以我们要给我们的 终端 也加上代理。
# 测试一下能不能命令行访问 谷歌
curl google.com
# 如果不能,就执行一下这两行,然后再测试访问谷歌,应该就 OK 了
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
当然,前提条件一定是得有魔法,我就不多说了。能显示如下就说明可以正常使用 claude code 了。
3.上聚合站搞 API
现在的聚合还真不少,我也不打广告,就说我常用的 3 个。一个是国产的 302 ai ,其余两个是 deepbricks ai 和 openrouter ai 。
302 ai 是全中文的,绝大部分模型都有,便宜。网上随便找的,感觉还行。
deepbricks ai 我用的比较多,是支持支付宝支付的,测试使用。界面很简单。
openrouter ai 我用于生产环境。
当然,这种收过路费好生意的,肯定卷的不行,出名的太多了:
图:不同模型在不同API提供商的推荐指数(来源于网络)
我推荐各位新手使用 302 ai ,全汉化界面,比较友好,而且货全,听说过没听说过的都有了。不过站点比较新,暂时不第一选择它在生产环境用。
就是只是试试水,你真靠这个挣钱,你最好用 openrouter ai !
然后注册付费一条龙,得到下面这三个东西。
API 地址:https://api.302.ai/v1
秘钥(类似这样):sk-QLPrX4xaI123Vij123456to12Zi2okmaM4Jc7 (模拟)
模型名称:claude-opus-4-5-20251101
4.配置环境,自定义模型 API
然后,我们回到命令行,输入下面的环境变量:
# (临时)设置环境变量,自定义 claude code 模型
export ANTHROPIC_BASE_URL=https://api.302.ai/v1
export ANTHROPIC_AUTH_TOKEN=sk-QLPrX4xaI123Vij123456to12Zi2okmaM4Jc7
export ANTHROPIC_MODEL=claude-opus-4-5-20251101
# (永久)设置环境变量
echo 'export ANTHROPIC_BASE_URL=模型API地址' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN=你的API密钥' >> ~/.bashrc
echo 'export ANTHROPIC_MODEL=模型名称' >> ~/.bashrc
source ~/.bashrc
我们先临时试试,选第一块儿。这个环境变量,关闭终端后就没了。
第一行是我们自己的模型 Url 。
第二个就是秘钥嘛(我这个 sk 代码只是示意,是不能用的,你要用你的!!!)。
如果我们不设置,那就会使用 claude 官方的模型,你知道,很麻烦,动不动就封号,而且昂贵.....
现在,我们就可以使用接近原汁原味的 claude opus 4.5 超级编程模型,去写 vibe coding 了!
5.选择其他模型
当然,都使用聚合了,我们肯定可以使用其他任何大模型!打开 302 ai 的价格表,里面有很多:
我们可以试试 GPT 5.2,也可以试试 GLM MiniMAX 等等国产模型。下面是我的几个熟悉的:
生产力项目,我用昂贵的 claude-opus-4.5 (最优、也最贵)和 gemini-3-pro-preview
大块大块的基建项目,我用 minimax-m2.1(速度快,写的也不错,有 opus 的 70% 以上水平,包月套餐 29 元每月)
其余的所有地方,我都使用 deepseek-v3.2(速度慢,但足够聪明,超级便宜,适合入门学习使用)
这是 2026.1.17 的数据。大模型发展飞快,下个月就不是这个数据了。大家根据自己的爱好选。
如果选择 opus-4.5 的话,一次简单的对话,可能就花好几元RMB,而 deepseek ,可能就不到一毛钱RMB。先使用便宜模型,学会,之后再上贵的来做东西、挣钱钱。
这边,我推荐大家使用 deepseek v3.2,所以,我们要把模型名称设置为:
export ANTHROPIC_MODEL=deepseek-v3.2
之后,激动人心的时刻到了!
6.终于看到主界面了
启动 claude!
# 常规启动
claude
# 不顾任何提醒模式,完全信任模型的启动(跳过权限设置)
claude --dangerously-skip-permissions
如果刚开始的话,你会遇到很多需要选择的配置,比如
Use Claude Code's terminal setup?
For the optimal coding experience, enable the recommended settings
for your terminal: Shift+Enter for newlines
❯ 1. Yes, use recommended settings
2. No, maybe later with /terminal-setup
有个五六项,大家看自己喜好选择吧。
之后,那个等待已久的界面终于出现了。
我们在文本框里输入命令,输入问题,就可以操作这个世界上目前最丝滑的 AI Agent 了,这个小小的窗口,目前已经能代替 70% 的人干活儿了!
当然,claude code 到这个时候,才是开始。还有 提示词仓库、sub-agents 子代理、MCP、Agent Skills、插件市场.... 一堆东西要学!
7.完成
现在,你可以放心 合法 安全地 跟着 claude code 官方教程学了:
去学怎么 vibe coding 了。
或者可以用它干点「好事」,比如给我的博客发条评论。你给它说,「给 ccgxk com 最新的文章,发一个评论:写的行!」
它自己就会上网发!
它住在命令行里,它能干电脑几乎所有能干的事!整理数据、文章等等.... 真的,这东西太奇妙了!只要你嘴能说清,而且合理,它就真给你办。
我也发布过几篇 claude code 的文章了,未来再写些内容,也会对其更深入讲。
claude code 这个命令行工具,真是满足了我小时候会未来科技生活的大部分幻想,那个跳动在 命令行 的一个个字符,真的帅呆了。大家没发现近些年没什么科幻电影了么?都实现了,人类的想象力有点跟不上了。
很少有人真的喜欢天天学新东西,我一个 java 技术栈的朋友,说我们怎么天天能学那么多东西(针对于全栈)。我作为一个 出海 Saas 人,我自己也沉默了:
是啊,全栈开发者(偏前端),可能自己都意识不到,但列出来自己每天用到的技术栈,自己也会吓一条。对于一些精钻某个技术的人来讲,如果要转全栈,下意识觉得每个都要学很久很久,会吓一跳。
但是 claude code 是最应该好好学的。因为我发现,其他的半桶水,几乎不影响你挣钱,但 claude code 等类似 agent 产品,肯定会拖慢你本应达到的速度。学吧,学无止境。
不要排斥,就好像我小学 5 年级,第一次用 baidu 时的那种恐惧一样。后来就离不开搜索引擎了。越用越熟练。
如何安装 claude code ?这个我昨天有写过,不再多说:
https://www.ccgxk.com/codeother/622.html
下面就是进阶内容了。
本文主要讲 斜杠命令、skill、sub-agent、插件、CLAUDE.md、plan模式、hooks 等初步使用。
首先,可以先阅读一下我的这篇文章,了解一下 claude code 的各种功能的发展原因,为什么会出现这么多工具,然后来再来阅读下文:
https://www.ccgxk.com/codeother/612.html
1.发展史
历史吧,即这 5 个:
2.斜杠命令 commands
斜杠命令,是一种快捷方式,为解决临时的 重复性 命令而设立的。
因为 claude code 界面,第一页,本质就是一个大的对话框而已。如果我们每次都要写一段长长的某提示词,比如,「输入 /hello 时,输出 hi, 祝你今天开心!」。方便干净!
怎么搞呢?严格的方法,是在项目根目录,这个 .claude/commands/hello.md 文件夹的 markdown 文件里,写入 下面的话:
输出问候消息。
这是一个简单的命令,用于向用户打招呼。
执行步骤:
1. 输出消息 "hi, 祝你今天开心!"
哈哈,没错,写人话就行了,就这么简单!!!
当然,最好的办法是,直接跟 claude 说 (shift 可以换行) ,「添加一个 自定义斜杠命令 (Slash Commands)输入 /hello 时,输出 hi, 祝你今天开心!」
一个样子!也免去记忆了~
3.skill 技能包
然后是 skills (技能包),也叫领域专家。
我们在使用 claude code 的时候,如果专注于前端,那么就可以引入一个专业前端的 skill !
claude 官方有几个 skill 示例(请怯魅,不过就是一大堆 markdown 格式的文本规范罢了,告诉 AI 怎么做事),质量还不错,地址是 https://github.com/anthropics/skills
下面是几个 skill 安装地址,使用 npx 命令安装:
# 前端设计技能
npx skills-installer install @anthropics/claude-code/frontend-design --client claude-code
# 文档协同技能
npx skills-installer install @anthropics/claude-code/doc-coauthoring --client claude-code
# Canvas 设计技能
npx skills-installer install @anthropics/claude-code/canvas-design --client claude-code
# PDF 处理技能
npx skills-installer install @anthropics/claude-code/pdf --client claude-code
# 算法艺术生成
npx skills-installer install @anthropics/claude-code/algorithmic-art --client claude-code
斜杠命令 /skills 可以查看本地已经安装的技能包(skills)
我们怎么用呢?只需要说人话即可! ⊙﹏⊙|||
比如 :
使用 frontend-design skill 来做我之后的网页项目!
那么,后续,它就会按照这个技能包,优化我们的后续的前端网页项目了!
当然,我们也可以自己设计自己的 skills
在 /.claude/skills/goodcoding/ 这个文件夹里,新建下面两个文件:
# skills/goodcoding/skill.json(可选)
{
"name": "goodcoding",
"description": "更好的 coding",
"version": "1.0.0",
"author": "ccgxk",
"categories": ["automation"],
"license": "MIT",
"skill": {
"file": "skill.md",
"description": "这个技能用于写更好的代码"
}
}
# skills/goodcoding/skill.md
# 好好写代码
要好好的写出更好的代码啊!
之后,你就可以像 斜杠命令 一样,/goodcoding ,用了!
什么效果呢?看这回复,有点很搞笑哈哈,但没办法,所有 claude code 的高端技能,就是玩 markdown 文件,只要你语文好,说话清楚,你就可以把 claude code 玩的很 6 !
4.钩子 HOOK
这个是好东西,用人话说,就是触发事件!
什么时候,执行什么命令!
有这 5 大类:
user-prompt-submit
tool-use
after-tool-use
permission-request
notifcation
它们的解释如下:
我们查询当前的已经启用 hook 时,使用 /hooks 命令。我们会发现一大堆系统内置的命令。
不过,这个都是 命令行,如果我们想添加我们自定义的,那就得写 sh 脚本,或者 Python 脚本。
怎么添加呢?除了用人话直接要求 claude code 外,可以在 .claude/settings.json 中查看和设置。
# .claude/settings.json
{
"hooks": {
"user-prompt-submit-hook": { // 触发时机
"command": "npm run validate-prompt", // 执行命令
"enabled": true // 是否启用该 hook
},
"tool-use-hook": {
"command": "~/.claude/hooks/check-permission.sh", // 安全检查(自定义)
"enabled": true,
"blocking": true // 是否阻塞?true 表示脚本失败时,工具调用会被中断
},
"after-tool-use-hook": {
"command": "echo 'Tool used: {{toolName}}' >> ~/.claude/hooks.log",
"enabled": true
}
}
}
你可以自己设计你自己的!
哦,对,还有个 task-complete-hook 钩子,可以在任务完成时触发。给你发个短信通知等等....
这个钩子,用好了,特别好用,用不好,就会是障碍。
你可以用在什么代码格式化上,自动 TS 转 JS 了.....
5. MCP 服务器
这个你可能很多地方见过,没错,它就是为了方便我们去操作很多其他软件,抽象写的一个文档。
MCP是一种开放协议,通过标准化的服务器实现,使 AI 模型能够安全地与本地和远程资源进行交互。
这个我不再多说,网上有一大把,比如让你在 bilibili 搜索东西,操作 github ,设置 wordpress 了... 安装方式各有差异,大家自行探索。
6.插件 plugins
还记得上面我写的 claude code 发展历史吗?
插件,就是好几个斜杠命令、skill 技能、钩子 hooks、mcp 服务器、子代理.... 打包到一起了。
在生产环境下,用于方便复制自己打磨好的工具,你辛辛苦苦打磨了很久 claude code,搞了一大堆技能,你想发扬开源程序员精神,为砸破 程序员饭碗 添砖加瓦,你就可以创建一个插件,把完整 的工作流套件都分享出去~
网上有很多成套的市场:
官方Skills和插件仓库 https://github.com/anthropics/skills
官方插件网 https://claudecodemarketplaces.com 插件市场目录
社区插件精选网:https://awesomeclaude.ai/plugins
安装的话,比如有个叫 claude-flow 的插件,在 claude code 命令行里,直接输入 /plugin install claude-flow 就行了,这些市场里,会给出安装方式。
有些在 github 上,那么就 claude plugin install github:user/repo 也行!
如果想打包自己的 plugins 的话,很简单,直接把自己的 .claude 目录复制出来,搞这个结构:
# 目录结构
my-plugin/
├── plugin.json # Plugin 配置
├── skills/ # Skills 目录
│ ├── skill1/
│ └── skill2/
├── commands/ # 自定义斜杠命令
│ └── my-command.md
├── mcp/ # MCP 配置
│ └── mcp-config.json
├── agents/ # SubAgent 定义
│ └── agent1.json
└── hooks/ # Hook 脚本
└── hook1.sh
# plugin.json 内容
{
"name": "my-plugin",
"version": "1.0.0",
"description": "我的自定义插件",
"author": "Your Name",
"skills": [
"skills/skill1",
"skills/skill2"
],
"commands": [
{
"name": "/my-command",
"description": "我的自定义命令",
"file": "commands/my-command.md"
}
],
"mcpServers": [
{
"name": "my-mcp",
"config": "mcp/mcp-config.json"
}
],
"agents": [
{
"name": "my-agent",
"config": "agents/agent1.json"
}
]
}
以这个目录配置即可。
然后打包发布~
7.子代理 SubAgents
我们很多时候,不是单线任务,需要多线共同完成。那么就需要子代理了!
(当然,它们执行的时候,可能看起来还是单线的,但它们确实是分工,各干各的)
就好像你有好几个员工一样。
他们有的负责 测试代码
有的负责安全
有的负责整理文档....
那么就可以写好几个任务。
怎么添加呢?除了口头用人话命令 claude code 外,就是笨办法。
来自 Claude Code 创始人 Boris Cherny 的实际使用案例:
# 在 agents 目录里添加三个文件
# .claude/agents/code-simplifier.md
你是一个代码精简专家。在 Claude 完成工作后,你的任务是:
1. 分析代码的复杂度和可读性
2. 识别可以简化的逻辑
3. 提供优化建议但保持功能不变
4. 优先考虑性能和可维护性
# .claude/agents/verify-app.md
你是一个端到端测试专家。你的任务是验证应用功能:
1. 运行完整的测试套件
2. 检查所有关键路径
3. 验证边界情况
4. 确保用户体验"感觉对劲"
5. 如果发现问题,提供详细的修复步骤
然后在 claude code 命令行里,写下面的内容(shift 可以换行):
# 在 Claude Code 中
使用 code-simplifier agent 优化刚才写的代码
使用 verify-app agent 验证应用是否正常工作
8.项目记忆文件 CLAUDE.md
这个肯定不能不说。
我之前有详细整理过它的攻略:
https://www.zhihu.com/question/1979609139266213083/answer/1981150550633509168
它,就是你自定义的 系统提示词 !
主要用于介绍项目结构,或者 一些什么什么....
一般就放在你项目根目录,或者某个文件夹里。
文件名,就命名成一个 CLAUDE.md 就行。
当然 claude /init 也行,这样 claude code 会自己扫描整个项目,给你草拟一个 CLAUDE.md ,如果你懒的话....
算是一个智慧的积累吧。
claude 创始人,也建议把一些常见的报错或注意事项给放进去。
但你要注意,这个文件体积越小越好!不要写很多废话!!!
9.Plan模式
就是先规划,后执行。毕竟每一次回车 enter 下去,都是烧钱烧 token 的开始。你用国产模型,可能就 5 毛钱没了,你要是用的 国外模型,就是一张鸡蛋灌饼几块钱没了。
这个规划模式,就是会先告诉你它接下来的计划,让您过目,看看需不需要修改。
启用很简单:快速按两次快捷键,也就是 Shift+Tab, Shift+Tab 。
或者直接敲斜杠命令 /plan 。
小任务就不必了,废 token,大任务,就有必要了,必要时刻省很多 token。
这样,在执行时,会给出计划,和选项,同意就选第一个,不同意,就选最后一个,让 claude code 重新修改某个地方。
暂时的结语
当然,还有 沙盒模式、深度思考模式、headless 无头集成模式、LSP 集成模式... 等等,以及一些技巧。这些我明天 2026.1.19 再更新!
我在前天和昨天,分别写了两个回答,主要讲的 claude code 的新手安装 和 初步上手。
《新手安装》:
https://www.ccgxk.com/codeother/622.html
《初步上手》:
https://www.ccgxk.com/codeother/623.html
初步上手,讲解了 【斜杠命令】、【skill】、【sub-agent】、【插件】、【CLAUDE.md】、【plan模式】、【hooks】。
但是,claude code 和别的技术栈不一样,别的大部分技术栈一般我们按需学习使用就够了,入入门就行,全学了,性价比不高,还可能浪费程序员的高工资单价小时之时间,且可能无法提高什么生产力。但 claude code 这种不一样,真能成十倍提高工作生产力的工具,我建议诸位深入学一点。
所以今天写一个进阶的教程!
讲一下 【沙盒模式】、【深度思考模式】、【headless 无头集成模式】、【CI/CD 流程】、【LSP 集成模式】... 等等看起来高端,但也确实有用的东西。
(提前说一句, 按 ESC 是返回!我们进入某个斜杠命令里,返回就按 ESC)
1.沙盒模式 sandbox
这个沙箱,分两种。一种是 权限控制,另一种是 沙箱隔离。
首先第一种,其 claude 命令是 claude /permissions , 用于 精细地控制 claude 的要做的事,比如 能不能修改某个目录、能不能读某个文件、能不能执行某个命令....
我们敲入后,它有四行命令,我添加了一个【不能修改 key.txt 文件】。
上面有 4 个选区,allow ask deny workspace ,一般就用前两个。
第一个 allow 就是只要命中我下面的规则,就静悄悄照着做。
第二个 ask 就是,只要命中我下面的规则,会问我一下,然后看我的意见。
第三个则不去做,第四个是仅本次会话有效。
我懒得记命令,我直接就写自己的人话,想默许它执行的,就写 allow 里。想让它问问我的,就写 ask 里。
很显然,这个时候,无论我怎么向 claude code 敲入提示词,它都不会动我的 key.txt 了。
我们,建议直接在项目里规定好,claude 只能动哪几个文件夹就好了,不能动什么文件夹,这样安全一点。
另一个,【沙箱隔离】。
这个怎么理解呢?它不是一个类似于「虚拟机」的东西,而是设置一个安全边界,就是安全模式。
我建议大家始终是启用的。
开启,直接 /sandbox 选择。
第一个是开启自动省心模式(推荐),第二个是不断询问模式, 第三个是关闭。
因为有时候系统里,不小心被第三方库引入一些恶意代码,比如 ‘rm -rf ~’ ,有时候 AI 会相信,然后执行,然后.....
开启后,就会给一个默认的安全边界,能识别一些命令的执行边界,防止越界,把你 C盘 D盘 E盘 都删了。
比如 当前项目之外的文件,就不会被修改了、一些未授权的域名会被拦截和询问你、询问你一些可能文件权限越界的命令(潜在危险命令)..... 算是上面那个 【权限控制】的一个现成的小安全版本。
2.Headless 模式 (无头模式)
这个主要是用于集成到大厂工作的 CI/CD 流程里的(CI 是质检测试、CD 是部署打包)。当然,你也可以设计你的创意玩法。
无头无头,就是不用显示这个花里花哨的敲代码的界面了!
无头浏览器,就是直接在命令行里模拟 浏览器 的行为。无头 claude code 也是。
我们现在就把 claude code 当成一个指令了,就是加上 -p 指令!(p 指的 prompt)
# 直接输出结果
claude -p "你好"
# 示例
duyuanshang@bogon claude % claude -p "你好"
你好!有什么我可以帮助你的吗?
duyuanshang@bogon claude %
这个,跟我们直接在 claude 里写 prompt 提示词是一样的。
当然,还可以这样用,导入更多的内容。
# 从管道输入
git diff | claude -p "解释这些更改"
# 从文件输入
cat file.txt | claude -p "总结这个文件"
# 直接指定
claude -p "检查代码质量" < src/main.js
现在你应该知道怎么用了!
3.深度思考模式 ultrathink
这个可以对你的命令,来一个更彻底的推理,使其质量更好一点。
使用方式很简单,就在 命令行 我们提示词里,加上 ultrathink: 这个前缀就行。比如
ultrathink: 分析这个认证系统并建议改进方案
ultrathink: 为我们的 API 设计一个缓存层
4.常用的 提示词 、斜杠命令、token 减少
有很多在我们的提示词里可加的东西。
比如 @ 符号,可以引用文件,是个省 token 的好工具!
# 引入单个源码文件
@src/auth.ts
# 引入整个目录内容
@src/components/
# 同时引入多个文件
@src/auth.ts @src/user.ts @src/database.ts
# 使用 MCP 外部服务
@mcp:github
# 关键词模糊引用
@auth # 可能匹配 auth.ts、auth.controller.ts 等
以及感叹号 ! 前缀,可以执行我们的命令行命令!!! 这个超级重要,别为了执行一个 bash ,专门退出了....
比如:
# 列出本文件夹里的内容
!ls
# 查看状态
!git status
还有 /stats ,可以查看我们过去的统计数据:
这是一些常用的斜杠命令:
后面的 星星,是使用频率。
要定期 export 备份。方便后续排查。反正就是日志嘛....
/export conversation-2026-01-19.json
如果对话太长的话,可以保留要点(省后续的 token 用的,反正人又不看,想看就按 /context ),比如:
/compact "保留以下内容:1.修改的代码,2.删除的文件...."
保留要点后,那些杂七杂八的历史对话了,只留下你要求他留下的东西。
然后是省 token 技巧:
这些命令,用好了,可以为为我们减少 一半 的 token ,换成 RMB 的话,一月省钱不菲。
最省 token 的是,使用子代理 sub-agent ,因为上下文数量少了。其次是定期 /compact 。
以及 多用 @ 这种指向单独的目录和文件。
5. 快捷键和快速启动
其实,也没什么:
Enter # 运行
ESC # 返回
Ctrl+S # 暂存当前提示词,再按,就恢复
# 搜索
Ctrl+R # 开始搜索
Ctrl+R # 循环匹配项
Enter # 运行
Tab # 编辑后运行
# PS: 也支持在对话框,拖拽文件后直接描述任务
还有快速启动 claude code
# Windows: 在地址栏输入 cmd
# macOS: 在右键菜单选择"服务 > 新建终端位于文件夹"
# 然后启动 Claude Code
claude
6.切换模型
如果你用的什么 大模型 API 聚合站的话,那么可以设置模型。
下面是一个使用别名来切换模型的技巧。比如你有 GLM kimi Qwen 三个国产模型,在命令行里:
# 创建alias
alias cc-glm ='ANTHROPIC_MODEL=GLM-4.7 claude'
alias cc-kimi ='ANTHROPIC_MODEL=kimi-k2 claude'
alias cc-qwen ='ANTHROPIC_MODEL=qwen-coder-plus claude'
# 使用
cc-glm # 使用智谱GLM
cc-kimi # 使用Kimi
cc-qwen # 使用通义千问
就可以切换不同的模型了。
好,现在基本就足够使用 claude code 了。