Claude Code 使用说明与最佳实践:从入门到精通的完整指南
Claude Code 是 Anthropic 推出的 AI 编程助手,能够读取代码库、编辑文件、运行命令,并与开发工具深度集成。它支持终端、IDE、桌面应用和浏览器等多种环境,为开发者提供全方位的 AI 辅助编程体验。
本文将从安装配置到高级技巧,系统介绍 Claude Code 的使用方法和最佳实践,帮助你从入门走向精通。
第一部分:概述与快速入门
1. Claude Code 是什么
Claude Code 是一个 代理式编程工具(Agentic Coding Tool),与传统的聊天式 AI 助手不同,它能够自主地读取文件、执行命令、修改代码,并在整个开发流程中持续工作。
核心能力:
-
代码理解:能够读取和理解整个代码库的结构 -
文件操作:创建、编辑、删除文件 -
命令执行:运行 shell 命令、测试、构建 -
Git 集成:提交代码、创建 PR、处理分支 -
工具连接:通过 MCP 协议连接外部工具和服务
支持环境:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. 安装与配置
2.1 终端 CLI 安装
macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Windows CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
其他安装方式:
# Homebrew (macOS/Linux)
brew install --cask claude-code
# WinGet (Windows)
winget install Anthropic.ClaudeCode
注意:原生安装会自动后台更新。Homebrew 和 WinGet 安装需要手动更新:
Homebrew: brew upgrade claude-codeWinGet: winget upgrade Anthropic.ClaudeCode
2.2 VS Code 扩展安装
在 VS Code 扩展市场搜索 “Claude Code” 并安装,或使用命令:
code --install-extension anthropic.claude-code
安装后,通过命令面板(Cmd+Shift+P / Ctrl+Shift+P)选择 “Claude Code: Open in New Tab” 启动。
2.3 JetBrains 插件安装
从 JetBrains Marketplace 安装 Claude Code 插件,重启 IDE 即可使用。
2.4 桌面应用安装
下载地址:
-
macOS(Intel 和 Apple Silicon) -
Windows(x64)
2.5 认证配置
首次启动时会提示登录 Anthropic 账号。也可以通过命令行管理认证:
claude auth login # 登录
claude auth logout# 登出
claude auth status # 查看状态
3. 快速开始
3.1 启动 Claude Code
cd your-project
claude
3.2 第一次对话
启动后,你可以直接用自然语言描述任务:
> 帮我分析这个项目的结构,告诉我它使用了哪些技术栈
Claude 会自动读取项目文件,分析代码结构,并给出详细的回答。
3.3 基础命令
|
|
|
|---|---|
/help |
|
/clear |
|
/cost |
|
/model |
|
/exit |
|
第二部分:核心功能详解
4. 交互模式
Claude Code 支持两种主要的执行模式:
4.1 交互模式
直接运行 claude 启动交互式会话,支持:
-
实时对话 -
文件编辑预览 -
命令执行确认 -
会话管理
4.2 非交互模式
使用 -p 标志运行单次查询,适合脚本和自动化:
# 基本查询
claude -p "解释这个项目的作用"
# JSON 输出
claude -p "列出所有 API 端点" --output-format json
# 流式输出
claude -p "分析这个日志文件" --output-format stream-json
4.3 管道输入
支持 Unix 管道风格的数据流:
# 分析错误日志
cat error.log | claude -p "解释这个错误的原因"
# 代码审查
git diff main | claude -p "审查这些代码变更"
5. 文件操作
5.1 使用 @ 引用文件
使用 @ 符号直接引用文件,Claude 会自动读取内容:
> 解释 @src/utils/auth.js 中的逻辑
也可以引用目录:
> @src/components 目录的结构是什么?
5.2 文件编辑
Claude 可以直接编辑文件,支持:
-
精确的字符串替换 -
增量编辑 -
多文件同时修改
编辑前会显示差异预览,确认后才执行修改。
5.3 拖放和粘贴
支持直接拖放或粘贴图片到对话中,用于:
-
UI 设计参考 -
错误截图分析 -
架构图讨论
6. 命令执行
6.1 Bash 工具
Claude 可以执行 shell 命令:
# 运行测试
npm test
# 构建项目
docker build .
# 查看日志
git log --oneline -10
6.2 权限管理
默认情况下,修改操作需要用户确认。可以通过配置减少确认次数:
// .claude/settings.json
{
"permissions": {
"allow": ["Edit(*)", "Write(*)", "Bash(npm run *)"],
"ask": ["Bash(rm *)", "Bash(docker *)"],
"deny": []
}
}
三种权限模式:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
使用 Shift+Tab 可在会话中切换模式。
6.3 安全沙盒
启用沙盒模式可以限制文件系统和网络访问:
claude --sandbox
7. 上下文管理
7.1 CLAUDE.md 配置文件
CLAUDE.md 是项目根目录下的特殊文件,Claude 每次会话启动时会自动读取。
示例:
# 项目说明
这是一个 React + TypeScript 项目。
## 技术栈
- React 18
- TypeScript 5
- Vite
- Tailwind CSS
## 代码规范
- 使用 ES modules (import/export)
- 组件使用 PascalCase 命名
- 测试文件与源文件同目录
## 常用命令
- `npm run dev` - 启动开发服务器
- `npm run build` - 构建生产版本
- `npm test` - 运行测试
CLAUDE.md 最佳实践:
-
保持简洁(建议 200 行以内) -
只包含 Claude 无法从代码推断的信息 -
定期审查和更新 -
提交到 Git 以便团队共享
7.2 自动记忆系统
Claude 会在工作过程中自动记录:
-
构建命令和配置 -
调试过程中的发现 -
项目特定的模式
这些记忆会跨会话保存,无需手动编写。
7.3 上下文窗口优化
上下文窗口是 Claude Code 最重要的资源。随着对话进行,窗口会被填满,影响性能。
优化策略:
-
使用 /clear在不相关任务间重置上下文 -
使用 /compact压缩历史对话 -
使用子代理进行独立调查 -
避免在单个会话中处理不相关的任务
第三部分:最佳实践
8. Prompt 工程
8.1 提供验证标准
Claude 在能够自我验证时表现更好:
❌ "实现一个验证邮箱的函数"
✅ "写一个 validateEmail 函数。测试用例:
- user@example.com → true
- invalid → false
- user@.com → false
实现后运行测试"
8.2 先探索后计划再编码
推荐的工作流程:
-
探索阶段:使用 Plan Mode 了解代码库 -
计划阶段:让 Claude 制定实现方案 -
实现阶段:切换回 Normal Mode 执行 -
验证阶段:运行测试并提交
> [Plan Mode] 阅读 /src/auth 目录,理解会话处理机制
> [Plan Mode] 我想添加 Google OAuth,需要修改哪些文件?制定一个计划
> [Normal Mode] 按照计划实现 OAuth 流程,为回调处理器编写测试
8.3 提供具体上下文
精确的指令能减少修正次数:
❌ "给 foo.py 添加测试"
✅ "为 foo.py 编写测试,覆盖用户登出的边界情况,不要使用 mock"
8.4 使用 @ 引用文件
直接引用文件而不是描述位置:
> 解释 @src/services/userService.ts 中的错误处理逻辑
9. 环境配置
9.1 编写有效的 CLAUDE.md
应该包含:
-
Claude 无法猜测的 Bash 命令 -
与默认不同的代码风格规则 -
测试指令和首选测试运行器 -
仓库规范(分支命名、PR 约定) -
项目特定的架构决策 -
开发环境的特殊要求
不应该包含:
-
Claude 通过阅读代码能推断的信息 -
标准语言约定 -
详细的 API 文档(链接即可) -
频繁变化的信息 -
冗长的解释或教程
9.2 配置权限白名单
减少确认弹窗:
{
"permissions": {
"allow": [
"Edit(*)",
"Write(*)",
"Bash(npm run *)",
"Bash(git *)"
],
"ask": [
"Bash(rm *)",
"Bash(docker *)"
],
"deny": []
}
}
9.3 使用 CLI 工具
Claude 擅长使用 CLI 工具与外部服务交互:
# GitHub CLI
claude "创建一个 PR 来修复登录 bug"
# AWS CLI
claude "查看 S3 存储桶列表"
# Sentry CLI
claude "分析最近的错误报告"
9.4 连接 MCP 服务器
通过 MCP 协议连接外部工具:
claude mcp add notion -- npx @anthropic/notion-mcp
9.5 设置 Hooks
在特定事件发生时自动执行脚本:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "npm run lint --fix"
}
]
}
]
}
}
9.6 创建技能(Skills)
创建可复用的工作流:
// .claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: 修复 GitHub issue
---
分析并修复 GitHub issue: $ARGUMENTS
1. 使用 `gh issue view` 获取 issue 详情
2. 理解问题描述
3. 搜索相关代码文件
4. 实现必要的修复
5. 编写并运行测试
6. 确保代码通过 lint 和类型检查
7. 创建描述性的提交信息
8. 推送并创建 PR
使用:/fix-issue 1234
10. 模型配置
Claude Code 支持多种模型选择和配置方式,帮助你根据任务需求和预算选择合适的模型。
10.1 模型别名
模型别名提供了便捷的模型选择方式,无需记忆具体版本号:
|
|
|
|---|---|
default |
|
best |
opus |
sonnet |
|
opus |
|
haiku |
|
sonnet[1m] |
|
opus[1m] |
|
opusplan |
|
10.2 设置模型
模型设置按优先级从高到低:
-
会话中设置:使用 /model <别名或名称>立即切换 -
启动时设置:使用 claude --model <别名或名称> -
环境变量:设置 ANTHROPIC_MODEL=<别名或名称> -
配置文件:在设置文件中配置 model字段
# 使用 Opus 启动
claude --model opus
# 在会话中切换到 Sonnet
/model sonnet
配置文件示例:
{
"permissions": { ... },
"model": "opus"
}
10.3 调整思考深度(Effort Level)
思考深度控制模型在每一步的推理投入程度:
|
|
|
|---|---|
|
|
low
medium, high, xhigh, max |
|
|
low
medium, high, max |
级别说明:
|
|
|
|---|---|
low |
|
medium |
|
high |
|
xhigh |
|
max |
|
设置方式:
# 交互式调整
/effort
# 直接设置级别
/effort high
# 启动时设置
claude --effort high
10.4 上下文窗口
Opus 4.7、Opus 4.6 和 Sonnet 4.6 支持 100 万 token 的扩展上下文窗口:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
使用 1M 上下文:
/model opus[1m]
/model sonnet[1m]
/model claude-opus-4-7[1m]
10.5 模型配置环境变量
|
|
|
|---|---|
ANTHROPIC_MODEL |
|
ANTHROPIC_AUTH_TOKEN |
|
ANTHROPIC_BASE_URL |
|
ANTHROPIC_DEFAULT_OPUS_MODEL |
opus 别名对应的模型 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
sonnet 别名对应的模型 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
haiku 别名对应的模型 |
CLAUDE_CODE_SUBAGENT_MODEL |
|
CLAUDE_CODE_EFFORT_LEVEL |
|
CLAUDE_CODE_USE_FOUNDRY |
|
MAX_THINKING_TOKENS |
|
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING |
1 禁用自适应推理 |
# 使用 Sonnet 作为默认模型
export ANTHROPIC_MODEL=sonnet
# 设置 Opus 4.7 为 Opus 别名
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
# 设置思考深度为 high
export CLAUDE_CODE_EFFORT_LEVEL=high
10.6 提示缓存配置
提示缓存可以优化性能和降低成本:
|
|
|
|---|---|
DISABLE_PROMPT_CACHING |
1 禁用所有模型的提示缓存 |
DISABLE_PROMPT_CACHING_HAIKU |
|
DISABLE_PROMPT_CACHING_SONNET |
|
DISABLE_PROMPT_CACHING_OPUS |
|
10.7 配置第三方模型
Claude Code 支持通过环境变量或配置文件连接第三方模型服务。
配置方式说明:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
配置文件位置:
|
|
|
|
|---|---|---|
~/.claude/settings.json |
|
|
./.claude/settings.json |
|
|
./.claude/settings.local.json |
|
|
10.7.1 使用 Anthropic API 直接连接
环境变量方式:
export ANTHROPIC_API_KEY=your-api-key
export ANTHROPIC_BASE_URL=https://your-gateway.com # 可选
配置文件方式:
// .claude/settings.json
{
"env": {
"ANTHROPIC_API_KEY": "your-api-key",
"ANTHROPIC_BASE_URL": "https://your-gateway.com"
}
}
10.7.2 使用 Amazon Bedrock
环境变量方式:
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=your-access-key # 可选
export AWS_SECRET_ACCESS_KEY=your-secret-key # 可选
配置文件方式:
// .claude/settings.json
{
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"AWS_REGION": "us-east-1",
"AWS_ACCESS_KEY_ID": "your-access-key",
"AWS_SECRET_ACCESS_KEY": "your-secret-key"
}
}
10.7.3 使用 Google Vertex AI
环境变量方式:
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
export ANTHROPIC_VERTEX_PROJECT_ID=your-project-id
配置文件方式:
// .claude/settings.json
{
"env": {
"CLAUDE_CODE_USE_VERTEX": "1",
"CLOUD_ML_REGION": "us-east5",
"ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"
}
}
10.7.4 使用 Microsoft Foundry
环境变量方式:
export CLAUDE_CODE_USE_FOUNDRY=1
export ANTHROPIC_FOUNDRY_RESOURCE=your-resource
export ANTHROPIC_FOUNDRY_API_KEY=your-api-key
配置文件方式:
// .claude/settings.json
{
"env": {
"CLAUDE_CODE_USE_FOUNDRY": "1",
"ANTHROPIC_FOUNDRY_RESOURCE": "your-resource",
"ANTHROPIC_FOUNDRY_API_KEY": "your-api-key"
}
}
10.7.5 通过 LLM 网关配置
环境变量方式:
export ANTHROPIC_BASE_URL=https://your-llm-gateway.com
export ANTHROPIC_AUTH_TOKEN=your-gateway-token # 网关处理认证时
配置文件方式:
// .claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://your-llm-gateway.com",
"ANTHROPIC_AUTH_TOKEN": "your-gateway-token"
}
}
10.7.6 使用 LiteLLM 代理
环境变量方式:
export ANTHROPIC_BASE_URL=https://litellm-server:4000
export ANTHROPIC_AUTH_TOKEN=sk-litellm-key
配置文件方式:
// .claude/settings.json
{
"env": {
"ANTHROPIC_BASE_URL": "https://litellm-server:4000",
"ANTHROPIC_AUTH_TOKEN": "sk-litellm-key"
}
}
10.7.7 添加自定义模型到选择器
环境变量方式:
export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/custom-model"
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="自定义模型"
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="通过网关路由的自定义模型"
配置文件方式:
// .claude/settings.json
{
"env": {
"ANTHROPIC_CUSTOM_MODEL_OPTION": "my-gateway/custom-model",
"ANTHROPIC_CUSTOM_MODEL_OPTION_NAME": "自定义模型",
"ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION": "通过网关路由的自定义模型"
}
}
10.7.8 配置模型覆盖(modelOverrides)
在设置文件中配置模型 ID 映射,将标准模型名映射到提供商特定的 ID:
// .claude/settings.json
{
"modelOverrides": {
"claude-opus-4-7": "arn:aws:bedrock:us-east-2:123456789012:inference-profile/opus",
"claude-sonnet-4-6": "arn:aws:bedrock:us-east-2:123456789012:inference-profile/sonnet",
"claude-haiku-4-5": "arn:aws:bedrock:us-east-2:123456789012:inference-profile/haiku"
}
}
10.7.9 固定模型版本
为避免自动更新导致兼容性问题,建议固定模型版本:
环境变量方式:
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5
配置文件方式:
// .claude/settings.json
{
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
10.7.10 限制可用模型
企业管理员可以限制用户可选择的模型:
// .claude/settings.json
{
"availableModels": ["sonnet", "haiku"]
}
10.7.11 完整配置示例
以下是几个常见的多模型配置示例:
示例 1:通过 LLM 网关配置多个模型
// .claude/settings.json
{
"model": "opus",
"env": {
"ANTHROPIC_BASE_URL": "https://your-llm-gateway.com",
"ANTHROPIC_AUTH_TOKEN": "your-api-key",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
},
"modelOverrides": {
"claude-opus-4-7": "custom-endpoint/opus-prod",
"claude-sonnet-4-6": "custom-endpoint/sonnet-prod",
"claude-haiku-4-5": "custom-endpoint/haiku-prod"
},
"availableModels": ["opus", "sonnet", "haiku"]
}
示例 2:通过 Amazon Bedrock 配置多个模型
// .claude/settings.json
{
"model": "sonnet",
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"AWS_REGION": "us-east-1",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "us.anthropic.claude-opus-4-7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "us.anthropic.claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "us.anthropic.claude-haiku-4-5"
}
}
示例 3:通过 Google Vertex AI 配置多个模型
// .claude/settings.json
{
"model": "sonnet",
"env": {
"CLAUDE_CODE_USE_VERTEX": "1",
"CLOUD_ML_REGION": "us-east5",
"ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
示例 4:限制可用模型 + 固定版本
// .claude/settings.json
{
"model": "sonnet",
"availableModels": ["sonnet", "haiku"],
"env": {
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
示例 5:多层级配置(用户级 + 项目级)
用户级配置 ~/.claude/settings.json(全局生效):
{
"env": {
"ANTHROPIC_API_KEY": "your-api-key",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
项目级配置 ./.claude/settings.json(仅当前项目):
{
"model": "opus",
"env": {
"ANTHROPIC_BASE_URL": "https://project-specific-gateway.com"
},
"availableModels": ["opus", "sonnet"]
}
提示:使用
/status命令验证模型配置是否正确应用。
11. 会话管理
11.1 及时纠正方向
当 Claude 偏离方向时,立即纠正:
-
Esc:停止当前操作,保留上下文 -
Esc + Esc或/rewind:回退到之前的检查点 -
"撤销那个操作":让 Claude 撤销更改
如果纠正超过两次,使用 /clear 重新开始。
11.2 积极管理上下文
/clear # 在不相关任务间重置
/compact # 压缩历史对话
/compact 专注 API 变更 # 带指令的压缩
11.3 使用子代理进行调查
子代理在独立上下文中运行,不会污染主会话:
> 使用子代理调查我们的认证系统如何处理令牌刷新
> 用子代理审查这段代码的边界情况
11.4 检查点回退
每个 Claude 操作都会创建检查点:
-
双击 Esc或运行/rewind打开回退菜单 -
可以恢复对话、代码或两者 -
检查点跨会话持久化
第四部分:高级技巧
12. 自动化与扩展
12.1 非交互模式
在 CI/CD、预提交钩子或脚本中使用:
# 单次查询
claude -p "解释这个项目的作用"
# 结构化输出
claude -p "列出所有 API 端点" --output-format json
# 在 CI 中使用
git diff main --name-only | claude -p "审查这些变更的文件"
12.2 并行会话
三种并行方式:
-
桌面应用:可视化管理多个本地会话 -
Web 版:在 Anthropic 云基础设施上运行 -
Agent Teams:自动协调多个会话
Writer/Reviewer 模式:
|
|
|
|---|---|
|
|
|
|
|
12.3 Git Worktrees
使用 --worktree 创建隔离的工作副本:
# 创建命名的 worktree
claude --worktree feature-auth
# 自动命名
claude --worktree
worktree 创建在 .claude/worktrees/ 目录下,完成后自动清理。
12.4 定时任务
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
/loop |
|
|
13. 高级配置
13.1 自定义子代理
创建专门的子代理:
// .claude/agents/security-reviewer.md
---
name: security-reviewer
description: 审查代码安全漏洞
tools: Read, Grep, Glob, Bash
model: opus
---
你是一名高级安全工程师。审查代码中的:
- 注入漏洞(SQL、XSS、命令注入)
- 认证和授权缺陷
- 代码中的密钥或凭证
- 不安全的数据处理
提供具体的行号引用和修复建议。
使用:
> 使用子代理审查这个代码的安全问题
13.2 自定义命令
创建可复用的斜杠命令:
// .claude/commands/review-pr.md
---
description: 审查 PR 代码
---
审查 PR #$ARGUMENTS 的代码变更:
1. 获取 PR 详情和变更文件
2. 分析代码质量和潜在问题
3. 检查测试覆盖
4. 验证文档更新
5. 提供具体的改进建议
使用:/review-pr 123
13.3 插件系统
通过 /plugin 浏览和安装社区插件:
-
Code Intelligence:提供精确的符号导航和自动错误检测 -
Security Scanner:安全漏洞扫描 -
Testing:测试生成和覆盖率分析
14. 工作流集成
14.1 Git 工作流
Claude 深度集成 Git:
# 提交变更
claude "提交我的更改,使用描述性的提交信息"
# 创建 PR
claude "创建一个 PR 来修复登录 bug"
# 处理冲突
claude "解决这些合并冲突"
14.2 CI/CD 集成
GitHub Actions 示例:
name: Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Claude Code Review
run: |
claude -p "审查这个 PR 的代码变更,关注安全问题和代码质量"
14.3 多设备协作
远程控制:
# 从手机继续本地会话
# 在 claude.ai/code 中打开
会话传输:
# 将 Web 会话拉取到终端
claude --teleport session-id
第五部分:常见问题与故障排除
15. 常见问题解答
Q1: 权限确认太频繁怎么办?
解决方案:
-
启用 Auto Mode: Shift+Tab切换 -
配置权限白名单:编辑 .claude/settings.json -
使用沙盒模式: claude --sandbox
Q2: 上下文窗口满了怎么办?
解决方案:
-
使用 /clear重置上下文 -
使用 /compact压缩历史 -
使用子代理处理独立任务 -
在不相关任务间及时清理
Q3: Claude 执行操作太慢?
优化方法:
-
使用 /effort调整思考深度 -
使用 /fast切换快速模式 -
减少 CLAUDE.md 的长度 -
避免在单个会话中处理过多任务
Q4: 如何控制成本?
成本控制方法:
-
使用 /cost查看当前消耗 -
使用 --max-budget-usd设置预算上限 -
使用 Sonnet 模型处理简单任务 -
避免不必要的上下文积累
Q5: Claude 忽略了我的 CLAUDE.md 指令?
排查步骤:
-
检查文件长度(建议 200 行以内) -
使用强调语法(如 “IMPORTANT”) -
运行 /context查看实际加载的内容 -
考虑将指令转换为 Hooks
16. 故障排除
安装问题
# 检查版本
claude --version
# 重新安装
curl -fsSL https://claude.ai/install.sh | bash
# 查看日志
claude --debug
认证问题
# 重新登录
claude auth logout
claude auth login
# 检查状态
claude auth status
连接问题
# 检查网络
claude --debug
# 使用代理
export https_proxy=http://proxy:port
claude
附录
A. 命令参考
内置命令
|
|
|
|---|---|
/help |
|
/clear |
|
/compact |
|
/cost |
|
/diff |
|
/exit |
|
/hooks |
|
/init |
|
/memory |
|
/model |
|
/permissions |
|
/plan |
|
/rename |
|
/resume |
|
/rewind |
|
/status |
|
/theme |
|
CLI 标志
|
|
|
|---|---|
-p, --print |
|
-c, --continue |
|
-r, --resume |
|
-n, --name |
|
-m, --model |
|
-w, --worktree |
|
--permission-mode |
|
--output-format |
|
--max-budget-usd |
|
B. 环境变量
|
|
|
|---|---|
ANTHROPIC_API_KEY |
|
ANTHROPIC_AUTH_TOKEN |
|
ANTHROPIC_MODEL |
|
ANTHROPIC_BASE_URL |
|
ANTHROPIC_DEFAULT_OPUS_MODEL |
opus
|
ANTHROPIC_DEFAULT_SONNET_MODEL |
sonnet
|
ANTHROPIC_DEFAULT_HAIKU_MODEL |
haiku
|
CLAUDE_CODE_USE_BEDROCK |
|
CLAUDE_CODE_USE_VERTEX |
|
CLAUDE_CODE_USE_FOUNDRY |
|
CLAUDE_CODE_EFFORT_LEVEL |
|
CLAUDE_CODE_SUBAGENT_MODEL |
|
MAX_THINKING_TOKENS |
|
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING |
1 禁用自适应推理 |
C. 配置文件位置
|
|
|
|---|---|
~/.claude/CLAUDE.md |
|
./CLAUDE.md |
|
./CLAUDE.local.md |
|
./.claude/settings.json |
|
~/.claude/settings.json |
|
总结
Claude Code 是一个功能强大的 AI 编程助手,掌握其使用方法和最佳实践能够显著提升开发效率。
核心要点:
-
环境配置:编写有效的 CLAUDE.md,配置合适的权限 -
Prompt 工程:提供验证标准,先探索后编码 -
上下文管理:积极清理,使用子代理 -
自动化:利用非交互模式和并行会话 -
持续优化:根据反馈调整工作流
工具的上限取决于使用方式。通过系统化的配置和实践,你可以将 Claude Code 变成真正可持续的生产力工具。
参考文档:
-
Claude Code 官方文档 -
Best Practices for Claude Code -
Common Workflows
夜雨聆风