SECTOR 05 / KNOWLEDGE EXPEDITION

Claude Code 入门细致讲解

从安装配置到项目实战,全面掌握 Claude Code CLI 的核心功能与开发技巧

01

Claude Code 安装与首次配置

EXPLORE +

什么是 Claude Code?

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,直接在终端中与 Claude 协作编程。它不是一个简单的聊天工具——它能读取整个项目、编辑文件、执行命令、管理 Git,是一个真正的 AI 编程搭档。

安装步骤

# Windows (PowerShell 管理员模式)
npm install -g @anthropic-ai/claude-code

# macOS / Linux
curl -fsSL https://claude.ai/install.sh | bash

# 首次启动
claude

认证配置

# 方式一:OAuth 登录(推荐)
claude login

# 方式二:API Key 配置
# 创建 ~/.claude.json 或在项目 .claude/settings.json 中:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-ant-...",
"ANTHROPIC_BASE_URL": "https://api.anthropic.com"
}
}

# 方式三:通过第三方 API(如 DeepSeek)
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-...",
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro"
}
}

验证安装

claude --version
claude --help
# 在项目目录启动:
cd my-project && claude

关键配置项

  • 模型选择:--model 或 settings.json 中的 model 字段
  • 权限控制:settings.json 中的 permissions 配置(allow/deny/ask)
  • 语言设置:language 字段设为 "chinese"
02

核心命令与斜杠指令

EXPLORE +

启动与基础命令

# 在项目目录启动
claude # 交互模式
claude -p "解释这个项目" # 单次提问
claude -p "修复 login 的 bug" --model opus # 指定模型
claude --resume # 恢复上次会话

# 管道模式
cat error.log | claude -p "分析这些错误"
git diff | claude -p "review 这些改动"

核心斜杠命令

命令功能使用场景
/help查看帮助任何时候
/clear清空对话上下文切换话题
/compact压缩上下文总结长对话节省 token
/init初始化项目 CLAUDE.md新项目配置
/review代码审查提交前检查
/model切换模型不同任务选不同模型
/cost查看 token 消耗成本控制
/add-dir添加工作目录多目录项目
/permissions管理权限安全配置

对话技巧

  • @文件名 引用特定文件让 Claude 聚焦
  • Shift+Enter 多行输入
  • Ctrl+C 中断当前操作
  • Ctrl+R 搜索历史命令
03

Hooks 系统:事件驱动的自动化

EXPLORE +

什么是 Hooks?

Hooks 是 Claude Code 的事件驱动扩展机制。在特定事件发生时自动触发自定义脚本或 Prompt,实现工作流自动化。类似于 Git Hooks 但作用于 Claude Code 的操作生命周期。

Hook 事件类型

// .claude/settings.json
{
"hooks": {
"PreToolUse": [{ // 工具执行前
"matcher": "Bash", // 仅匹配 Bash 工具
"command": "安全检查脚本"
}],
"PostToolUse": [{ // 工具执行后
"matcher": "Write",
"command": "自动格式化代码"
}],
"UserPromptSubmit": [{ // 用户提问前
"prompt": "请使用中文回答,代码注释也用中文"
}],
"PreCompact": [{ // 上下文压缩前
"command": "备份对话历史"
}]
}
}

实战:安全防护 Hook

// 阻止危险操作
{
"PreToolUse": [{
"matcher": "Bash",
"command": "bash -c 'cmd=$(cat | jq -r .tool_input.command); if echo \"$cmd\" | grep -Eq \"rm -rf |git push.*--force\"; then echo '{\"block\":true}'; else echo '{}'; fi'"
}]
}

实战:自动代码格式化

{
"PostToolUse": [{
"matcher": "Write",
"command": "bash -c 'file=$(cat | jq -r .tool_input.path); case $file in *.py) black $file ;; *.js) prettier --write $file ;; esac'"
}]
}
04

Skills 开发:自定义技能体系

EXPLORE +

Skills 是什么?

Skills 是 Claude Code 的可复用专业能力模块——将特定领域的知识、工作流程和最佳实践封装为可加载的「技能卡」。当 Claude 识别到任务匹配时,自动加载相应 Skill 的完整上下文。

Skill 文件结构

# .claude/skills/my-skill.md
---
name: code-review
description: 代码审查专用技能
---

# Code Review Skill

## 审查维度
1. 正确性:逻辑是否有 bug?边界条件是否处理?
2. 安全:是否有注入风险?权限检查是否完整?
3. 性能:N+1 查询?不必要的循环?
4. 可维护性:命名是否清晰?是否有足够的注释?

## 审查流程
1. 先读取所有改动的文件
2. 按照以上4个维度逐一检查
3. 按严重程度排序输出发现的问题
4. 对每个问题给出具体修复建议

创建 Skill 的命令

# 直接让 Claude 创建
> 帮我创建一个 review-python 技能,用于审查 Python 代码

# 手动创建文件
mkdir -p .claude/skills
# 编辑 .claude/skills/my-skill.md

Skill 触发机制

Skill 通过 description 字段自动匹配:当用户任务与某个 Skill 的 description 相关时,Claude 自动加载该 Skill 的完整指令。一个项目的 Skills 在 .claude/skills/ 目录下管理,通过 / 前缀即可手动调用。

05

MCP 协议:连接外部工具与数据

EXPLORE +

MCP(Model Context Protocol)

MCP 是 Anthropic 推出的开放协议标准,让 Claude 能安全地连接外部工具和数据源。就像 USB-C 统一了硬件接口——MCP 统一了 AI 与外部系统的交互方式。

MCP 架构

┌──────────┐    MCP 协议    ┌──────────────┐
│ Claude │ ◄────────────► │ MCP Server │
│ (Host) │ JSON-RPC │ (数据库/API) │
└──────────┘ └──────────────┘

核心能力:
• Resources:暴露数据(文件、数据库记录)
• Tools:暴露可执行功能(API调用、计算)
• Prompts:预定义的提示模板

配置 MCP Server

// .claude/settings.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/path/to/data"]
},
"database": {
"command": "python",
"args": ["-m", "my_mcp_server"],
"env": { "DB_URL": "postgresql://..." }
}
}
}

开发自定义 MCP Server

# Python MCP Server 示例
from mcp import Server, Tool

server = Server("my-tools")

@server.tool()
async def search_knowledge_base(query: str, top_k: int = 5):
"""在内部知识库中搜索相关文档"""
results = vector_db.search(query, limit=top_k)
return {"matches": [{"content": r.content, "score": r.score} for r in results]}

@server.tool()
async def get_ticket_status(ticket_id: str):
"""查询工单状态"""
return db.query("SELECT * FROM tickets WHERE id = ?", ticket_id)

server.run()
06

Claude Code 项目实战全流程

EXPLORE +

实战:用 Claude Code 构建一个 Web API

# 1. 项目初始化
mkdir my-api && cd my-api
claude
> 帮我初始化一个 FastAPI 项目,包含用户认证模块
> (Claude 会自动创建项目结构、安装依赖、写代码)

# 2. 查看 CLAUDE.md——Claude 自动生成的项目文档
cat CLAUDE.md

# 3. 让 Claude 理解你的代码风格
> /init # 生成或更新 CLAUDE.md

# 4. 迭代开发
> 给 /users 接口添加分页和搜索功能
> 数据验证用 Pydantic v2 的 model_validate

# 5. 测试
> 写 pytest 测试用例,覆盖所有 API 端点
> 运行测试看看有什么问题

# 6. 代码审查
> /review # 全面检查代码质量

# 7. Git 提交
> 帮我把改动分几个语义清晰的 commit 提交

高效工作流程

阶段Claude Code 命令产出
需求分析帮我分析这个需求的技术方案技术方案文档
架构设计设计模块结构和数据流架构图+接口定义
编码实现实现 XXX 功能代码+测试
代码审查/review审查报告
文档生成更新 README 和 API 文档文档
部署写 Dockerfile 和部署脚本部署配置

进阶技巧

  • CLAUDE.md:项目级指令文件,Claude 每次启动都会读取——写好它等于给 Claude 配置了专属工作手册
  • Worktree 隔离:/worktree 创建独立工作区,避免主分支被意外修改
  • 子代理并行:复杂任务让 Claude 自动拆分为多个子代理并行处理
  • 成本管理:用 /cost 关注 token 消耗,长对话用 /compact 压缩