精品库

Claude Code 快速入门指南

Codex / Claude Code · 约 51 分钟阅读 · 系列教程

系列教程 · 可反复对照

欢迎使用Claude Code!这个强大的AI编程助手能够帮助您提高编程效率,自动化开发任务。

1. 安装与配置

1.1 系统要求

1.2 安装步骤

使用npm进行全局安装:

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

重要: 不要使用 sudo npm install -g,这可能导致权限问题和安全风险。

安装完成后,导航到您的项目目录并启动Claude Code:

cd your-awesome-project
claude

2. API密钥获取与配置

2.1 注册账户

  1. 访问 https://coultra.blueshirtmap.com
  2. 点击注册按钮创建新账户
  3. 填写必要的注册信息
注册账户

2.2 创建API密钥

  1. 登录成功后,进入API密钥管理页面
  2. 创建一个新的API密钥分组
  3. 选择"ClaudeCode"作为分组名称
  4. 生成并复制您的API密钥
创建令牌

3. 配置文件设置

3.1 API密钥配置

配置文件设置方法

创建或编辑配置文件:

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

# 项目设置 (项目级)
.claude/settings.json

配置文件示例:

{
    "env": {
      "ANTHROPIC_API_KEY": "您的APIkey",
      "ANTHROPIC_BASE_URL": "https://coultra.blueshirtmap.com",
      "CLAUDE_CODE_MAX_OUTPUT_TOKENS":64000,
      "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":1,
      "CLAUDE_MODEL": "Claude模型名称"
    },
    "permissions": {
      "allow": [],
      "deny": []
    }
  }

3.2 权限设置(可选)

Claude Code采用保守的权限策略,默认需要用户确认可能修改系统的操作。您可以自定义允许的工具列表:

3.3 工作目录配置(可选)

配置Claude可以访问的附加工作目录:

{
  "permissions": {
    "additionalDirectories": ["../docs/", "../shared/"]
  }
}

3.4 省流、一键脚本

购买了API之后,只需要修改这个脚本第8行的readonly API_KEY="",填上你的APIkey(令牌),再将这个脚本保存为claudecode.sh,然后打开终端:

chmod +x claudecode.sh
./claudecode.sh

跟着提示走就好了。


# ==============================================================================
# 🔧 配置区域 - 请在这里设置您的 API 配置
# ==============================================================================

# 🔑 API 密钥 - 请填入您的 API 密钥
readonly API_KEY=""

# 🌐 API 基础地址 - 请填入您的 API 基础地址 (例如: "https://coultra.blueshirtmap.com")
readonly API_BASE_URL="https://coultra.blueshirtmap.com"

# ==============================================================================
# 以下内容请勿修改
# ==============================================================================

# 脚本常量
readonly CLAUDE_COMMAND="claude"
readonly NPM_PACKAGE="@anthropic-ai/claude-code"
readonly CLAUDE_DIR="$HOME/.claude"
readonly SETTINGS_FILE="$CLAUDE_DIR/settings.json"

# 检测操作系统
detect_os() {
    case "$(uname -s)" in
        Darwin)
            echo "macos"
            ;;
        Linux)
            echo "linux"
            ;;
        *)
            echo "unknown"
            ;;
    esac
}

# 检查配置是否完整
check_config() {
    if [ -z "$API_KEY" ] || [ -z "$API_BASE_URL" ]; then
        echo "❌ 配置不完整!请编辑脚本并填入以下信息:"
        echo "  - API_KEY: 您的 API 密钥"
        echo "  - API_BASE_URL: API 基础地址 (例如: https://coultra.blueshirtmap.com )"
        exit 1
    fi
}

# 安装 Homebrew (仅限 macOS)
install_homebrew() {
    if ! command -v brew &> /dev/null; then
        echo "正在安装 Homebrew..."
        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

        # 添加 Homebrew 到 PATH
        if [[ -f "/opt/homebrew/bin/brew" ]]; then
            eval "$(/opt/homebrew/bin/brew shellenv)"
        elif [[ -f "/usr/local/bin/brew" ]]; then
            eval "$(/usr/local/bin/brew shellenv)"
        fi

        echo "✅ Homebrew 安装完成"
    else
        echo "ℹ️ Homebrew 已安装"
    fi
}

# 在 macOS 上安装软件包
install_macos_packages() {
    install_homebrew

    # 安装 Node.js (包含 npm)
    if ! command -v node &> /dev/null; then
        echo "正在安装 Node.js..."
        brew install node
        echo "✅ Node.js 安装完成"
    else
        echo "ℹ️ Node.js 已安装"
    fi

    # 安装 jq
    if ! command -v jq &> /dev/null; then
        echo "正在安装 jq..."
        brew install jq
        echo "✅ jq 安装完成"
    else
        echo "ℹ️ jq 已安装"
    fi

    # 安装 Python3
    if ! command -v python3 &> /dev/null; then
        echo "正在安装 Python3..."
        brew install python3
        echo "✅ Python3 安装完成"
    else
        echo "ℹ️ Python3 已安装"
    fi
}

# 在 Linux 上安装软件包
install_linux_packages() {
    # 检测 Linux 发行版
    if command -v apt-get &> /dev/null; then
        # Ubuntu/Debian
        echo "检测到 Ubuntu/Debian 系统"

        # 更新包管理器
        echo "正在更新包管理器..."
        sudo apt-get update

        # 安装 Node.js
        if ! command -v node &> /dev/null; then
            echo "正在安装 Node.js..."
            # 安装 NodeSource 仓库
            curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
            sudo apt-get install -y nodejs
            echo "✅ Node.js 安装完成"
        else
            echo "ℹ️ Node.js 已安装"
        fi

        # 安装 jq
        if ! command -v jq &> /dev/null; then
            echo "正在安装 jq..."
            sudo apt-get install -y jq
            echo "✅ jq 安装完成"
        else
            echo "ℹ️ jq 已安装"
        fi

        # 安装 Python3
        if ! command -v python3 &> /dev/null; then
            echo "正在安装 Python3..."
            sudo apt-get install -y python3 python3-pip
            echo "✅ Python3 安装完成"
        else
            echo "ℹ️ Python3 已安装"
        fi

    elif command -v yum &> /dev/null; then
        # CentOS/RHEL
        echo "检测到 CentOS/RHEL 系统"

        # 安装 Node.js
        if ! command -v node &> /dev/null; then
            echo "正在安装 Node.js..."
            curl -fsSL https://rpm.nodesource.com/setup_lts.x | sudo bash -
            sudo yum install -y nodejs
            echo "✅ Node.js 安装完成"
        else
            echo "ℹ️ Node.js 已安装"
        fi

        # 安装 jq
        if ! command -v jq &> /dev/null; then
            echo "正在安装 jq..."
            sudo yum install -y jq
            echo "✅ jq 安装完成"
        else
            echo "ℹ️ jq 已安装"
        fi

        # 安装 Python3
        if ! command -v python3 &> /dev/null; then
            echo "正在安装 Python3..."
            sudo yum install -y python3 python3-pip
            echo "✅ Python3 安装完成"
        else
            echo "ℹ️ Python3 已安装"
        fi

    elif command -v pacman &> /dev/null; then
        # Arch Linux
        echo "检测到 Arch Linux 系统"

        # 安装 Node.js
        if ! command -v node &> /dev/null; then
            echo "正在安装 Node.js..."
            sudo pacman -S --noconfirm nodejs npm
            echo "✅ Node.js 安装完成"
        else
            echo "ℹ️ Node.js 已安装"
        fi

        # 安装 jq
        if ! command -v jq &> /dev/null; then
            echo "正在安装 jq..."
            sudo pacman -S --noconfirm jq
            echo "✅ jq 安装完成"
        else
            echo "ℹ️ jq 已安装"
        fi

        # 安装 Python3
        if ! command -v python3 &> /dev/null; then
            echo "正在安装 Python3..."
            sudo pacman -S --noconfirm python python-pip
            echo "✅ Python3 安装完成"
        else
            echo "ℹ️ Python3 已安装"
        fi

    else
        echo "❌ 不支持的 Linux 发行版,请手动安装以下软件包:"
        echo "  - Node.js (包含 npm)"
        echo "  - jq"
        echo "  - python3"
        exit 1
    fi
}

# 安装 Claude Code
install_claude_code() {
    if command -v "$CLAUDE_COMMAND" &> /dev/null; then
        echo "ℹ️ Claude Code 已安装"
    else
        echo "正在安装 Claude Code..."

        if ! command -v npm &> /dev/null; then
            echo "❌ npm 未安装,无法安装 Claude Code"
            exit 1
        fi

        if ! npm install -g "$NPM_PACKAGE"; then
            echo "❌ Claude Code 安装失败"
            exit 1
        fi

        echo "✅ Claude Code 安装完成"
    fi
}

# 配置 Claude Code
configure_claude_code() {
    echo "正在配置 Claude Code..."

    # 创建 .claude 目录
    if [ ! -d "$CLAUDE_DIR" ]; then
        mkdir -p "$CLAUDE_DIR"
    fi

    # 备份原配置(如果存在)
    if [ -f "$SETTINGS_FILE" ]; then
        cp "$SETTINGS_FILE" "$SETTINGS_FILE.backup"
        echo "ℹ️ 原配置已备份为 settings.json.backup"
    fi

    # 创建新的配置文件
    cat > "$SETTINGS_FILE" << EOF
{
  "env": {
    "ANTHROPIC_API_KEY": "$API_KEY",
    "ANTHROPIC_BASE_URL": "$API_BASE_URL",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": 64000,
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
  },
  "permissions": {
    "allow": [],
    "deny": []
  },
  "apiKeyHelper": "echo '$API_KEY'"
}
EOF

    echo "✅ 配置文件创建完成"
}

# 主函数
main() {
    echo "🚀 Claude Code 自动安装配置脚本"
    echo "=================================="

    # 检查配置
    check_config

    # 检测操作系统
    OS=$(detect_os)
    echo "检测到操作系统: $OS"

    # 根据操作系统安装依赖
    case "$OS" in
        "macos")
            install_macos_packages
            ;;
        "linux")
            install_linux_packages
            ;;
        *)
            echo "❌ 不支持的操作系统: $OS"
            exit 1
            ;;
    esac

    # 安装 Claude Code
    install_claude_code

    # 配置 Claude Code
    configure_claude_code

    echo "🎉 所有配置完成!"
    echo "配置文件位置: $SETTINGS_FILE"
    echo "现在您可以使用 'claude' 命令了!"
}

# 运行主函数
main "$@"

4. 基础使用

4.1 启动方式

交互式模式

Claude进入界面

带初始提示启动

claude "explain this project"

非交互式模式

claude -p "explain this function"

处理管道输入

cat logs.txt | claude -p "explain"

4.2 常用命令

4.3 快捷键

通用控制

多行输入

5. 高级功能

5.1 CLI参考

Claude Code提供丰富的命令行选项来自定义其行为:

基础CLI命令

命令描述示例
claude启动交互式REPLclaude
claude "query"带初始提示启动REPLclaude "explain this project"
claude -p "query"通过SDK查询后退出claude -p "explain this function"
claude -c继续最近的对话claude -c
claude update更新到最新版本claude update

重要CLI标志

标志描述示例
--allowedTools允许的工具列表--allowedTools "Bash(git log:*)" "Read"
--verbose启用详细日志claude --verbose
--model设置使用的模型claude --model claude-sonnet-4
--permission-mode指定权限模式claude --permission-mode plan
--dangerously-skip-permissions跳过权限提示(谨慎使用)claude --dangerously-skip-permissions

5.2 交互式模式

Vim模式

启用vim风格编辑:

模式切换

导航(NORMAL模式)

5.3 斜杠命令

Claude Code提供多种斜杠命令来增强交互体验:

基础命令

命令描述示例
/help显示帮助信息/help
/clear清除对话历史/clear
/config管理配置/config
/permissions管理权限/permissions
/vim启用vim模式/vim

高级命令

命令描述功能
/init初始化项目自动生成CLAUDE.md文件
/terminal-setup设置终端配置键盘快捷键
/project:command项目特定命令运行项目自定义命令

自定义斜杠命令

您可以创建自定义斜杠命令:

  1. .claude/commands/ 目录创建Markdown文件
  2. 文件名即为命令名
  3. 内容为命令模板,可使用 $ARGUMENTS 占位符

示例:.claude/commands/fix-github-issue.md

markdown

请分析并修复GitHub issue: $ARGUMENTS。

请按以下步骤操作:
1. 使用 `gh issue view` 获取issue详情
2. 理解问题描述
3. 搜索相关代码文件
4. 实现必要的修复
5. 编写并运行测试
6. 确保代码通过lint检查
7. 创建描述性的提交信息
8. 推送并创建PR

6. 实战教程

6.1 理解新代码库

快速了解代码库概况

如果你刚加入一个新项目,想要快速了解其结构,你可以按照以下步骤进行:

  1. 进入项目根目录:cd /path/to/project
  2. 启动 Claude Code:claude
  3. 请求代码库的概况:> 给我一个代码库概览
  4. 深入了解特定组件:

小技巧:

查找相关代码

当你需要定位与某个功能相关的代码时,可以按如下方式操作:

  1. 请求 Claude 查找相关文件:> 查找处理用户认证的文件
  2. 获取组件交互的上下文:> 这些认证文件是如何协同工作的?
  3. 了解执行流程:> 从前端到数据库,跟踪登录过程

小技巧:

6.2 高效修复Bug

诊断错误消息

遇到错误时,你可以通过以下方法找出并修复问题:

  1. 与 Claude 分享错误消息:> 我在运行 npm test 时看到错误
  2. 请求修复建议:> 提供一些修复 user.ts 中 @ts-ignore 的方法
  3. 应用修复:> 更新 user.ts,添加你建议的 null 检查

小技巧:

6.3 代码重构

现代化旧代码

当需要更新旧代码,采用现代的编程模式时,可以按照以下步骤进行:

  1. 识别要重构的旧代码:> 查找我们代码库中弃用的 API
  2. 请求重构建议:> 建议如何重构 utils.js,使用现代 JavaScript 特性
  3. 安全地应用更改:> 重构 utils.js,使用 ES2024 特性,同时保持原有行为
  4. 验证重构:> 对重构后的代码运行测试

小技巧:

6.4 处理测试

添加测试覆盖率

若需要为未覆盖的代码添加测试,可以按如下步骤进行:

  1. 识别未经测试的代码:> 查找 NotificationsService.swift 中未覆盖的函数
  2. 生成测试框架:> 为通知服务添加测试
  3. 添加有意义的测试用例:> 为通知服务中的边缘情况添加测试用例
  4. 运行并验证测试:> 运行新测试,修复任何失败

小技巧:

6.5 创建Pull Request

生成全面的PR

当你需要为你的更改创建一个文档清晰的 pull request 时,按以下步骤操作:

  1. 总结你的更改:> 总结我对认证模块所做的更改
  2. 使用 Claude 生成 PR:> 创建一个 PR
  3. 审查并完善描述:> 增强 PR 描述,补充有关安全性改进的更多信息
  4. 添加测试信息:> 添加关于如何测试这些更改的信息

小技巧:

6.6 处理文档

生成代码文档

如果你需要添加或更新代码文档,可以按照以下步骤操作:

  1. 识别没有适当 JSDoc 注释的代码:> 查找 auth 模块中没有适当 JSDoc 注释的函数
  2. 生成文档:> 为 auth.js 中未注释的函数添加 JSDoc 注释
  3. 审查和增强文档:> 改进生成的文档,增加更多上下文和示例
  4. 验证文档:> 检查文档是否符合我们项目的标准

小技巧:

6.7 使用图像

分析图像和屏幕截图

如果你需要在代码库中使用图像或让 Claude 分析图像内容,按照以下步骤进行:

  1. 将图像添加到对话中:
  1. 请求 Claude 分析图像:
  1. 使用图像获取上下文:
  1. 从图像中获取代码建议:

小技巧:

6.8 设置项目记忆

创建有效的CLAUDE.md文件

为了存储重要的项目信息、约定和常用命令,你可以设置一个 CLAUDE.md 文件:

为你的代码库初始化 CLAUDE.md 文件:> /init

小技巧:

你可以将 CLAUDE.md 文件添加到你运行 Claude 的文件夹、父目录(Claude 会自动读取这些文件)或子目录(Claude 会按需拉取这些文件)。

6.9 Unix风格实用程序

添加到验证过程

将 Claude 添加到你的构建脚本:

// package.json
{
  ...
  "scripts": {
    ...
    "lint:claude": "claude -p '你是一个代码检查工具,请查看与主分支的差异,并报告任何与拼写错误相关的问题。每个问题的文件名和行号要在一行上,描述在第二行。不要返回任何其他文字。'"
  }
}

管道输入输出

通过 Claude 管道传输数据:

cat build-error.txt | claude -p '简明扼要地解释这个构建错误的根本原因' > output.txt

6.10 MCP服务器配置

配置MCP服务器

如果你想通过将 Claude 连接到专用工具和外部服务器来增强其功能,请按以下步骤操作:

  1. 添加 MCP Stdio 服务器:
  1. 管理 MCP 服务器:

小技巧:

连接到Postgres MCP服务器

如果你希望 Claude 具有只读权限来查询 PostgreSQL 数据库和检查架构,按照以下步骤操作:

  1. 添加 Postgres MCP 服务器:
claude mcp add postgres-server /path/to/postgres-mcp-server --connection-string "postgresql://user:pass@localhost:5432/mydb"
  1. 使用 Claude 查询数据库:

小技巧:

7. 进阶特性

7.1 IDE集成

Claude Code 支持连接到主流IDE:

7.2 模型切换和配置

Claude Code 支持 Claude 4 Opus 与 Claude 4 Sonnet 灵活切换:

7.3 上下文管理

Claude Code 支持压缩上下文以节省点数:

7.4 对话恢复

Claude Code 能够恢复以前的对话:

7.5 图像处理

Claude Code 可以处理图像信息:

7.6 深入思考

Claude Code 支持深入思考:

7.7 Git高级操作

Claude Code 支持使用自然语言操作Git,如:

使用Git工作树

您可以使用工作树创建隔离的编码环境:

# 创建带有新分支的工作树
  git worktree add ../project-feature-a -b feature-a

  # 或使用现有分支创建工作树
  git worktree add ../project-bugfix bugfix-123
# 导航到您的工作树
  cd ../project-feature-a

  # 在这个隔离环境中运行Claude Code
  claude

7.8 其他高级功能

Claude Code 支持多种高级功能:

8. 常见问题解决

8.1 存储记忆问题

Claude Code如何存储记忆?

Claude Code 将记忆存储在~/.claude中,如果没有特殊要求,请不要删除此目录。

8.2 模型名称问题

为什么偶尔回复错误的模型名称?

TryAllAI 向您承诺不会替换您请求的模型,绝不掺杂其他模型。这是由于Claude Code在使用简单任务时,不会使用Claude 4 系列模型。

8.3 命令行错误

命令行参数执行错误怎么办?

此类问题在WSL上常见,是Agent自身的错误。我们推荐您使用MacOS/Ubuntu,这类环境往往问题较少。

8.4 清理Claude Code

如何彻底清理Claude Code?

您可以执行以下命令清理Claude Code的登录信息:

8.5 API错误

遇到API Error、Tools Error怎么办?

这通常是网络问题,请您退出后使用claude -c重新执行。如果问题依然存在,请联系售后支持。

8.6 OAuth验证错误

OAuth验证错误的解决方案

8.7 响应超时问题

长时间没有响应怎么办?

9. 结语

Claude Code是一个强大的AI编程助手,通过合理的配置和使用,可以显著提高您的开发效率。建议您:

  1. 从基础功能开始,逐步探索高级特性
  2. 根据项目需求定制配置
  3. 利用CLAUDE.md文件记录项目特定信息
  4. 合理使用权限管理确保安全
  5. 探索MCP和自定义命令扩展功能

祝您使用愉快!如有问题,请参考官方文档或社区支持。