Claude Code 完全指南:使用方式、技巧与最佳实践
最近在深度使用 Claude Code,发现真的很香!即整理了一份全面的指南,从零开始逐步了解 Claude Code 的核心功能、高级特性和最佳实践。这篇博客实际上更像是一本工具书,让我自己在使用时也能随时参考其内容,更好的使用这个强大的 AI 工具。
目录
- [一、Claude Code 简介](#一、Claude Code 简介)
- 二、安装与配置
- 三、核心概念详解
- 四、高级功能
- 五、实用技巧与快捷操作
- 六、最佳实践
- 七、实战案例
- 八、常见问题与解决方案
一、Claude Code 简介
1.1 什么是 Claude Code?
Claude Code(CC)是由 Anthropic 开发的系统级 AI Agent,它不仅是一个代码编写工具,更是一个可以通过自然语言指令完成各种电脑任务的智能助手。
核心特性:
| 特性 | 说明 |
|---|---|
| 🔧 全功能访问 | 拥有系统级权限,可执行文件操作、运行命令、管理进程等 |
| 🧠 超大上下文 | 支持 200K token 上下文窗口,可处理大型项目 |
| 🔌 高度可扩展 | 支持 MCP、Skills、Plugins、Hooks 等多种扩展方式 |
| 🤖 多代理协作 | 支持子代理(Subagents)并行处理复杂任务 |
| 💬 自然交互 | 支持自然语言指令,无需学习复杂命令语法 |
1.2 Claude Code vs 传统工具
graph LR A[传统开发工具] --> B[代码编辑器] A --> C[Chat AI工具] A --> D[Coding助手] E[Claude Code] --> F[代码编写] E --> G[对话问答] E --> H[数据分析] E --> I[文件管理] E --> J[爬虫自动化] E --> K[Office处理] style E fill:#667eea style F fill:#764ba2 style G fill:#764ba2 style H fill:#764ba2 style I fill:#764ba2 style J fill:#764ba2 style K fill:#764ba2
核心差异:
- 传统工具:单一功能,需要人工操作多个工具完成复杂任务
- Claude Code:系统级 AI Agent,通过自然语言指令即可完成全流程任务
二、安装与配置
2.1 前置准备
必需工具:
| 工具 | 用途 | 安装地址 |
|---|---|---|
| Node.js | 运行环境 | https://nodejs.org |
| Git | 版本控制 | https://git-scm.com |
| API Key | 模型服务 | 智谱GLM/月之暗面K2/阿里Qwen等 |
验证安装:
bash
# 检查 Node.js 版本
node -v
# 检查 Git 版本
git --version
2.2 安装 Claude Code
全局安装(推荐):
bash
npm install -g @anthropic-ai/claude-code
验证安装:
bash
claude --version
2.3 配置模型
Claude Code 支持多种模型配置方式,你可以根据自己的需求选择合适的模型。
方式一:手动配置(通用方式)
手动配置适用于所有兼容 Anthropic API 的模型。配置方式如下:
Windows:
cmd
setx ANTHROPIC_BASE_URL "模型API地址"
setx ANTHROPIC_AUTH_TOKEN "你的API密钥"
setx ANTHROPIC_MODEL "模型名称"
macOS/Linux:
bash
export ANTHROPIC_BASE_URL=模型API地址
export ANTHROPIC_AUTH_TOKEN=你的API密钥
export ANTHROPIC_MODEL=模型名称
# 永久配置(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export ANTHROPIC_BASE_URL=模型API地址' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN=你的API密钥' >> ~/.bashrc
echo 'export ANTHROPIC_MODEL=模型名称' >> ~/.bashrc
source ~/.bashrc
常用国内模型配置示例:
| 模型 | API地址 | 模型名称 | 获取API Key |
|---|---|---|---|
| 智谱 GLM-4.7 | https://open.bigmodel.cn/api/anthropic |
GLM-4.7 |
https://open.bigmodel.cn/ |
| Kimi K2 | https://api.moonshot.cn/v1 |
kimi-k2 |
https://platform.moonshot.cn/console/account |
| 通义千问 | https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen-coder-plus |
https://bailian.console.aliyun.com/ |
| DeepSeek | https://api.deepseek.com/v1 |
deepseek-coder |
https://platform.deepseek.com/ |
配置示例(以智谱GLM为例):
bash
export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
export ANTHROPIC_AUTH_TOKEN=your_glm_api_key
export ANTHROPIC_MODEL=GLM-4.7
注意: 配置环境变量后需要重启终端或运行 source ~/.bashrc 使配置生效。
方式二:使用自动化助手(仅适用于智谱GLM)
如果选择使用智谱GLM系列模型,还可以使用自动化配置助手:
bash
npx @z_ai/coding-helper
按照交互式提示完成配置:
- 选择界面语言
- 设置 Coding 套餐
- 配置 API 密钥
- 选择编码工具
这种方式可以自动完成智谱GLM模型的配置,适合不想手动设置环境变量的用户。
国内模型对比
| 模型 | 提供商 | 代码能力 | 价格 | 优势 | 适用场景 |
|---|---|---|---|---|---|
| GLM-4.7 | 智谱AI | ⭐⭐⭐⭐⭐ | 中等 | 中文理解强,有Coding套餐 | 中文项目为主 |
| Kimi K2 | 月之暗面 | ⭐⭐⭐⭐⭐ | 较低 | 超长上下文,MoE架构 | 大型项目重构 |
| Qwen-Coder-Plus | 阿里云 | ⭐⭐⭐⭐⭐ | 低 | 开源,性能优秀 | Python/JS项目 |
| DeepSeek-Coder | 深度求索 | ⭐⭐⭐⭐ | 极低 | 价格优势 | 预算有限的场景 |
2.4 启动 Claude Code
基本启动:
bash
claude
危险模式(跳过权限确认):
bash
claude --dangerously-skip-permissions
Headless 模式(非交互式):
bash
git diff | claude -p "解释这些更改"
三、核心概念详解
了解了 Claude Code 的安装配置后,深入了解一下它的一些核心概念。这些概念是充分发挥 Claude Code 能力的基础。
3.1 Skills(技能包)
什么是 Skills?
Skills 是预封装的工作流,就像游戏中的"技能包",用完即走,不占用上下文。它是别人已经编写好的、可直接使用的功能模块。
官方 Skills 库: https://github.com/anthropics/skills (32k+ Stars)
Skills 的类型
| 类型 | 说明 | 示例 |
|---|---|---|
| User Skills | 用户自定义技能,存储在本地 | 个人工作流自动化 |
| Plugin Skills | 插件提供的技能,随插件安装 | frontend-design |
| Built-in Skills | Claude Code 内置技能 | commit, review-pr |
常用官方 Skills
bash
# 前端设计技能
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:
bash
claude /skills
调用 Skill:
bash
# 在 Claude Code 对话中
使用 frontend-design skill 优化 https://example.com
使用 pdf skill 提取 report.pdf 中的表格数据
如何编写自己的 Skills
Skill 目录结构:
my-skill/
├── skill.json # Skill 元数据
├── skill.md # Skill 文档
├── api/ # API 定义(可选)
└── tools/ # 自定义工具(可选)
skill.json 示例:
json
{
"name": "my-custom-skill",
"description": "我的自定义技能",
"version": "1.0.0",
"author": "Your Name",
"categories": ["automation"],
"license": "MIT",
"skill": {
"file": "skill.md",
"description": "这个技能用于..."
}
}
skill.md 示例:
markdown
# My Custom Skill
这个技能帮助用户快速完成[特定任务]。
## 使用场景
- 场景1:描述...
- 场景2:描述...
## 使用方式
用户只需要告诉你要完成什么,这个技能就会自动:
1. 分析需求
2. 执行步骤
3. 返回结果
## 注意事项
- 注意事项1
- 注意事项2
安装本地 Skill:
bash
# 将技能复制到 Claude Code 配置目录
cp -r my-skill ~/.claude/skills/
# 或使用安装命令
npx skills-installer install ./my-skill --client claude-code
3.2 Hooks(钩子)
什么是 Hooks?
Hooks 是在特定事件触发时自动执行的脚本,用于自定义工作流、拦截危险操作、自动格式化代码等。
核心价值:
graph LR A[事件触发] --> B{Hook 拦截} B --> C[执行自定义脚本] C --> D[返回结果] D --> E[继续/阻止操作] style B fill:#f093fb style C fill:#f5576c
Hook 事件类型
| 事件类型 | 触发时机 | 典型用途 |
|---|---|---|
| user-prompt-submit | 用户提交提示词前 | 验证、修改提示词 |
| tool-use | 工具使用前 | 权限检查、参数验证 |
| after-tool-use | 工具使用后 | 日志记录、结果处理 |
| permission-request | 权限请求时 | 拦截危险操作 |
| notification | 通知时 | 发送告警、更新状态 |
Hook 配置方式
方式一:通过 /hooks 命令
bash
# 在 Claude Code 中
/hooks
方式二:通过配置文件
在 ~/.claude/settings.json 或项目 .claude/settings.json 中配置:
json
{
"hooks": {
"user-prompt-submit-hook": {
"command": "npm run validate-prompt",
"enabled": true
},
"tool-use-hook": {
"command": "~/.claude/hooks/check-permission.sh",
"enabled": true,
"blocking": true
},
"after-tool-use-hook": {
"command": "echo 'Tool used: {{toolName}}' >> ~/.claude/hooks.log",
"enabled": true
}
}
}
Hook 实战示例
拦截危险命令:
bash
#!/bin/bash
# ~/.claude/hooks/check-dangerous.sh
# 读取工具调用信息
TOOL_NAME=$(jq -r '.toolName' <<< "$CLAUDE_HOOK_INPUT")
# 危险操作列表
DANGEROUS_TOOLS=("rm" "delete" "format" "shutdown")
if [[ " ${DANGEROUS_TOOLS[@]} " =~ " ${TOOL_NAME} " ]]; then
echo "⚠️ 警告:即将执行危险操作 - $TOOL_NAME"
echo "请确认是否继续? (yes/no)"
read -r confirmation
if [[ "$confirmation" != "yes" ]]; then
exit 1 # 阻止操作
fi
fi
自动格式化代码:
json
{
"hooks": {
"after-write-hook": {
"command": "if [[ {{filePath}} == *.js ]]; then prettier --write {{filePath}}; fi",
"enabled": true,
"blocking": false
}
}
}
发送通知:
json
{
"hooks": {
"task-complete-hook": {
"command": "notify-send 'Claude Code' '任务已完成'",
"enabled": true
}
}
}
3.3 Plugins(插件)
什么是 Plugins?
Plugins 是打包在一起的扩展集合,可以包含:
- 5 个 Skills
- 10 个斜杠命令
- 3 个 MCP 服务器配置
- 2 个 SubAgent 定义
- 若干 Hooks
Plugins vs Skills:
| 特性 | Skills | Plugins |
|---|---|---|
| 复杂度 | 简单工作流 | 完整功能套件 |
| 内容 | 单一技能 | 多种资源的集合 |
| 安装 | 独立安装 | 一次性安装多个资源 |
| 适用场景 | 单一任务 | 完整解决方案 |
Plugin 安装与使用
哪里获取已有 Plugins?
官方插件市场:
| 来源 | 地址 | 说明 |
|---|---|---|
| Anthropic Skills | https://github.com/anthropics/skills | 官方Skills库,包含多个插件 |
| Claude Code Marketplace | https://claudecodemarketplaces.com | 插件市场目录 |
| Awesome Claude Code | https://awesomeclaude.ai/plugins | 社区插件精选 |
添加插件市场:
bash
# 添加官方Anthropic插件市场
claude /plugin marketplace add anthropics/skills
# 添加本地插件市场
claude /plugin marketplace add ~/my-marketplace
# 浏览可用插件
claude /plugin
# 选择 "Browse Plugins" 查看完整列表
常用官方插件:
bash
# 文档处理插件套件
claude /plugin marketplace add anthropics/skills
claude /plugin install document-skills
# 前端开发插件
claude /plugin install frontend-design
# Git工作流插件
claude /plugin install git-workflow
安装 Plugin
从市场安装:
bash
claude plugin install <plugin-name>
从本地安装:
bash
# 安装本地插件
claude plugin install ./my-plugin
# 或使用完整路径
claude plugin install /path/to/my-plugin
从GitHub安装:
bash
# 直接从GitHub仓库安装
claude plugin install github:user/repo
查看 Plugins
查看已安装 Plugins:
bash
claude /plugin
浏览可用插件:
bash
# 在Claude Code中输入
/plugin
# 选择 "Browse Plugins"
卸载 Plugin:
bash
claude plugin uninstall <plugin-name>
创建自定义 Plugin:
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 示例:
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"
}
]
}
3.4 MCP Servers(模型上下文协议服务器)
什么是 MCP?
MCP (Model Context Protocol) 是 AI 的扩展接口标准,通过添加 MCP 服务器可以扩展 Claude Code 获取外部工具、资源、服务的能力。
核心概念:
graph LR A[Claude Code] --> B[MCP Client] B --> C[MCP Server 1] B --> D[MCP Server 2] B --> E[MCP Server N] C --> F[GitHub API] D --> G[Database] E --> H[Browser] style A fill:#667eea style B fill:#764ba2 style C fill:#f093fb style D fill:#f093fb style E fill:#f093fb
常用 MCP 服务器
| MCP Server | 功能 | Star 数 |
|---|---|---|
| chrome-devtools-mcp | 浏览器自动化,26个工具 | 18.5k |
| github-mcp | GitHub API 集成 | 10k+ |
| postgres-mcp | PostgreSQL 数据库操作 | 5k+ |
| filesystem-mcp | 增强文件系统操作 | 3k+ |
| web-search-mcp | 网络搜索功能 | 2k+ |
MCP 安装方式
方式一:命令行安装
bash
claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
方式二:配置文件安装
编辑 ~/.claude/mcp.json:
json
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest"],
"disabled": false
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/db"
}
}
}
}
验证安装:
bash
# 在 Claude Code 中
/mcp
# 或通过命令行
claude mcp list
claude mcp test chrome-devtools
Chrome DevTools MCP 实战
安装:
bash
claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
使用示例:
bash
# 在 Claude Code 中
用Chrome浏览器打开 https://example.com,然后通过 chrome devtools mcp 完成以下任务:
1. 截取页面截图
2. 提取所有链接
3. 分析页面结构
4. 获取页面性能数据
26个内置工具包括:
chrome_navigate: 导航到指定 URLchrome_screenshot: 截取页面截图chrome_click: 点击元素chrome_fill: 填写表单chrome_select: 选择元素chrome_evaluate: 执行 JavaScript- 等等...
3.5 Subagents(子代理)
什么是 Subagents?
Subagents 是可以并行处理任务的独立 AI 代理,每个子代理拥有独立的 200K 上下文窗口,可以分配不同任务以提高效率。
核心优势:
graph TB A[主代理 Claude Code] --> B[子代理1: 代码审查] A --> C[子代理2: 测试编写] A --> D[子代理3: 文档生成] A --> E[子代理4: 性能优化] B --> F[并行处理] C --> F D --> F E --> F F --> G[结果汇总] style A fill:#667eea style B fill:#f093fb style C fill:#f093fb style D fill:#f093fb style E fill:#f093fb style G fill:#764ba2
Subagent 配置
方式一:通过 /agents 命令
bash
claude /agents
方式二:配置文件
在 ~/.claude/agents.json 或项目 .claude/agents.json 中配置:
json
{
"agents": {
"code-reviewer": {
"description": "专门负责代码审查的子代理",
"model": "claude-opus-4-5",
"instructions": "你是一个专业的代码审查专家,专注于检查代码质量、安全漏洞和性能问题。",
"tools": ["read", "search", "git"],
"permissions": {
"allowWrite": false
}
},
"test-writer": {
"description": "专门负责编写测试的子代理",
"model": "claude-sonnet-4-5",
"instructions": "你是一个测试工程师,专注于编写全面的单元测试和集成测试。",
"tools": ["read", "write", "bash"]
},
"doc-generator": {
"description": "专门负责生成文档的子代理",
"model": "claude-sonnet-4-5",
"instructions": "你是一个技术文档专家,专注于生成清晰、准确的技术文档。",
"tools": ["read", "write"]
}
}
}
Subagent 使用示例
场景:完成一个功能开发
bash
# 主任务
我需要完成用户认证功能,请帮我:
1. 使用 code-reviewer agent 审查现有认证代码
2. 使用 test-writer agent 编写测试用例
3. 使用 doc-generator agent 更新 API 文档
这三个任务并行执行
Claude Code 会自动:
- 创建三个独立的子代理
- 分配各自的上下文(200K × 3)
- 并行执行任务
- 汇总结果返回
3.6 CLAUDE.md(项目记忆文件)
什么是 CLAUDE.md?
CLAUDE.md 是 Claude Code 的"项目记忆文件",记录项目结构、构建命令、代码规范、架构决策等信息,让 Claude Code 快速理解项目上下文。
CLAUDE.md 的作用
| 作用 | 说明 |
|---|---|
| 📚 项目知识库 | 记录项目架构、技术栈、依赖关系 |
| 🚀 快速启动 | 自动读取,无需重复解释项目背景 |
| 🤝 团队协作 | 共享项目规范,确保团队理解一致 |
| 🔄 持续迭代 | 随项目演进自动更新 |
CLAUDE.md 最佳位置
graph TD A[项目根目录_CLAUDE.md] B[src_.claude_CLAUDE.md] C[.claude_rules_auth.md] D[home_.claude_CLAUDE.md] A --> E[全局项目配置] B --> F[模块级配置] C --> G[特定规则] D --> H[用户级配置] style A fill:#667eea style B fill:#764ba2 style C fill:#f093fb style D fill:#f5576c style E fill:#667eea style F fill:#764ba2 style G fill:#f093fb style H fill:#f5576c
优先级: 特定规则 > 模块配置 > 项目配置 > 用户配置
CLAUDE.md 示例
完整示例:
markdown
# 项目名称: E-Commerce Platform
## 项目概述
这是一个基于 Node.js + React 的电商平台,支持商品管理、订单处理、支付集成等功能。
## 技术栈
- **前端:** React 18, TypeScript, Tailwind CSS, Redux Toolkit
- **后端:** Node.js 20, Express, TypeScript
- **数据库:** PostgreSQL 15, Redis 7
- **认证:** JWT, OAuth 2.0
- **测试:** Jest, Playwright
- **部署:** Docker, Kubernetes
## 项目结构
\`\`\`
src/
├── frontend/ # React 前端
│ ├── components/ # 可复用组件
│ ├── pages/ # 页面组件
│ ├── store/ # Redux store
│ └── utils/ # 工具函数
├── backend/ # Node.js 后端
│ ├── controllers/ # 控制器
│ ├── services/ # 业务逻辑
│ ├── models/ # 数据模型
│ └── routes/ # API 路由
└── shared/ # 共享代码
└── types/ # TypeScript 类型定义
\`\`\`
## 常用命令
### 开发环境
\`\`\`bash
# 安装依赖
npm install
# 启动前端开发服务器
npm run dev:frontend
# 启动后端开发服务器
npm run dev:backend
# 同时启动前后端
npm run dev
\`\`\`
### 构建与部署
\`\`\`bash
# 构建前端
npm run build:frontend
# 构建后端
npm run build:backend
# 构建所有
npm run build
# Docker 构建
docker-compose build
docker-compose up
\`\`\`
### 测试
\`\`\`bash
# 运行所有测试
npm test
# 前端单元测试
npm run test:frontend
# 后端单元测试
npm run test:backend
# E2E 测试
npm run test:e2e
# 测试覆盖率
npm run test:coverage
\`\`\`
### 代码质量
\`\`\`bash
# 代码格式化
npm run format
# 代码检查
npm run lint
# 类型检查
npm run type-check
\`\`\`
## 代码规范
### 命名规范
- **文件名:** kebab-case (user-profile.ts)
- **组件名:** PascalCase (UserProfile)
- **函数/变量:** camelCase (getUserProfile)
- **常量:** UPPER_SNAKE_CASE (API_BASE_URL)
- **类型/接口:** PascalCase (UserProfile)
### Git 提交规范
遵循 Conventional Commits:
- \`feat: 新功能\`
- \`fix: 修复 bug\`
- \`docs: 文档更新\`
- \`style: 代码格式调整\`
- \`refactor: 代码重构\`
- \`test: 测试相关\`
- \`chore: 构建/工具链更新\`
### 代码审查清单
- [ ] 代码符合项目命名规范
- [ ] 添加了必要的注释
- [ ] 更新了相关文档
- [ ] 编写了/更新了测试
- [ ] 通过了所有测试
- [ ] 通过了 lint 检查
- [ ] 没有引入安全漏洞
## 架构决策
### ADR-001: 选择 TypeScript 而非 JavaScript
**日期:** 2024-01-15
**状态:** 已接受
**理由:**
- 类型安全减少运行时错误
- 更好的 IDE 支持
- 代码可维护性更高
### ADR-002: 采用微服务架构
**日期:** 2024-02-20
**状态:** 已接受
**理由:**
- 便于团队并行开发
- 独立部署和扩展
- 技术栈灵活性
## 环境变量
### 必需变量
\`\`\`bash
DATABASE_URL=postgresql://...
REDIS_URL=redis://...
JWT_SECRET=your-secret-key
API_BASE_URL=https://api.example.com
\`\`\`
### 可选变量
\`\`\`bash
LOG_LEVEL=info
NODE_ENV=development
PORT=3000
\`\`\`
## 常见问题
### Q: 如何添加新的 API 端点?
A:
1. 在 \`backend/routes/\` 创建路由文件
2. 在 \`backend/controllers/\` 创建控制器
3. 在 \`backend/services/\` 实现业务逻辑
4. 添加测试用例
5. 更新 API 文档
### Q: 如何调试前端状态管理问题?
A:
1. 使用 Redux DevTools 浏览器扩展
2. 在 \`src/frontend/store/\` 添加日志
3. 检查 action 和 reducer 逻辑
## 重要注意事项
1. **安全:** 永远不要在代码中硬编码密钥或敏感信息
2. **性能:** 大数据查询必须使用分页
3. **测试:** 所有新功能必须包含测试
4. **文档:** API 变更必须更新文档
5. **兼容性:** 确保向后兼容,使用版本控制
## 相关资源
- [项目 Wiki](https://wiki.example.com)
- [API 文档](https://docs.example.com)
- [设计规范](https://design.example.com)
生成 CLAUDE.md 的方式
方式一:使用 /init 命令
bash
# 在项目根目录
claude /init
Claude Code 会自动扫描项目并生成初始 CLAUDE.md
方式二:手动创建
bash
# 创建基础文件
touch CLAUDE.md
# 让 Claude Code 帮助生成
claude "请根据当前项目结构生成 CLAUDE.md 文件"
方式三:模块化规则
bash
# 在 .claude/rules/ 目录创建多个规则文件
.claude/rules/
├── auth.md # 认证相关规则
├── database.md # 数据库相关规则
├── api.md # API 设计规范
└── testing.md # 测试规范
四、高级功能
实际上CC还有一些高级功能,这些功能将帮助更高效地完成复杂任务。
4.1 Plan 模式(规划模式)
什么是 Plan 模式?
Plan 模式是一种"先规划、后执行"的工作模式,Claude 会先分析项目架构、依赖关系并起草实现方案,确认后才开始编写代码。
核心价值:
graph LR A[接收任务] --> B[分析项目] B --> C[探索代码库] C --> D[设计方案] D --> E{用户确认?} E -->|是| F[执行实现] E -->|否| G[调整方案] G --> D F --> H[完成任务] style B fill:#667eea style C fill:#764ba2 style D fill:#f093fb style E fill:#f5576c style F fill:#4facfe
进入 Plan 模式
快捷键:
bash
# 按两次 Shift+Tab
Shift+Tab, Shift+Tab
命令方式:
bash
/plan
Plan 模式工作流程
1. 探索阶段
- 读取相关文件
- 分析代码结构
- 理解依赖关系
2. 规划阶段
- 设计实现方案
- 列出具体步骤
- 识别潜在风险
3. 确认阶段
- 展示完整计划
- 等待用户反馈
- 根据反馈调整
4. 执行阶段
- 按计划实施
- 实时反馈进度
- 处理异常情况
Plan 模式最佳实践
适合场景:
- ✅ 复杂功能开发(多文件、多步骤)
- ✅ 架构重构
- ✅ 性能优化
- ✅ 代码迁移
- ✅ 不熟悉的项目
不适合场景:
- ❌ 简单 bug 修复
- ❌ 单行代码修改
- ❌ 文档查询
- ❌ 快速原型验证
使用技巧:
bash
# 启用 Plan 模式
Shift+Tab × 2
# 明确任务需求
请帮我实现用户认证功能,包括:
1. 用户注册
2. 用户登录
3. JWT token 验证
4. 密码加密存储
# Claude 会先探索并规划:
# Plan: 实现用户认证功能
#
# 1. 分析现有代码结构
# 2. 设计认证流程
# 3. 创建数据模型
# 4. 实现 API 端点
# 5. 添加中间件
# 6. 编写测试
#
# 确认后开始执行? (yes/no)
# 确认后开始实施
yes
4.2 Sandbox 模式(沙箱模式)
什么是 Sandbox 模式?
Sandbox 模式通过定义允许的操作范围,拦截危险操作,提高安全性。
核心机制:
graph TB A[操作请求] --> B{Sandbox 规则检查} B -->|允许| C[执行操作] B -->|拒绝| D[拦截并警告] B -->|需要确认| E[询问用户] E -->|允许| C E -->|拒绝| D style B fill:#667eea style C fill:#4facfe style D fill:#f5576c style E fill:#f093fb
配置 Sandbox 模式
方式一:通过 /permissions 命令
bash
claude /permissions
方式二:配置文件
编辑 ~/.claude/settings.json:
json
{
"permissions": {
"allow": {
"bash": [
"npm install",
"npm test",
"npm run build",
"git *",
"node -v",
"npm -v"
],
"write": [
"src/**/*",
"tests/**/*",
"*.md"
],
"read": [
"**/*"
]
},
"deny": {
"bash": [
"rm -rf *",
"format *",
"shutdown",
"reboot"
],
"write": [
"node_modules/**/*",
".git/**/*",
"/etc/*",
"/usr/*"
]
}
}
}
Sandbox 最佳实践
最小权限原则:
json
{
"permissions": {
"allow": {
"bash": ["npm test", "npm run build"],
"write": ["src/**/*", "tests/**/*"]
}
}
}
特定项目配置:
json
// .claude/settings.json (项目级)
{
"permissions": {
"allow": {
"bash": [
"npm run dev:*",
"npm run test:*",
"npm run build:*"
],
"write": ["src/**/*", "tests/**/*", "docs/**/*"]
},
"deny": {
"write": ["dist/**/*", "build/**/*"]
}
}
}
4.3 Headless 模式(无头模式)
什么是 Headless 模式?
Headless 模式是非交互式运行方式,输出结果直接流向标准输出,可集成到 Shell 脚本或 CI/CD 流程中。
使用场景:
| 场景 | 示例 |
|---|---|
| 🔄 CI/CD 集成 | 自动化代码审查 |
| 📜 脚本自动化 | 批量处理任务 |
| 🔍 快速分析 | 不需要交互的代码分析 |
| 📊 报告生成 | 自动生成文档 |
Headless 模式使用
基本用法:
bash
# 从管道输入
git diff | claude -p "解释这些更改"
# 从文件输入
cat file.txt | claude -p "总结这个文件"
# 直接指定
claude -p "检查代码质量" < src/main.js
CI/CD 集成示例:
yaml
# .github/workflows/claude-review.yml
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Code Review
run: |
git diff origin/main...HEAD | claude -p "审查这个 PR 的代码变更" > review.txt
- name: Comment PR
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.txt', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: review
});
脚本自动化示例:
bash
#!/bin/bash
# batch-process.sh
for file in src/**/*.js; do
echo "Processing $file..."
# 使用 Claude Code 分析代码
claude -p "检查文件 $file 的代码质量,包括:
1. 潜在的 bug
2. 性能问题
3. 安全漏洞
4. 代码规范违规" < "$file" > "reports/$(basename $file).md"
echo "✓ Completed $file"
done
echo "All files processed!"
4.4 Vim 模式
启用 Vim 模式
bash
/vim
Vim 常用快捷键
| 快捷键 | 功能 |
|---|---|
h |
左移光标 |
j |
下移光标 |
k |
上移光标 |
l |
右移光标 |
ciw |
修改单词 |
dd |
删除行 |
yy |
复制行 |
p |
粘贴 |
u |
撤销 |
Ctrl+r |
重做 |
五、实用技巧与快捷操作
了解了 Claude Code 的高级功能后,分享一些实用的技巧和快捷操作,可以更高效地使用这个工具。
5.1 基础操作技巧
项目初始化(/init)
bash
# 自动生成 CLAUDE.md
/init
# 或手动指定
claude /init "这是一个 Node.js + React 项目"
快速引用上下文(@提及)
bash
# 引用单个文件
@src/auth.ts
# 引用整个目录
@src/components/
# 引用多个文件
@src/auth.ts @src/user.ts @src/database.ts
# 引用 MCP 服务器
@mcp:github
# 模糊匹配
@auth # 自动匹配 auth.ts, auth.controller.ts 等
即时执行 Bash 命令(!前缀)
bash
# 查看状态
!git status
# 运行测试
!npm test
# 查看进程
!ps aux | grep node
# 组合使用
!git diff && echo "=== Changes Summary ==="
回退操作(双击 ESC)
bash
ESC ESC
选项:
- 仅回退对话
- 仅回退代码
- 同时回退对话和代码
注意: 已执行的 Bash 命令无法回退
5.2 效率提升技巧
反向搜索历史提示词(Ctrl+R)
bash
Ctrl+R # 开始搜索
Ctrl+R # 循环匹配项
Enter # 运行
Tab # 编辑后运行
提示词暂存(Ctrl+S)
bash
Ctrl+S # 暂存当前提示词
# ... 处理其他事务 ...
# 恢复暂存内容继续工作
类似 Git stash,但用于提示词
自定义状态栏(/statusline)
bash
/statusline
可显示信息:
- Git 分支
- 当前模型
- Token 用量
- 上下文占比
- 任务进度
配置示例:
json
{
"statusline": {
"segments": [
"git.branch",
"model.name",
"context.usage",
"token.cost"
],
"refreshInterval": 1000
}
}
可视化上下文(/context)
bash
/context
显示:
- 当前 token 使用情况
- 上下文占用百分比
- 各文件占用大小
- 建议优化方向
5.3 文件夹管理技巧
工作空间隔离
最佳实践:
bash
# 为每个任务创建独立文件夹
project-1/
project-2/
task-a/
task-b/
快速启动:
bash
# Windows: 在地址栏输入 cmd
# macOS: 在右键菜单选择"服务 > 新建终端位于文件夹"
# 然后启动 Claude Code
claude
拖拽文件
支持操作:
- 拖拽单个文件
- 拖拽整个文件夹
- 拖拽多个文件
使用场景:
bash
# 拖拽文件后直接描述任务
[拖入 auth.ts]
这个认证模块有安全问题,请帮我审查并修复
5.4 粘贴技巧
文本粘贴
| 操作 | 方式 |
|---|---|
| 在 CC 中粘贴文本 | 鼠标右键 → 粘贴 |
| 在普通命令行粘贴 | Ctrl+V |
| 在 CC 中粘贴图片 | 复制图片 → Alt+V (Windows) / Ctrl+V (macOS) |
注意:
- CC 中不能用 Ctrl+V 粘贴文本
- CC 中不能用 Ctrl+A 全选
- 图片必须在打开状态复制,预览状态无法粘贴
5.5 常用斜杠命令速查
| 命令 | 功能 | 使用频率 |
|---|---|---|
/clear |
清空对话历史 | ⭐⭐⭐⭐⭐ |
/compact |
清空对话但保留摘要 | ⭐⭐⭐⭐⭐ |
/context |
可视化上下文使用 | ⭐⭐⭐⭐⭐ |
/model |
切换模型 | ⭐⭐⭐⭐ |
/cost |
显示费用统计 | ⭐⭐⭐⭐ |
/export |
导出对话 | ⭐⭐⭐⭐ |
/add-dir |
添加工作目录 | ⭐⭐⭐⭐ |
/status |
查看系统状态 | ⭐⭐⭐ |
/mcp |
管理 MCP 服务器 | ⭐⭐⭐ |
/skills |
列出可用技能 | ⭐⭐⭐ |
/hooks |
管理钩子 | ⭐⭐ |
/agents |
管理子代理 | ⭐⭐ |
/vim |
切换 Vim 模式 | ⭐⭐ |
/theme |
更换主题 | ⭐ |
/doctor |
诊断环境 | ⭐⭐⭐⭐ |
六、最佳实践
继续。提供并建立一些最佳实践以提升团队协作和开发效率。
6.1 项目组织最佳实践
目录结构规范
bash
project/
├── .claude/ # Claude Code 配置
│ ├── settings.json # 项目级设置
│ ├── agents.json # 子代理配置
│ ├── rules/ # 模块化规则
│ │ ├── auth.md
│ │ ├── database.md
│ │ └── api.md
│ └── mcp.json # MCP 配置
├── src/ # 源代码
├── tests/ # 测试代码
├── docs/ # 文档
├── CLAUDE.md # 项目主配置
└── README.md # 项目说明
CLAUDE.md 层级配置
graph TD A[用户级_home_claude_CLAUDE_md] B[项目级_CLAUDE_md] C[模块级_src_claude_CLAUDE_md] D[特定规则_claude_rules] A --> E[合并规则] B --> E C --> E D --> E E --> F[最终配置] style A fill:#f5576c style B fill:#667eea style C fill:#764ba2 style D fill:#f093fb style E fill:#4facfe style F fill:#00d2ff
6.2 工作流最佳实践
探索-规划-编码-提交工作流
这是一个完整的开发工作流程,需要配合特定的Skills和MCP使用。
前置准备 - 安装必要工具:
bash
# 1. 安装代码分析MCP(可选,用于深度分析)
claude mcp add github npx -y @modelcontextprotocol/server-github
# 2. 安装commit skill(用于生成规范的commit消息)
npx skills-installer install @anthropics/claude-code/commit --client claude-code
# 3. 安装Chrome DevTools MCP(用于浏览器测试,可选)
claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
详细工作流程:
第1步:探索阶段 - 理解项目
bash
# 启动Claude Code
claude
# 探索项目架构
请帮我分析这个项目的架构,重点关注:
1. 整体项目结构
2. 认证模块的实现
3. 依赖关系
4. 技术栈
# 使用@引用特定目录
@src/
# 如果有GitHub仓库,使用GitHub MCP
请使用github MCP查看最近的commit历史和issue
第2步:规划阶段 - 使用Plan模式
bash
# 进入Plan模式(按两次Shift+Tab)
Shift+Tab, Shift+Tab
# 或使用命令
/plan
# 明确任务需求
我需要添加 OAuth2.0 认证支持,请规划实现方案,包括:
1. 需要创建哪些新文件
2. 需要修改哪些现有文件
3. 需要安装哪些依赖
4. 实现步骤顺序
5. 潜在的风险点
# Claude会生成详细计划,等待你的确认
# Plan: 添加OAuth2.0认证支持
#
# 1. 分析现有认证代码
# 2. 设计OAuth2.0流程
# 3. 创建OAuth控制器
# 4. 实现token生成和验证
# 5. 添加测试用例
# 6. 更新文档
#
# 预计需要修改的文件:
# - src/auth/oauth.controller.ts (新建)
# - src/auth/auth.service.ts (修改)
# - src/config/oauth.config.ts (新建)
#
# 确认后开始执行? (yes/no)
# 确认后开始实施
yes
第3步:编码阶段 - 实施计划
bash
# 让Claude按照计划实施
按照上面的计划开始实施
# 如果遇到问题,可以要求暂停
暂停,让我先检查一下这一步
# 继续实施
继续下一步
# 运行测试
!npm test
# 修复失败的测试
测试失败了,请帮我修复
第4步:提交阶段 - 使用commit skill
bash
# 使用commit skill生成规范的commit消息
使用commit skill为这些更改创建一个规范的commit消息
# Claude会分析变更并生成commit
# commit skill会:
# 1. 分析git diff
# 2. 生成符合Conventional Commits的消息
# 3. 自动创建commit
# 或手动指导commit
请帮我创建git commit,包含这些更改
commit消息格式: feat(auth): 添加OAuth2.0认证支持
测试驱动开发(TDD)工作流
前置准备 - 安装测试相关工具:
bash
# 1. 安装测试编写skill(可选)
npx skills-installer install @anthropics/claude-code/test-writer --client claude-code
# 2. 或者配置test-writer子代理(后面详细说明)
TDD工作流程:
bash
# 第1步:先写测试
# 使用test-writer skill或agent
使用test-writer skill为用户登录功能编写测试,包括:
1. 正常登录场景
2. 错误密码场景
3. 用户不存在场景
4. Token验证场景
@src/auth/login.controller.ts
# 第2步:运行测试(预期失败)
!npm test
# 第3步:实现最小可行代码
测试失败了,请实现登录功能使测试通过,只写能通过的代码
# 第4步:重构代码
代码通过了但不够优雅,请重构以提高可读性,但保持测试通过
# 第5步:重复循环
继续添加新功能的测试...
代码审查工作流
前置准备 - 创建和配置代码审查子代理:
方式1:使用 /agents 命令创建
bash
# 在Claude Code中
claude
/agents
# 选择 "Create new agent"
# 按提示配置:
- Name: code-reviewer
- Description: 专门负责代码审查的子代理
- Instructions: 你是一个代码审查专家,专注于检查代码质量、安全漏洞和性能问题
- Tools: read, search, git
- Permissions: 禁止写入(allowWrite: false)
方式2:手动配置文件
bash
# 创建agents配置文件
mkdir -p ~/.claude
cat > ~/.claude/agents.json << 'EOF'
{
"agents": {
"code-reviewer": {
"description": "专门负责代码审查的子代理",
"model": "claude-sonnet-4-5",
"instructions": "你是一个专业的代码审查专家。专注于:\n1. 代码质量(Clean Code原则)\n2. 安全漏洞(OWASP Top 10)\n3. 性能问题(算法复杂度、资源使用)\n4. 最佳实践\n\n请以结构化方式输出审查结果。",
"tools": ["read", "search", "git"],
"permissions": {
"allowWrite": false
}
},
"security-reviewer": {
"description": "专注于安全问题的子代理",
"model": "claude-sonnet-4-5",
"instructions": "你是一个安全专家,专注于识别:\n1. SQL注入、XSS、CSRF等漏洞\n2. 敏感信息泄露\n3. 权限控制问题\n4. 依赖安全问题",
"tools": ["read", "search"],
"permissions": {
"allowWrite": false
}
},
"performance-reviewer": {
"description": "专注于性能问题的子代理",
"model": "claude-sonnet-4-5",
"instructions": "你是一个性能优化专家,专注于:\n1. 算法效率\n2. 内存使用\n3. 数据库查询优化\n4. 缓存策略",
"tools": ["read", "search"],
"permissions": {
"allowWrite": false
}
}
}
}
EOF
# 验证配置
claude
/agents
# 应该看到刚创建的三个agent
使用代码审查工作流:
bash
# 第1步:使用子代理并行审查
# 代码质量审查
使用code-reviewer agent审查以下文件的代码质量:
- 是否符合Clean Code原则
- 是否有代码异味
- 是否易于维护
@src/auth.ts @src/user.ts @src/database.ts
# 安全审查(并行)
使用security-reviewer agent审查这些文件的安全问题:
- SQL注入风险
- XSS漏洞
- 敏感信息泄露
@src/auth.ts @src/user.ts @src/database.ts
# 性能审查(并行)
使用performance-reviewer agent审查这些文件的性能问题:
- 算法复杂度
- 数据库查询效率
- 内存使用
@src/auth.ts @src/user.ts @src/database.ts
# 第2步:生成综合审查报告
请综合以上三个agent的审查结果,生成一份详细报告,包括:
- 发现的问题列表
- 每个问题的严重程度(Critical/High/Medium/Low)
- 具体的修复建议
- 修复优先级排序
# 第3步:逐个修复问题
根据审查报告,请帮我修复Critical和High级别的问题:
1. 先修复安全问题
2. 再修复性能问题
3. 最后修复代码质量问题
# 第4步:重新审查
修复完成后,使用code-reviewer agent重新审查修复后的代码
6.3 团队协作最佳实践
共享 CLAUDE.md
**场景:**团队项目
实施步骤:
- 在项目根目录创建 CLAUDE.md
- 团队共同维护
- 定期更新
- 版本控制
示例:
markdown
# 团队项目规范
## 团队约定
- 代码审查至少 1 人 approve
- 所有 PR 必须通过 CI
- 文档与代码同步更新
## 分工信息
- @alice: 前端负责人
- @bob: 后端负责人
- @charlie: DevOps
## 沟通渠道
- Slack: #team-channel
- JIRA: 项目看板
GitHub 集成
安装 GitHub App:
bash
/install-github-app
使用 PR 评论:
bash
# 在 PR 中
@.claude 请审查这个 PR 的代码变更
# 自动添加问题到 CLAUDE.md
/pr-comments
6.4 性能优化最佳实践
上下文管理
策略:
bash
# 长对话定期 compact
/compact "保留以下要点: ..."
# 新任务先 clear
/clear
# 监控上下文使用
/context
# 定期 export 备份
/export conversation-2026-01-06.json
Token 优化
| 技巧 | 说明 | 节省效果 |
|---|---|---|
| 使用 @提及 | 只加载需要的文件 | 30-50% |
| 定期 /compact | 清理历史保留摘要 | 40-60% |
| 避免重复加载 | 检查 /context 输出 | 20-30% |
| 使用 Subagents | 并行处理减少串行上下文 | 50-70% |
模型选择策略
国外模型选择策略:
graph LR A[简单任务] --> B[Haiku 4.5] C[中等复杂度] --> D[Sonnet 4.5] E[高复杂度] --> F[Opus 4.5] B --> G[成本优化] D --> H[平衡性能] F --> I[质量优先] style A fill:#4facfe style C fill:#667eea style E fill:#f5576c style B fill:#4facfe style D fill:#667eea style F fill:#f5576c
国外模型使用建议:
- 快速查询/格式化: Haiku 4.5 - 最快最便宜
- 日常开发/代码编写: Sonnet 4.5 - 性价比平衡
- 架构设计/复杂重构: Opus 4.5 - 最高质量
国内模型选择策略:
graph LR A[简单任务] --> B[DeepSeek-Coder] C[中文项目] --> D[GLM-4.7] E[大型项目] --> F[Kimi K2] G[Python/JS] --> H[Qwen-Coder-Plus] B --> I[极低成本] D --> J[中文优化] F --> K[超长上下文] H --> L[开源优秀] style A fill:#00d2ff style C fill:#667eea style E fill:#f093fb style G fill:#4facfe style B fill:#00d2ff style D fill:#667eea style F fill:#f093fb style H fill:#4facfe
国内模型使用建议:
| 任务类型 | 推荐模型 | 理由 | 价格(相对) |
|---|---|---|---|
| 简单查询 | DeepSeek-Coder | 极低成本,够用 | ⭐ |
| 中文项目 | GLM-4.7 | 中文理解最强,有Coding套餐 | ⭐⭐⭐ |
| 大型重构 | Kimi K2 | 超长上下文(2M+),MoE架构 | ⭐⭐ |
| Python/JS | Qwen-Coder-Plus | 开源,Python/JS性能优秀 | ⭐⭐ |
| 预算有限 | DeepSeek-Coder | 价格优势明显 | ⭐ |
| 团队协作 | GLM-4.7 | 有团队套餐,管理方便 | ⭐⭐⭐ |
模型切换策略:
bash
# 方式1:使用 /model 命令快速切换
claude
/model
# 选择对应模型
# 方式2:临时切换(当前会话)
export ANTHROPIC_MODEL=kimi-k2
claude
# 方式3:针对不同任务使用不同配置
# 创建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 # 使用通义千问
成本优化建议:
graph TB A[任务开始] --> B{任务类型?} B -->|简单查询| C[DeepSeek-Coder] B -->|中文开发| D[GLM-4.7] B -->|大型重构| E[Kimi K2] B -->|Python项目| F[Qwen-Coder-Plus] B -->|高质量要求| G[Sonnet 4.5] C --> H[成本: \] D --\> I\[成本: \] E --\> J\[成本: \] F --\> K\[成本: \] G --\> L\[成本: $$$] style A fill:#667eea style C fill:#00d2ff style D fill:#f093fb style E fill:#f5576c style F fill:#4facfe style G fill:#764ba2
混合使用策略:
bash
# 日常开发用国产模型(便宜)
export ANTHROPIC_MODEL=GLM-4.7
# 遇到复杂任务时临时切换到高质量模型
/model
# 选择 Opus 4.5
# 完成后切换回国产模型
/model
# 选择 GLM-4.7
6.5 安全最佳实践
Sandbox 配置
json
{
"permissions": {
"allow": {
"bash": ["npm run *", "git *"],
"write": ["src/**/*", "tests/**/*"],
"read": ["**/*.ts", "**/*.js", "**/*.json"]
},
"deny": {
"bash": ["rm -rf *", "format *", "shutdown"],
"write": ["node_modules/**/*", ".git/**/*", "/etc/*", "/usr/*"]
}
}
}
Hooks 安全检查
bash
#!/bin/bash
# ~/.claude/hooks/security-check.sh
# 检查敏感操作
if [[ "$TOOL_NAME" == "Bash" ]]; then
COMMAND=$(jq -r '.command' <<< "$CLAUDE_HOOK_INPUT")
# 危险命令黑名单
DANGEROUS_CMDS=("rm -rf" "format" "shutdown" "reboot" "chmod 000")
for cmd in "${DANGEROUS_CMDS[@]}"; do
if [[ "$COMMAND" == *"$cmd"* ]]; then
echo "🚫 拦截危险命令: $COMMAND"
exit 1
fi
done
fi
敏感信息保护
markdown
# CLAUDE.md 安全规范
## 禁止事项
- ❌ 在代码中硬编码密钥
- ❌ 在 CLAUDE.md 中记录密码
- ❌ 在 Git 提交中包含凭证
## 推荐做法
- ✅ 使用环境变量
- ✅ 使用 .env 文件(不提交)
- ✅ 使用密钥管理服务(AWS Secrets Manager 等)
- ✅ .gitignore 排除敏感文件
七、实战案例
简单几个案例看看如何运用到实际工作中。
7.1 案例1:批量文件重命名
**需求:**将文件夹中所有文件名改为规范的英文名称
实现:
bash
# 拖拽文件夹到 Claude Code
请将文件夹中的所有文件名改成规范的英文名称,只改名字,不改序号
# Claude Code 自动:
# 1. 读取文件夹内容
# 2. 分析文件名
# 3. 批量重命名
# 4. 报告结果
7.2 案例2:自动化数据抓取
**需求:**抓取公众号多页文章数据并导出 Excel
实现:
bash
# 使用 Chrome DevTools MCP
用Chrome浏览器打开这个链接:[公众号链接]
然后通过 chrome devtools mcp 完成:
1. 获取第1、2、3页每篇文章的详细数据
2. 包括标题、阅读量、点赞量、发布时间等
3. 保存到 Excel 表格中
# Claude Code 自动:
# 1. 启动 Chrome
# 2. 导航到页面
# 3. 翻页抓取数据
# 4. 生成 Excel 报告
效果对比:
| 方式 | 耗时 | 准确率 |
|---|---|---|
| 人工 | 30分钟 | 90% |
| Claude Code + MCP | 5分钟 | 99% |
7.3 案例3:代码质量审查
**需求:**审查 PR 的代码变更
实现:
bash
# 使用 code-reviewer subagent
使用 code-reviewer agent 审查这个 PR:
- 代码质量
- 安全漏洞
- 性能问题
- 最佳实践
@src/ @tests/
# Claude Code 自动:
# 1. 读取所有相关文件
# 2. 应用审查标准
# 3. 生成详细报告
# 4. 提供修复建议
7.4 案例4:自动化测试生成
**需求:**为新功能编写测试
实现:
bash
# 使用 test-writer subagent
使用 test-writer agent 为用户认证功能编写测试:
- 单元测试
- 集成测试
- E2E 测试
- 边界情况测试
@src/auth.ts @src/auth.controller.ts
# Claude Code 自动:
# 1. 分析代码逻辑
# 2. 识别测试场景
# 3. 编写测试用例
# 4. 运行测试验证
7.5 案例5:CI/CD 集成
**需求:**在 PR 创建时自动审查代码
实现:
yaml
# .github/workflows/claude-review.yml
name: Claude Auto Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Configure Claude
run: |
echo "配置模型..."
export ANTHROPIC_MODEL="claude-sonnet-4-5"
- name: Run Review
run: |
git diff origin/main...HEAD > diff.txt
claude -p "审查这个 PR 的代码变更,重点关注:
1. 安全漏洞
2. 性能问题
3. 代码规范
请提供详细审查意见" < diff.txt > review.txt
- name: Comment on PR
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.txt', 'utf8');
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## 🤖 Claude Code 自动审查\n\n${review}`
});
八、常见问题与解决方案
在使用 Claude Code 的过程中,你可能会遇到一些常见问题。本章节收集了最常见的问题及其解决方案,帮助你快速排除故障。
8.1 安装问题
Q1: npm install 失败
问题:
bash
npm ERR! code EACCES
npm ERR! syscall access
解决方案:
bash
# 方式1: 使用 sudo (macOS/Linux)
sudo npm install -g @anthropic-ai/claude-code
# 方式2: 修改 npm 全局目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
npm install -g @anthropic-ai/claude-code
# 方式3: 使用 nvm (推荐)
nvm install --lts
npm install -g @anthropic-ai/claude-code
Q2: claude 命令未找到
问题:
bash
bash: claude: command not found
解决方案:
bash
# 检查 npm 全局路径
npm config get prefix
# 添加到 PATH
export PATH=$(npm config get prefix)/bin:$PATH
# 永久配置
echo 'export PATH=$(npm config get prefix)/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
8.2 配置问题
Q3: 模型配置不生效
**问题:**配置后仍显示默认模型
解决方案:
bash
# 1. 验证环境变量
echo $ANTHROPIC_BASE_URL
echo $ANTHROPIC_AUTH_TOKEN
echo $ANTHROPIC_MODEL
# 2. 重新启动终端
# 配置环境变量后必须重启终端才能生效
# 3. 使用 claude /status 检查
claude
/status
# 4. 手动设置(临时)
claude
/model
# 选择第4个(自定义模型)
Q4: MCP 服务器无法连接
问题:
bash
Error: MCP server 'chrome-devtools' failed to start
解决方案:
bash
# 1. 检查 MCP 状态
claude
/mcp
# 2. 测试连接
claude mcp test chrome-devtools
# 3. 重新安装
claude mcp remove chrome-devtools
claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
# 4. 检查网络
npx chrome-devtools-mcp@latest --version
# 5. 查看日志
claude /doctor
8.3 使用问题
Q5: 上下文超出限制
问题:
Context exceeded: Request too large
解决方案:
bash
# 1. 查看上下文使用
/context
# 2. 使用 compact 保留摘要
/compact "保留项目背景和当前任务"
# 3. 使用 clear 清空历史
/clear
# 4. 减少文件引用
# 不要用 @src/ 引用整个目录
# 改用 @src/file1.ts @src/file2.ts 精确引用
# 5. 使用 Subagents 分担上下文
# 将大任务拆分给多个子代理
Q6: 代码生成质量差
**问题:**生成的代码不符合项目规范
解决方案:
bash
# 1. 完善 CLAUDE.md
# 在 CLAUDE.md 中明确代码规范
# 2. 使用 Plan 模式
Shift+Tab × 2
# 让 Claude 先理解项目再编写代码
# 3. 提供示例
# 这是符合规范的代码示例:
@src/good-example.ts
# 请参照这个风格编写新功能
# 4. 明确要求
请编写符合以下规范的代码:
- 使用 TypeScript 严格模式
- 遵循项目命名规范
- 包含完整的错误处理
- 添加必要的注释
8.4 性能问题
Q7: 响应速度慢
**问题:**Claude Code 响应延迟高
解决方案:
bash
# 1. 检查网络
ping api.anthropic.com
# 2. 切换更快的模型
/model
# 选择 Haiku 4.5(最快) 或国产模型
# 3. 优化提示词
# 避免冗长的提示词,直接说明需求
# 4. 减少上下文
/context
# 如果接近 100%,使用 /compact 清理
# 5. 使用本地模型(如果有)
export ANTHROPIC_BASE_URL=http://localhost:8000
Q8: Token 消耗过快
**问题:**费用增长过快
解决方案:
bash
# 1. 监控费用
/cost
# 2. 定期 compact
/compact "保留关键信息"
# 3. 新任务先 clear
/clear
# 4. 使用更便宜的模型
# Haiku < Sonnet < Opus
# 国产模型(更便宜)
# 5. 优化工作流
# 避免反复修改,一次性明确需求
8.5 调试技巧
启用调试模式
bash
# 设置环境变量
export CLAUDE_DEBUG=true
export CLAUDE_LOG_LEVEL=debug
# 启动 Claude Code
claude
# 查看日志
tail -f ~/.claude/logs/claude.log
使用 /doctor 诊断
bash
claude
/doctor
检查项:
- ✅ 安装版本
- ✅ 配置文件
- ✅ API 连接
- ✅ MCP 服务器
- ✅ 权限设置
- ✅ 环境变量
附录
A. 快速参考卡
核心命令速查
bash
# 基础操作
claude # 启动 Claude Code
claude -p "prompt" # Headless 模式
claude --version # 查看版本
# 斜杠命令
/clear # 清空对话
/compact # 压缩对话
/context # 查看上下文
/cost # 查看费用
/model # 切换模型
/mcp # 管理 MCP
/skills # 查看 Skills
/hooks # 管理 Hooks
/agents # 管理子代理
/status # 系统状态
/doctor # 诊断环境
# 快捷键
Ctrl+R # 搜索历史
Ctrl+S # 暂存提示词
Ctrl+C # 中止操作
Shift+Tab × 2 # Plan 模式
ESC ESC # 回退操作
Alt+V # 粘贴图片
# 文件操作
@file.ts # 引用文件
@src/ # 引用目录
!command # 执行 Bash
B. 配置文件清单
| 配置文件 | 位置 | 作用 |
|---|---|---|
| CLAUDE.md | 项目根目录 | 项目配置 |
| settings.json | ~/.claude/ 或项目/.claude/ | 全局/项目设置 |
| agents.json | ~/.claude/ 或项目/.claude/ | 子代理配置 |
| mcp.json | ~/.claude/ | MCP 服务器配置 |
| hooks/ | ~/.claude/hooks/ | Hook 脚本 |
| skills/ | ~/.claude/skills/ | 自定义 Skills |
| rules/ | 项目/.claude/rules/ | 模块化规则 |
C. 推荐资源
官方资源
- Claude Code 官网: https://code.claude.com
- 文档: https://code.claude.com/docs
- GitHub: https://github.com/anthropics/claude-code
- Skills 库: https://github.com/anthropics/skills
- MCP 服务器: https://github.com/modelcontextprotocol
总结
Claude Code 真的很强,是一个强大的系统级 AI Agent,用好这个工具能为自己提高很多工作效率。
核心能力清单
- ✅ Skills: 预封装的工作流,快速复用专业能力
- ✅ Hooks: 事件驱动的自动化,打造个性化工作流
- ✅ Plugins: 完整解决方案,一键安装多功能套件
- ✅ MCP Servers: 外部服务集成,无限扩展能力边界
- ✅ Subagents: 并行处理复杂任务,提升团队协作效率
- ✅ CLAUDE.md: 项目记忆系统,让 AI 理解你的项目
- ✅ Plan 模式: 先规划后执行,减少返工提高质量
- ✅ Sandbox 模式: 安全防护机制,保护你的工作环境
- ✅ Headless 模式: CI/CD 集成,实现自动化工作流