Skip to content

Claude Code ​

学习目标:掌握 Claude Code 2.1 的完整能力,从基础使用到 Hooks / Skills / 插件的工程化配置 预计时间:60 分钟 难度:⭐⭐⭐ 最后更新:2026 年 10 月


一句话结论 ​

Claude Code 是终端里的 AI 程序员。51 万行代码、零向量数据库、grep 打败了 RAG。它的哲学很简单:简洁即力量。没有花哨的 UI,不是 IDE,就是一个命令行工具。但到 2026 年 10 月,它已经长成一套完整的工程系统:CLI + 桌面端 + Web + 云端会话 + 子代理 + 插件 + 护栏。不是给你看代码的,是帮你改代码的。

Claude Code 是什么 ​

Anthropic 官方出的 AI 编程助手,跑在终端里。不是网页聊天,是直接在你的项目目录里干活。

核心特点:

  • 命令行工具(CLI),原生二进制,不依赖 Node.js
  • 同时提供桌面端、Web 端和 VS Code 原生扩展
  • 能读、写、编辑你项目里的文件
  • 理解整个代码库,不只是单个文件
  • 支持 Git / Worktree / 云端会话
  • 可扩展:MCP 服务器、Skills、Hooks、插件、自定义命令

跟 Cursor 的区别: Cursor 是 IDE,Claude Code 是终端工具。花叔的标准组合:两个都装,在 Cursor 的终端里跑 Claude Code。Cursor 做手,Claude Code 做脑。

Cursor 负责:写代码、改代码、补全 Claude Code 负责:架构分析、大规模重构、批量操作、自动化

安装和配置 ​

安装(原生 CLI 二进制) ​

Claude Code 2.1 提供原生二进制安装,不再依赖 Node.js:

bash
# macOS / Linux — 推荐方式
curl -fsSL https://claude.ai/install.sh | sh

# 或者通过 npm(传统方式)
npm install -g @anthropic-ai/claude-code

原生二进制的优势:不依赖 Node.js 版本,启动更快,占用更少内存。

认证 ​

方法一:浏览器登录(推荐)

有 Claude Pro 或 Max 订阅的话,直接浏览器登录,不用管 API key:

bash
claude
# 首次运行会提示在浏览器登录

方法二:API Key

bash
# 去 console.anthropic.com 拿 API key
export ANTHROPIC_API_KEY="your-api-key-here"
# 加到 ~/.zshrc 或 ~/.bashrc 让它永久生效

验证 ​

bash
claude --version
# 2026-10-23 时最新稳定版为 2.1.307

基本使用 ​

启动方式 ​

bash
# 交互模式 — 跟 AI 结对编程
claude

# 带初始问题启动
claude "解释这个项目的结构"

# 查询一次就退出(pipe 模式)
claude -p "这个函数有什么问题?"

# 继续上次对话
claude -c

# 恢复指定会话
claude -r "session-id" "继续刚才的任务"

# 打开所有会话的总览(agent view)
claude agents

交互模式 ​

进入交互模式后,你就像跟一个结对程序员聊天:

你: 帮我重构这个函数

Claude: [读取文件] 这个函数主要问题:
1. 嵌套太深
2. 变量命名不清晰
3. 缺少错误处理

我可以这样改... [展示方案]

要应用这些修改吗? (y/n)

关键:Claude Code 可以直接读写文件,不需要复制粘贴。 这是它跟网页版 Claude 的核心区别。

核心功能 ​

1. 文件操作 ​

bash
# 读取文件
"解释 @./src/utils/api.ts 这个文件"

# 编辑文件
"重构 @./src/components/Header.tsx :
1. 抽取重复逻辑到自定义 hook
2. 改善错误处理
3. 添加 TypeScript 类型"

# 创建多个文件
"创建用户认证模块:src/auth/login.ts、src/auth/logout.ts、src/auth/types.ts"

2. Git 集成 ​

bash
"查看 git diff,生成提交信息"
"基于当前分支创建 pull request 描述"
"审查这个 PR 的改动"

Claude Code 能读懂 git 历史,理解项目演进。花叔常用的一个命令:claude "查看最近的 git log,告诉我项目最近在做什么"。

3. 终端命令 ​

用 ! 执行 shell 命令:

bash
!npm test           # 单个命令
!#                  # 进入 shell 模式

从 2026 年 6 月起,shell 模式会直接解释命令输出,不用再补一句"刚才报错什么意思"。Claude Code 可以自己跑命令、看结果、分析问题、修 bug。这是它比网页聊天强的地方——它不是只给建议,它能操作你的系统。

4. 斜杠命令 ​

bash
/help          # 显示所有命令
/config        # 配置设置;也支持 /config key=value 直接改
/model         # 切换 AI 模型
/effort        # 调整推理强度(含 xhigh)
/agents        # 查看所有会话与子代理
/usage         # 查看额度被什么消耗
/mcp           # 管理 MCP 服务器
/plugin        # 管理插件
/skills        # 管理 Skills
/skill-doctor  # 查看每个 Skill 的上下文成本与使用频率
/goal          # 设定完成条件,跨多轮持续推进
/fork          # 把当前对话复制成后台新会话
/rewind        # 回退对话(可以回到 /clear 之前)
/code-review   # 后台子代理做正确性审查
/ultrareview   # 云端一队 bug-hunting agent 做深度审查
/doctor        # 完整环境体检

CLAUDE.md — 项目指令 ​

CLAUDE.md 是 Claude Code 最强大的功能之一。它让 AI 理解你的项目上下文,不用每次重复说明。

不是写文档,是给 AI 画圈。

三层结构 ​

  1. ~/.claude/CLAUDE.md — 全局(你的编程偏好)
  2. ./CLAUDE.md — 项目根目录(项目规范)
  3. 子目录/CLAUDE.md — 特定目录(模块规范)

示例 ​

markdown
# 项目上下文

## 技术栈
- 前端:Next.js + TypeScript
- 后端:Node.js + Express
- 数据库:PostgreSQL + Prisma

## 编码规范
- 用 TypeScript 严格模式
- 组件用函数式 + Hooks
- API 调用必须处理错误
- 所有新功能写测试

## 文件结构
- src/components/ — React 组件
- src/utils/ — 工具函数
- src/api/ — API 调用

花叔的核心理论:51 万行代码,零向量数据库,grep 打败了 RAG。 不是因为它用了什么黑科技,而是因为 CLAUDE.md + grep + 上下文缓存的组合已经足够了。

CLAUDE.md 就是给 AI 画的圈——你告诉它你的项目是什么样,它就知道怎么干活。

高级功能 ​

Hooks 系统 ​

Hooks 在特定事件自动执行命令,实现自动化工作流。

不是手动配置,是自动纠偏。

示例:写完 TypeScript 代码自动格式化

json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write(*.{ts,tsx})",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write $file && npx eslint --fix $file",
            "onFailure": "block"
          }
        ]
      }
    ]
  }
}

可用事件:

  • PreToolUse — 工具执行前
  • PostToolUse — 工具执行后
  • UserPromptSubmit — 用户提交提示前
  • SessionStart — 会话开始时
  • Stop / SubagentStop — 回合结束时

从 2.1.295 起支持 onFailure: "block":hook 启动失败、超时或异常退出时,阻断操作而不是放行。这是护栏的基本盘,细节见 Agent 护栏。

花叔的配置:PostToolUse + Write 事件,自动格式化 + 跑 eslint。每次改完代码不用手动格式化,省了至少 30% 的重复操作。

Skills 系统 ​

Skills 是自然语言触发的自定义技能。

不是插件,是 AI 的肌肉记忆。

创建 Skill:

bash
mkdir -p .claude/skills/add-test-coverage

在目录里创建 SKILL.md:

markdown
---
name: add-test-coverage
description: 为函数添加单元测试
---

# 添加测试覆盖

1. 分析目标函数的输入输出
2. 识别边界情况和错误场景
3. 使用项目的测试框架(Jest/Vitest)
4. 确保测试覆盖率 > 80%
5. 运行测试验证

Claude Code 会自动识别何时使用这个技能。花叔的经验:每个项目配 3-5 个常见操作的 Skills,效率提升 40%。

2026 年新增的两件事要知道:

  • 子代理最多可以从 skills 字段预载 32 个技能——预载越多,上下文成本越高。
  • /skill-doctor 会告诉你每个 Skill 在上下文里占多少、被用过几次。没用上的 Skill 就是负债。

插件(Plugins) ​

插件是 2026 年 Claude Code 扩张最快的一层:把 Skills、Hooks、命令、MCP 配置打包分发。

bash
claude plugin install <name>
claude plugin install --marketplace <source>
claude plugin eval          # 用测试集给插件打分(2026-09 新增)
claude plugin list

官方在 9 月加了 claude plugin eval init,可以自动起草测试用例和评分器,再和"不装插件"的基线对比。插件不是装得越多越好,装之前先问:它有没有可验证的收益。

后台子代理与并行会话 ​

2026 年的默认行为已经变了:

  • 子代理默认在后台跑,Claude 不会停下来等它。
  • 子代理可以再开子代理,后台链路上限 5 层。
  • 跨会话消息(macOS/Linux):一个会话可以把结论直接发给另一个会话,不用你复述。
  • /fork 把当前对话复制成新的后台会话,主线继续干活。

花叔的用法:主线负责"想清楚",后台子代理负责"跑批处理"。但层级越深,权限判定越容易漏——别让子代理绕过主会话的 deny 规则。

Auto Mode — 交给分类器审批 ​

2026 年 3 月进入研究预览,5 月覆盖 Pro,8 月 14 日起成为 Pro / Max / Team 新会话的默认权限模式。

它的定位在"全部手动批准"和 --dangerously-skip-permissions 之间:分类器判断安全操作直接放行,高风险操作拦下。

默认值变了

如果你还在按"每个工具调用都会弹确认"的老经验写流程,会误判。Auto mode 下,确定性 deny 规则必须写在模型判断之外——路径、命令前缀、工具名,这些不该交给分类器。

云端能力:Ultraplan / Routines / artifacts ​

能力做什么适合
Ultraplan在云端起草计划,Web 编辑器里评审,再远程执行或拉回本地大改造前先对齐方案
Routines按计划、GitHub 事件或 API 调用触发云端 agent定时回归、Issue 分诊
artifacts把会话输出变成可分享、实时更新的页面给非技术同学看结果
ultrareview云端一队 agent 找 bug,结果回到 CLI/Desktop发版前深度审查
Remote Control手机查看/指挥本机会话长任务卡在权限提示

Claude Code Desktop 与 Web ​

桌面端不是"CLI 的皮肤",到 2026 年 10 月已经补齐了不少独占能力:

  • 内置浏览器,可以打开文档、设计稿、任意网站并操作
  • /diff 在对话旁边开实时面板
  • 可以跑 iOS Simulator,让 Claude 点你的 App
  • 计算机操作(computer use)在 macOS 后台运行
  • 桌面端和 CLI 的会话可以互相 /resume

版本与模型(2026-10) ​

项目现状
最新稳定版2.1.307(2026-10-21)
默认 Opus 模型Claude Opus 5(1M 上下文,2026-07 起)
默认 Sonnet 模型Claude Sonnet 5(Pro / Team Standard / Enterprise 席位,1M 上下文)
默认 Haiku 模型Haiku 5.5(低成本高频路径)
其他可用Claude Fable 5.1(1M 上下文,2026-09 起)
计费Claude Pro / Max 订阅,或 API 按量

花叔的判断: 模型层已经进入"每季度换一次默认值"的节奏。真正稳定的资产不是模型名,而是你的 CLAUDE.md、Hooks、Skills 和权限规则。模型会换,缰绳不会。

定价 ​

Claude Code 不单独卖,跟着 Claude 订阅或 API 走:

方式适合
Claude Pro个人日常使用,覆盖大多数交互式开发
Claude Max高频、长会话、多子代理并行
API 按量团队网关、CI、需要精细成本控制的场景

具体额度与价格以 claude.com/pricing 为准。订阅额度是共享的——5 小时窗口内跑太多长会话,会挤掉后面的任务。2.1.304 起,恢复旧会话前会提示"这次会吃掉多少额度"。

常见问题 ​

Q: Claude Code 和 Cursor 冲突吗? A: 不冲突,是互补。花叔的标准配置是两个都开:Cursor 负责看和改,Claude Code 负责批量操作和自动化。

Q: 一定要用 Opus 5 吗? A: 不一定。日常任务 Sonnet 5 足够,成本低得多。Opus 5 留给架构设计、跨仓库重构、疑难 bug。/effort xhigh 只在你真的需要时开。

Q: Auto mode 能完全替代人工审批吗? A: 不能。它是概率组件,是纵深防御的一层,不是唯一准入控制。敏感仓库仍然需要确定性 deny 规则 + onFailure: "block"。

Q: 会话跑太久会怎样? A: 会撞上额度窗口、上下文压缩和工具调用上限。长任务建议拆成多个会话,用 /goal 和后台子代理推进,而不是一个会话跑到底。

Q: 插件和 Skills 有什么区别? A: Skill 是"一段可复用的工作方法";插件是"可分发的能力包",里面可以包含 Skills、Hooks、命令和 MCP 配置。先写 Skill,确认稳定后再打包成插件。


本节小结 ​

  • Claude Code 已从终端工具长成 CLI + Desktop + Web + 云端的完整系统
  • 默认模型是 Opus 5 / Sonnet 5,版本节奏快,资产应沉淀在 CLAUDE.md、Hooks、Skills 上
  • Auto mode 成为默认权限模式,确定性 deny 规则必须独立存在
  • 后台子代理、跨会话消息、/goal、/fork 让并行工作成为默认姿势
  • onFailure: "block" 是 hook 护栏的基本盘
  • 插件生态在扩张,装之前先用 plugin eval 证明收益

← 上一节:Cursor 编辑器 | 继续学习:Windsurf 的终局与 Google Antigravity →

最近更新

基于 MIT LICENSE 许可发布