快速开始
通过 curl 安装 (macOS/Linux)
curl -fsSL https://claude.ai/install.sh | bash
通过 Homebrew 安装
brew install --cask claude-code
通过 PowerShell 安装 (Windows)
irm https://claude.ai/install.ps1 | iex
通过 npm 安装
npm install -g @anthropic-ai/claude-code
启动 Claude Code
cd your-project && claude
更新到最新版本
claude update
键盘快捷键
| 快捷键 | 功能 |
|---|
! | Bash 模式前缀 |
@ | 引用文件/文件夹 |
\ | 换行(反斜杠 + Enter) |
Esc | 中断 Claude |
Esc + Esc | 打开重做菜单(撤销更改) |
Ctrl + R | 完整输出/上下文 |
Ctrl + V | 粘贴图片 |
Shift + Tab | 自动接受(yolo 模式) |
Shift + Tab + Tab | 计划模式 |
Cmd + Esc / Ctrl + Esc | 在 IDE 中快速启动 |
配置
设置文件位置(优先级顺序)
- 企业级:
/etc/claude-code/managed-settings.json (最高优先级)
- 项目本地:
.claude/settings.local.json (个人设置,git忽略)
- 项目共享:
.claude/settings.json (团队设置)
- 用户全局:
~/.claude/settings.json (个人默认设置)
配置命令
# 查看所有设置
claude config list
# 获取设置值
claude config get <key>
# 设置配置
claude config set <key> <value>
# 添加到列表设置
claude config add <key> <value>
# 从列表中删除
claude config remove <key> <value>
斜杠命令
内置命令
| 命令 | 描述 |
|---|
/add-dir | 添加额外的工作目录 |
/agents | 管理用于专业任务的自定义 AI 子代理 |
/bug | 报告错误(将对话发送给 Anthropic) |
/clear | 清除对话历史 |
/compact [instructions] | 使用可选焦点指令压缩对话 |
/config | 查看/修改配置 |
/cost | 显示令牌使用统计 |
/doctor | 检查 Claude Code 安装健康状况 |
/help | 获取使用帮助 |
/init | 使用 CLAUDE.md 指南初始化项目 |
/login | 切换 Anthropic 账户 |
/logout | 退出 Anthropic 账户 |
/mcp | 管理 MCP 服务器连接和 OAuth 认证 |
/memory | 编辑 CLAUDE.md 内存文件 |
/model | 选择或更改 AI 模型 |
/permissions | 查看或更新权限 |
/pr_comments | 查看拉取请求评论 |
/review | 请求代码审查 |
/rewind | 回退对话和/或代码(Esc+Esc) |
/sandbox | 启用具有文件系统和网络隔离的沙盒 bash 工具 |
/status | 查看账户和系统状态 |
/terminal-setup | 安装 Shift+Enter 键绑定(iTerm2/VSCode) |
/usage | 显示计划使用限制和速率限制状态 |
/vim | 进入 vim 模式 |
自定义斜杠命令
项目命令:存储在 .claude/commands/(与团队共享)
个人命令:存储在 ~/.claude/commands/(在所有项目中可用)
基础项目命令示例
<!-- 保存为: .claude/commands/optimize.md -->
分析此代码的性能问题并提出优化建议:
Git 提交命令示例
<!-- 保存为: .claude/commands/commit.md -->
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: 创建 git 提交
---
## 上下文
- 当前 git 状态: !`git status`
- 当前 git 差异: !`git diff HEAD`
- 当前分支: !`git branch --show-current`
## 你的任务
根据以上更改,创建一个 git 提交。
代理技能
技能是扩展 Claude 功能的模块化能力。与斜杠命令(用户调用)不同,技能是模型调用的——Claude 根据上下文自主使用它们。
- 位置:
.claude/skills/(项目)或 ~/.claude/skills/(个人)
- 结构: 带有
SKILL.md + 可选脚本和资源的目录
技能模板示例
<!-- 保存为: .claude/skills/commit-helper/SKILL.md -->
---
name: generating-commit-messages
description: 从 git diff 生成清晰的提交消息。在编写提交消息或查看暂存更改时使用。
---
# 生成提交消息
## 说明
1. 运行 `git diff --staged` 查看更改
2. 我会建议一个提交消息:
- 50 个字符以下的摘要
- 详细说明
- 受影响的组件
插件
插件管理命令
| 命令 | 描述 |
|---|
/plugin | 打开插件管理界面 |
/plugin marketplace add <url-or-path> | 添加插件市场 |
/plugin install <name>@<marketplace> | 从市场安装插件 |
/plugin enable <name>@<marketplace> | 启用已禁用的插件 |
/plugin disable <name>@<marketplace> | 禁用插件而不卸载 |
/plugin uninstall <name>@<marketplace> | 完全移除插件 |
MCP 服务器
MCP 管理命令
# 添加带命令的 MCP 服务器
claude mcp add <name> <command> [args...]
# 列出已安装的 MCP 服务器
claude mcp list
# 移除 MCP 服务器
claude mcp remove <name>
热门 MCP 集成
# GitHub
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
# Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Figma
claude mcp add --transport http figma https://mcp.figma.com/mcp
# Linear
claude mcp add --transport http linear https://mcp.linear.app/mcp
# Sentry
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
# Stripe
claude mcp add --transport http stripe https://mcp.stripe.com
# Vercel
claude mcp add --transport http vercel https://mcp.vercel.com/
# Supabase
claude mcp add --transport stdio supabase --env SUPABASE_ACCESS_TOKEN=YOUR_TOKEN -- npx -y @supabase/mcp-server-supabase@latest
# Playwright(浏览器自动化)
claude mcp add --transport stdio playwright -- npx @playwright/mcp@latest
# Puppeteer
claude mcp add --transport stdio puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
子代理
为什么使用子代理?
- 上下文保留:每个子代理与主对话有单独的上下文
- 专业知识:针对特定领域和任务的微调提示
- 可重用工作流程:跨项目和团队共享子代理
- 工具控制:为安全起见,为每个子代理授予特定工具访问权限
子代理位置
- 项目子代理:
.claude/agents/(最高优先级,团队共享)
- 用户子代理:
~/.claude/agents/(个人,所有项目)
子代理模板示例
<!-- 保存为: .claude/agents/code-reviewer.md -->
---
name: code-reviewer
description: 专业代码审查专家。主动审查代码的质量、安全性和可维护性。
tools: Read, Grep, Glob, Bash
model: inherit
---
您是一位高级代码审查员,确保高标准的代码质量和安全性。
调用时:
1. 运行 git diff 查看最近的更改
2. 关注修改的文件
3. 立即开始审查
审查清单:
- 代码简单易读
- 函数和变量命名良好
- 没有重复代码
- 适当的错误处理
- 没有暴露的秘密或 API 密钥
- 实现了输入验证
- 良好的测试覆盖率
- 考虑了性能
权限与安全
权限模板
基础安全
{
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git status)",
"Bash(git diff)",
"Bash(git add *)",
"Bash(git commit *)"
],
"ask": [
"Bash(git push:*)",
"Bash(npm install *)"
],
"deny": [
"Read(./.env*)",
"Read(./secrets/**)",
"Read(./**/credentials*)",
"Bash(rm -rf:*)",
"Bash(curl:*)"
]
}
}
严格安全
{
"permissions": {
"ask": [
"Bash(*)",
"Write(*)",
"Edit(*)"
],
"deny": [
"Read(./.env*)",
"Read(./secrets/**)",
"Read(./config/**)",
"Read(./**/credentials*)",
"Read(./**/*.key)",
"Read(./**/*.pem)",
"WebFetch",
"Bash(curl:*)",
"Bash(wget:*)",
"Bash(ssh:*)"
]
}
}
钩子
钩子事件
| 事件 | 描述 |
|---|
PreToolUse | 在工具调用之前运行(可以阻止它们) |
PostToolUse | 工具调用完成后运行 |
UserPromptSubmit | 用户提交提示时运行 |
Notification | Claude Code 发送通知时运行 |
Stop | Claude Code 完成响应时运行 |
SubagentStop | 子代理任务完成时运行 |
PreCompact | 压缩操作之前运行 |
SessionStart | Claude Code 启动/恢复会话时运行 |
SessionEnd | Claude Code 会话结束时运行 |
钩子示例:自动格式化代码
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $FILE_PATH"
}
]
}
]
}
}
钩子示例:记录活动
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "echo \"$(date): $CONVERSATION_SUMMARY\" >> ~/.claude/activity.log"
}
]
}
]
}
}
无头模式
关键无头命令
# 非交互模式
claude -p "query"
# JSON 格式输出
claude -p --output-format json "query"
# 流式 JSON
claude -p --output-format stream-json "query"
# 继续对话
claude -c -p "query"
# 恢复会话
claude --resume <id> -p "query"
# 管道输入
echo "query" | claude -p
# 详细日志
claude --verbose -p "query"
# 限制轮数
claude --max-turns 3 -p "query"
实际示例
# SRE 事件响应
claude -p "分析这些错误" \
--append-system-prompt "你是 SRE 专家" \
--output-format json \
--allowedTools "Bash,Read,mcp__datadog"
# 安全审计
gh pr diff 123 | claude -p \
--append-system-prompt "你是安全工程师" \
--output-format json \
--allowedTools "Read,Grep" > audit.json
# 多轮会话
session_id=$(claude -p "开始审查" --output-format json | jq -r '.session_id')
claude --resume "$session_id" -p "检查合规性"
claude --resume "$session_id" -p "生成摘要"
Git 工作树
基本工作树命令
# 使用现有分支创建工作树
git worktree add <path> <branch>
# 使用新分支创建工作树
git worktree add <path> -b <branch> <start-point>
# 列出所有工作树
git worktree list
# 移除工作树
git worktree remove <path>
# 清理工作树引用
git worktree prune
# 移动工作树
git worktree move <worktree> <new-path>
工作流程示例
# 并行功能开发
git worktree add ../myapp-auth -b feature/auth main
git worktree add ../myapp-api -b feature/api main
cd ../myapp-auth && claude
cd ../myapp-api && claude
# 开发时修复错误
git worktree add ../myapp-hotfix -b hotfix/critical main
cd ../myapp-hotfix
claude "修复关键错误"
检查点
回退命令
| 快捷键/命令 | 功能 |
|---|
Esc + Esc | 打开回退菜单以恢复以前的状态 |
/rewind | 通过斜杠命令打开回退菜单 |
回退选项
- 自动跟踪:每个用户提示都会创建一个新检查点
- 对话回退:恢复到以前的用户消息,同时保留代码
- 代码回退:还原文件更改,同时保留对话
- 完全回退:将代码和对话都恢复到之前的状态
CLI 命令参考
| 命令 | 描述 | 示例 |
|---|
claude | 启动交互式 REPL | claude |
claude "query" | 使用提示启动 REPL | claude "解释此项目" |
claude -p "query" | 打印模式,执行后退出 | claude -p "解释函数" |
claude -c | 继续最近的对话 | claude -c |
claude -r "id" "query" | 通过 ID 恢复会话 | claude -r "abc123" "完成PR" |
claude update | 更新到最新版本 | claude update |
claude mcp | 配置 MCP 服务器 | claude mcp |
CLI 标志参考
| 标志 | 描述 | 示例 |
|---|
--model | 指定模型 | --model sonnet |
--add-dir | 添加工作目录 | --add-dir ../apps ../lib |
--allowedTools | 无需提示允许工具 | --allowedTools "Bash(git:*)" |
--disallowedTools | 禁止特定工具 | --disallowedTools "Bash(rm:*)" |
--output-format | 设置输出格式 | --output-format json |
--max-turns | 限制对话轮数 | --max-turns 3 |
--verbose | 启用详细日志 | --verbose |
--dangerously-skip-permissions | 跳过所有权限提示 | --dangerously-skip-permissions |
最佳实践
性能提示
- 在任务之间频繁使用
/clear 清除不必要的上下文
- 使用
--max-turns 限制对话轮数以保持聚焦
- 长对话使用
/compact 压缩对话历史
- 使用
--allowedTools 明确指定需要的工具
安全提示
- 避免
--dangerously-skip-permissions,始终审查工具权限
- 使用
--disallowedTools 禁止危险命令如 rm、sudo、chmod
- 定期审查工具权限配置
- 保持 Claude Code 更新以获取安全修复
工作流提示
- 在
.claude/commands/ 中创建常用命令
- 使用
--output-format json 用于自动化脚本和集成
- 管道命令处理复杂工作流
- 使用会话 ID 处理长任务
故障排除
安装问题
# 检查版本
claude --version
# 健康检查
claude /doctor
# 重新安装
npm uninstall -g @anthropic-ai/claude-code && npm install -g @anthropic-ai/claude-code
性能问题
# 清除上下文
/clear
# 限制上下文大小
claude -p --max-turns 3 "聚焦查询"
# 使用紧凑模式
/compact "只保留必要内容"
权限问题
# 列出权限
claude --list-permissions
# 重置权限
claude --reset-permissions
# 配置特定权限
claude --allowedTools "Bash(git:*)" --disallowedTools "Bash(rm:*)"
常见错误解决方案
错误: “无法连接到API”
- 检查网络连接
- 验证 API 密钥配置
- 检查防火墙设置
- 运行
claude /doctor 进行诊断
错误: “权限被拒绝”
- 检查工具权限配置
- 使用
--allowedTools 明确授予权限
- 审查
.claude/settings.json
- 重置权限:
claude --reset-permissions
错误: “上下文太大”
- 使用
/clear 清除对话历史
- 使用
/compact 压缩上下文
- 使用
--max-turns 限制轮数