文章目录

一、系统要求与安装

1.1 系统要求

组件要求说明
操作系统Windows 10/11必须使用 WSL2 (Windows Subsystem for Linux)
WSLUbuntu 20.04+在 PowerShell 管理员模式下运行 wsl --install
Node.jsv18.0+必须在 WSL 内部安装,不是 Windows 版
Git任意版本用于代码版本控制
Ripgrep可选提升代码搜索速度

1.2 安装 WSL2 (首次使用必需)

步骤 1:以管理员身份打开 PowerShell,运行:

wsl --install
  • 这将安装 WSL2 和默认 Ubuntu 发行版
  • 重启电脑后,Ubuntu 会自动启动并提示设置用户名密码

步骤 2:在 Ubuntu 中安装 Node.js:

# 更新包列表
sudo apt update

# 安装 Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# 验证版本
node --version  # 应显示 v18.x.x 或更高
npm --version

1.3 安装 Claude Code

方式一:官方安装脚本(推荐)

# 在 WSL Ubuntu 终端中运行
curl -fsSL https://claude.ai/install.sh | bash

方式二:通过 npm 安装

npm install -g @anthropic-ai/claude-code

方式三:Windows 原生安装(实验性)

# 在 PowerShell 中运行
irm https://claude.ai/install.ps1 | iex

⚠️ 注意:如果遇到执行策略错误,先运行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

1.4 验证安装

# 检查版本
claude --version

# 诊断环境
claude doctor

二、认证与登录配置

Claude Code 需要付费订阅或 API 密钥才能使用。

2.1 认证方式选择

方式适用场景费用
Claude Pro/Max个人开发,网页版用户$20-200/月
Anthropic ConsoleAPI 调用,按量付费按 token 计费
Teams/Enterprise团队协作联系销售

2.2 方式一:Claude Pro/Max 订阅(推荐个人用户)

步骤:

  1. 访问 claude.ai 注册账号
  2. 订阅 Pro ($20/月) 或 Max ($100-200/月) 计划
  3. 在 WSL 终端运行:
    claude
    
  4. 首次运行会自动打开浏览器 OAuth 登录
  5. 登录成功后,终端显示 ✓ Authenticated as your-email@example.com

2.3 方式二:Anthropic Console API Key

步骤:

  1. 访问 console.anthropic.com
  2. 创建账号并启用计费
  3. 生成 API Key (格式:sk-ant-api03-...)
  4. 设置环境变量:

临时设置(当前会话):

export ANTHROPIC_API_KEY="sk-ant-api03-your-key-here"

永久设置(推荐):

# 编辑 ~/.bashrc 或 ~/.zshrc
echo 'export ANTHROPIC_API_KEY="sk-ant-api03-your-key-here"' >> ~/.bashrc
source ~/.bashrc

2.4 验证认证状态

claude /status

三、模型配置与切换

Claude Code 支持三种主力模型,适用于不同场景。

3.1 模型对比

模型速度智力成本最佳场景
Haiku 4.5⚡️ 极快入门级最低 💰简单脚本、代码审查、快速迭代
Sonnet 4.5🚀 快高级 (推荐)中等 💰💰日常编程、多文件编辑、调试
Opus 4.5🐢 较慢顶级最高 💰💰💰复杂架构、大规模重构、深度分析

3.2 启动时指定模型

# 使用 Sonnet 4.5(默认推荐)
claude --model claude-sonnet-4-5

# 使用 Haiku 4.5(轻量级任务)
claude --model claude-haiku-4-5

# 使用 Opus 4.5(复杂任务)
claude --model claude-opus-4-5

# 使用特定版本
claude --model claude-sonnet-4-20250514

3.3 会话中切换模型

在 Claude Code 交互界面中,输入:

/model sonnet    # 切换到 Sonnet
/model haiku     # 切换到 Haiku  
/model opus      # 切换到 Opus

3.4 设置默认模型

编辑配置文件 ~/.claude/settings.json

{
  "model": "claude-sonnet-4-5",
  "maxTokens": 4096
}

3.5 环境变量配置模型

# 添加到 ~/.bashrc
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-20250514
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-20250514
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-20250514

四、MCP 服务器配置

MCP (Model Context Protocol) 是 Anthropic 推出的开放标准,用于连接外部工具和 API。

4.1 MCP 简介

作用:让 Claude Code 能够:

  • 搜索网页 (Exa、Brave Search)
  • 管理 GitHub 仓库
  • 查询数据库 (PostgreSQL、MySQL)
  • 集成 Salesforce、Slack 等 SaaS 平台
  • 访问本地文件系统

4.2 MCP 配置文件位置

范围文件路径
用户全局~/.claude.json~/.mcp.json
项目级.claude/mcp.json.mcp.json

4.3 常用 MCP 服务器配置示例

4.3.1 文件系统访问 (Filesystem)
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/home/username/projects",
        "/home/username/documents"
      ]
    }
  }
}
4.3.2 GitHub 集成
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

获取 GitHub Token:

  1. 访问 GitHub Settings → Developer settings → Personal access tokens
  2. 生成 Token (需要 reporead:org 权限)
4.3.3 PostgreSQL 数据库
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}
4.3.4 Web 搜索 (Exa)
{
  "mcpServers": {
    "exa": {
      "command": "npx",
      "args": [
        "-y",
        "exa-mcp"
      ],
      "env": {
        "EXA_API_KEY": "your-exa-api-key"
      }
    }
  }
}
4.3.5 Brave 搜索
{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "your-brave-api-key"
      }
    }
  }
}

4.4 添加 MCP 服务器的 CLI 命令

# 添加 GitHub MCP
claude mcp add github npx -y @modelcontextprotocol/server-github

# 添加文件系统 MCP
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dir

# 查看已添加的 MCP
claude mcp list

# 测试 MCP 连接
claude mcp test github

# 移除 MCP
claude mcp remove github

4.5 验证 MCP 状态

在 Claude Code 会话中输入:

/mcp

将显示所有已连接 MCP 服务器的状态和可用工具。

4.6 Salesforce MCP 示例(企业用户)

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "@salesforce/mcp",
        "--orgs", "your-org-alias",
        "--toolsets", "orgs,metadata,data,users",
        "--allow-non-ga-tools"
      ]
    }
  }
}

五、Skills 技能系统

Skills 是可复用的工作流模板,通过 Markdown 文件定义。

5.1 Skills 文件位置

项目根目录/
├── .claude/
│   ├── skills/              # 技能定义目录
│   │   ├── code-review.md
│   │   ├── refactor-react.md
│   │   └── write-tests.md
│   └── settings.json        # 配置文件

5.2 创建 Skill 文件

示例:React 组件重构技能

创建 .claude/skills/refactor-react.md

# React Component Refactoring

将类组件重构为函数组件,使用 Hooks 替代生命周期方法。

## When to Use

- 遇到 legacy React 类组件
- 需要优化组件性能
- 迁移到现代 React 模式

## Process

1. **分析现有组件**:
   - 列出所有 state 和 props
   - 识别生命周期方法
   - 标记副作用 (side effects)

2. **规划转换**:
   - state → useState
   - componentDidMount → useEffect
   - componentWillUnmount → useEffect cleanup
   - this.props → 直接解构参数

3. **执行重构**:
   - 保持原有功能不变
   - 添加 TypeScript 类型(如需要)
   - 使用 React.memo 优化(如适用)

4. **验证**:
   - 运行现有测试
   - 检查 TypeScript 错误
   - 手动测试关键路径

## Tools to Use

- Read/Write: 文件操作
- Bash: 运行测试 (npm test)
- WebSearch: 查询最新 React 模式(如需要)

## Output

- 重构后的函数组件文件
- 更新的测试文件(如需要)
- 重构说明文档

在这里插入图片描述

5.3 使用 Skills

在 Claude Code 会话中,输入斜杠命令:

/refactor-react

Claude 将自动按照 Skill 中定义的流程执行任务。

5.4 常用 Skill 模板

代码审查 Skill (.claude/skills/code-review.md)
# Code Review

执行全面的代码审查,检查质量、安全性和性能。

## When to Use

- Pull Request 审查
- 代码提交前自检
- 遗留代码评估

## Process

1. **静态分析**:
   - 检查代码风格和格式
   - 识别潜在 bug 和反模式
   - 验证类型安全

2. **安全性检查**:
   - 查找硬编码密钥
   - 检查 SQL 注入风险
   - 验证输入验证

3. **性能评估**:
   - 识别不必要的重渲染
   - 检查内存泄漏
   - 评估算法复杂度

4. **可维护性**:
   - 检查命名规范
   - 评估函数长度和复杂度
   - 验证注释质量

## Output

- 审查报告(按严重程度分类)
- 具体改进建议
- 重构示例代码

在这里插入图片描述

测试生成 Skill (.claude/skills/write-tests.md)
# Write Tests

为现有代码生成全面的单元测试和集成测试。

## When to Use

- 新功能开发后
- 遗留代码补测试
- TDD 开发流程

## Process

1. **分析代码**:
   - 识别公共 API 和边界情况
   - 确定依赖项和 mock 需求
   - 选择测试框架 (Jest/Vitest/Playwright)

2. **生成测试**:
   - 编写单元测试(覆盖率 >80%)
   - 添加集成测试(关键路径)
   - 包含边界情况和错误处理

3. **验证测试**:
   - 运行测试确保通过
   - 检查覆盖率报告
   - 修复脆弱的测试

## Tools to Use

- Read: 分析源代码
- Write: 创建测试文件
- Bash: 运行测试套件

## Output

- 测试文件 (*.test.ts 或 *.spec.ts)
- 必要的 mock 和 fixture
- 覆盖率报告

在这里插入图片描述


六、Agents 智能体配置

Agents 是自主执行任务的 AI 实体,可以通过配置实现自动化工作流。

6.1 Agents 与 Skills 的区别

特性SkillsAgents
触发方式手动 (/command)自动或手动
自主性按步骤执行自主决策、循环执行
状态管理无状态可维护状态
适用场景标准化流程探索性、创造性任务

6.2 创建 Agent 配置

在项目根目录创建 .claude/agents/ 目录:

.claude/
├── agents/
│   ├── bug-bounty-agent.md
│   ├── doc-writer-agent.md
│   └── security-audit-agent.md

6.3 Agent 定义示例

Bug 修复 Agent (.claude/agents/bug-bounty-agent.md):

# Bug Bounty Agent

自主发现并修复代码库中的 bug。

## Role

你是一个专业的 bug 修复工程师,擅长:
- 静态代码分析
- 运行时错误诊断
- 自动化测试修复

## Goals

1. 扫描代码库识别潜在 bug
2. 复现并诊断问题根因
3. 实现修复方案
4. 验证修复不引入回归

## Constraints

- 每次修改后必须运行相关测试
- 不得修改没有测试覆盖的代码
- 重大变更需用户确认

## Tools

- Read/Write: 代码编辑
- Bash: 运行测试、git 操作
- WebSearch: 查询最佳实践

## Workflow

1. **Discovery**: 运行 linter 和类型检查,扫描错误
2. **Reproduction**: 创建最小复现案例
3. **Diagnosis**: 分析调用栈和依赖关系
4. **Fix**: 实施最小侵入性修复
5. **Verify**: 运行测试套件,确保通过
6. **Report**: 总结修复内容和验证结果

## Handoff

当遇到以下情况时,请求用户介入:
- 需要架构级重构
- 测试覆盖率不足 50%
- 涉及第三方 API 变更

在这里插入图片描述

6.4 启动 Agent

# 启动特定 Agent
claude --agent bug-bounty-agent

# 或在会话中切换
/agent bug-bounty-agent

6.5 Multi-Agent 协作配置

创建 .claude/agents/squad.md 定义多 Agent 团队:

# Development Squad

协调多个 Agent 完成复杂开发任务。

## Agents

- **Architect**: 负责技术设计和架构决策
- **Implementer**: 负责代码实现
- **Reviewer**: 负责代码审查和测试
- **Documenter**: 负责文档编写

## Workflow

1. Architect 分析需求并创建设计文档
2. Implementer 根据设计实现代码
3. Reviewer 审查代码并运行测试
4. Documenter 编写用户文档和 API 文档

## Handoff Rules

- Architect → Implementer: 设计文档完成
- Implementer → Reviewer: 功能实现完成
- Reviewer → Documenter: 代码合并到 main
- 任何 Agent 遇到阻塞: 升级给用户

在这里插入图片描述


七、Hooks 自动化钩子

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

7.1 Hooks 配置位置

编辑 .claude/settings.json~/.claude/settings.json

{
  "hooks": {
    "SessionStart": [],
    "PreToolCall": [],
    "PostToolUse": [],
    "SessionEnd": []
  }
}

7.2 生命周期事件说明

事件触发时机用途
SessionStart会话开始时环境检查、加载上下文、同步状态
PreToolCall工具执行前权限验证、安全检查、日志记录
PostToolUse工具执行后格式化、验证、通知、自动提交
SessionEnd会话结束时清理、总结、生成报告

7.3 实用 Hooks 配置示例

会话启动时检查环境
{
  "hooks": {
    "SessionStart": [
      {
        "type": "command",
        "command": "git status",
        "timeout": 5000
      },
      {
        "type": "command",
        "command": "npm --version && node --version",
        "timeout": 5000
      }
    ]
  }
}
保存文件后自动格式化
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write(*.ts)",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write $CLAUDE_FILE_PATH",
            "timeout": 10000
          }
        ]
      },
      {
        "matcher": "Write(*.py)",
        "hooks": [
          {
            "type": "command",
            "command": "python -m black $CLAUDE_FILE_PATH",
            "timeout": 10000
          }
        ]
      }
    ]
  }
}
工具调用前安全检查
{
  "hooks": {
    "PreToolCall": [
      {
        "matcher": "Bash(rm *)",
        "hooks": [
          {
            "type": "prompt",
            "message": "⚠️  即将执行删除操作,是否继续?"
          }
        ]
      }
    ]
  }
}

7.4 高级 Hooks:自动 Git 提交

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write(*)",
        "hooks": [
          {
            "type": "command",
            "command": "git add $CLAUDE_FILE_PATH && git commit -m \"chore: update $CLAUDE_FILE_PATH via Claude\" || true",
            "timeout": 10000
          }
        ]
      }
    ]
  }
}

八、高级配置与故障排除

8.1 完整配置文件示例

~/.claude/settings.json (用户全局配置)

{
  "model": "claude-sonnet-4-5",
  "maxTokens": 4096,
  "permissions": {
    "allow": [
      "Read(*)",
      "Write(src/**)",
      "Write(tests/**)",
      "Bash(git *)",
      "Bash(npm *)",
      "Bash(node *)"
    ],
    "deny": [
      "Read(.env*)",
      "Read(secrets/**)",
      "Write(production.config.*)",
      "Bash(rm -rf /)",
      "Bash(sudo *)",
      "Bash(curl * | bash)"
    ]
  },
  "hooks": {
    "SessionStart": [
      {
        "type": "command",
        "command": "echo 'Claude Code 已启动,当前目录: $(pwd)'",
        "timeout": 5000
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write(*.js)",
        "hooks": [
          {
            "type": "command",
            "command": "npx eslint --fix $CLAUDE_FILE_PATH || true",
            "timeout": 10000
          }
        ]
      }
    ]
  },
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
    }
  }
}

8.2 项目级配置 .claude/settings.json

{
  "model": "claude-opus-4-5",
  "permissions": {
    "allow": [
      "Read(*)",
      "Write(*)",
      "Bash(docker *)",
      "Bash(make *)"
    ]
  },
  "hooks": {
    "SessionStart": [
      {
        "type": "command",
        "command": "docker-compose ps",
        "timeout": 10000
      }
    ]
  }
}

8.3 本地覆盖配置 .claude/settings.local.json

{
  "env": {
    "DATABASE_URL": "postgresql://localhost:5432/devdb",
    "API_KEY": "sk-local-only"
  }
}

⚠️ 注意:此文件应添加到 .gitignore,不要提交到版本控制。

8.4 常用故障排除

问题 1:Windows 上安装脚本执行失败

症状irm https://claude.ai/install.ps1 | iex 报错

解决

# 检查执行策略
Get-ExecutionPolicy

# 设置为 RemoteSigned(当前用户)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 或使用 WSL 安装(推荐)
wsl -d Ubuntu
curl -fsSL https://claude.ai/install.sh | bash
问题 2:MCP 服务器连接失败

症状/mcp 显示服务器未连接

解决步骤

# 1. 检查 Node.js 版本
node --version  # 需 v18+

# 2. 验证 JSON 语法
cat .mcp.json | python -m json.tool

# 3. 重启 Claude Code
exit
claude

# 4. 查看详细错误
claude /mcp
问题 3:模型切换无效

症状/model opus 后仍使用 Sonnet

解决

  • 检查是否有 settings.json 中的 model 配置覆盖了切换
  • 某些平台(如 VS Code 扩展)可能不支持动态切换,需重启会话
问题 4:权限被拒绝 (Permission Denied)

症状:Claude 无法执行 Bash 命令或写入文件

解决

// 在 settings.json 中显式允许
{
  "permissions": {
    "allow": [
      "Bash(your-command *)",
      "Write(/path/to/allowed/dir/**)"
    ]
  }
}
问题 5:WSL 中无法访问 Windows 文件

症状:无法读取 /mnt/c/Users/... 下的文件

解决

# 在 WSL 中创建符号链接
ln -s /mnt/c/Users/YourName/Projects ~/projects

# 然后在 Claude 中使用 ~/projects 路径
claude ~/projects/my-app

8.5 性能优化建议

  1. 使用 Ripgrep:安装 ripgrep 大幅提升代码搜索速度

    sudo apt-get install ripgrep
    
  2. 限制 MCP 工具范围:在 mcpServers 配置中指定允许的目录,避免扫描整个文件系统

  3. 合理使用 Haiku:对于简单任务(如代码格式化、 lint 检查),使用 Haiku 模型节省成本

  4. 缓存 npm 包:配置 npm 缓存避免重复下载 MCP 服务器

    npm config set cache ~/.npm-cache --global
    

8.6 安全最佳实践

  1. 敏感信息保护

    // settings.json
    {
      "permissions": {
        "deny": [
          "Read(.env*)",
          "Read(*.key)",
          "Read(*.pem)"
        ]
      }
    }
    
  2. API Key 管理:使用环境变量而非硬编码

    # ~/.bashrc
    export ANTHROPIC_API_KEY="sk-..."
    export GITHUB_TOKEN="ghp_..."
    
  3. 审查 Hooks:定期检查 PostToolUse hooks,确保没有恶意命令

  4. 使用本地配置:敏感配置放在 settings.local.json,不提交到 git


附录:快速参考卡

常用命令速查

命令说明
claude启动交互式会话
claude --model claude-opus-4-5指定模型启动
claude -p "你的问题"打印模式(单次查询)
claude -c继续上次会话
claude /status查看状态
claude /config交互式配置
claude doctor诊断环境
claude mcp list列出 MCP 服务器
claude mcp add <name> <command>添加 MCP
claude update更新 Claude Code

会话内命令

命令功能
/model sonnet切换到 Sonnet
/model haiku切换到 Haiku
/model opus切换到 Opus
/mcp查看 MCP 状态
/clear清除上下文
/status查看当前状态
/config打开配置菜单
/exitCtrl+D退出会话

文件路径速查

文件路径
用户配置~/.claude/settings.json
用户 MCP~/.claude.json~/.mcp.json
项目配置.claude/settings.json
项目本地配置.claude/settings.local.json
技能目录.claude/skills/
Agent 目录.claude/agents/
全局记忆~/.claude/CLAUDE.md
项目记忆./CLAUDE.md

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐