本教程面向零基础开发者,系统讲解 Claude Code 的三种运行方式——终端 CLI、桌面应用(Desktop App)、VS Code 扩展——的完整安装、认证与配置流程。你将在第一天完成所有环境搭建,理解三种界面的适用场景,并亲手完成一个可运行的小项目,迈出 AI 辅助编码的第一步。
适用人群:首次接触 Claude Code 的开发者、从 ChatGPT/Copilot 转向终端原生工作流的工程师、希望团队统一 AI 编码规范的 Tech Lead。
| 条件 | 说明 |
|---|---|
| Node.js ≥ 18 | Claude Code CLI 基于 Node.js 运行时 |
| Git ≥ 2.23 | 版本控制集成必需 |
| 操作系统 | macOS 12+、Ubuntu 20.04+、Windows 10+(WSL2) |
| 网络环境 | 需要访问 api.anthropic.com 和 cdn.anthropic.com |
| 账户 | Anthropic API Key 或 Claude Pro/Max/Team 订阅 |
费用预估:使用 Claude Pro 订阅($20/月)可零额外成本使用 Claude Code;API 按量付费模式下,日均成本约 $4-6。
在动手安装之前,先搞清楚 Claude Code 提供的三种交互方式,以及各自的适用场景。
graph TB
A[Claude Code] --> B[终端 CLI]
A --> C[桌面应用<br/>Desktop App]
A --> D[VS Code 扩展]
B --> B1[纯键盘操作<br/>适合高级开发者]
B --> B2[支持 -p 管道模式<br/>适合自动化]
B --> B3[SSH 远程服务器<br/>无头环境]
C --> C1[图形界面<br/>适合新手入门]
C --> C2[无需终端经验<br/>鼠标操作]
C --> C3[独立运行<br/>不依赖编辑器]
D --> D1[侧边栏集成<br/>边写边问]
D --> D2[内嵌终端<br/>图形与命令双模]
D --> D3[工作区感知<br/>自动读取项目上下文]
style A fill:#D97706,stroke:#92400E,color:#fff
style B fill:#2563EB,stroke:#1E40AF,color:#fff
style C fill:#059669,stroke:#065F46,color:#fff
style D fill:#7C3AED,stroke:#5B21B6,color:#fff
| 维度 | 终端 CLI | 桌面应用 | VS Code 扩展 |
|---|---|---|---|
| 上手难度 | 中等 | 最低 | 低 |
| 功能完整度 | 100% | 90% | 95% |
| 自动化支持 | 完整 | 无 | 部分 |
| 远程服务器 | 完美支持 | 不适用 | 需远程扩展 |
| 学习曲线 | 需记忆命令 | 所见即所得 | 熟悉 VS Code 即可 |
选择建议: - 完全新手 → 先用桌面应用感受,再转 VS Code 扩展 - 日常开发 → VS Code 扩展 + 终端 CLI 组合 - CI/CD 或远程 → 终端 CLI 是唯一选择
CLI 是 Claude Code 的核心运行时,无论你最终偏好哪种界面,都建议先安装 CLI。
# macOS / Linux(推荐使用 npm 全局安装)
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
# 预期输出类似:1.0.x(版本号随时间更新)
Windows 用户注意:需要在 WSL2 环境中运行上述命令。原生 Windows 支持 目前有限。
问题 1:EACCES 权限错误
# 方案 A:使用 nvm 管理 Node(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
npm install -g @anthropic-ai/claude-code
# 方案 B:修改 npm 全局路径
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
问题 2:Node.js 版本过低
# 检查当前版本
node --version
# 需要 v18.0.0 或更高
# 使用 nvm 升级
nvm install 20
nvm use 20
问题 3:企业网络代理导致安装失败
# 设置 npm 代理
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
# 如果有自签名证书
npm config set strict-ssl false # 仅限内部网络使用
Claude Code 支持三种认证方式,选择取决于你的账户类型。
claude login
# 浏览器将自动打开,跳转到 claude.ai 授权页面
# 点击 "Allow" 后终端显示 "Logged in successfully"
支持的计划:Claude Pro($20/月)、Max($100/月或$200/月)、Team。
Max 计划的速率限制:
| 计划 | Max 5x | Max 20x |
|---|---|---|
| 月费 | $100 | $200 |
| Claude Sonnet 请求 | 5倍基础量 | 20倍基础量 |
| Claude Opus 请求 | 有 | 大幅提升 |
| 适合 | 个人重度用户 | 团队/全天候使用 |
# 方法 A:通过环境变量设置
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
# 建议写入 ~/.bashrc 或 ~/.zshrc
# 方法 B:通过交互式登录
claude login --method api-key
# 粘贴你的 API Key
API Key 获取:登录 console.anthropic.com → API Keys → Create Key。
重要提醒:如果你同时设置了 API Key 环境变量和 OAuth 登录,Claude Code 优先使用 API Key,这意味着会按 API 调用收费而非消耗订阅额度。
# 企业用户通过 SAML/SSO 认证
claude login --method sso
# 输入你的企业 SSO URL
claude auth status
# 预期输出:
# Logged in as: [email protected]
# Plan: Max 20x
# Token expires: 2026-05-24T08:00:00Z
桌面应用是 2025 年底新增的图形界面,适合不熟悉终端的用户。
# macOS(Homebrew Cask)
brew install --cask claude-code
# Linux(AppImage)
wget https://claude.ai/desktop/claude-code-latest.AppImage
chmod +x claude-code-latest.AppImage
./claude-code-latest.AppImage
也可以直接从 Anthropic 官网 下载安装包。
CLAUDE.md 并加载项目上下文桌面应用的界面分为三个区域: - 左侧:对话历史列表 - 中间:主对话区(类似 ChatGPT 的聊天界面) - 右侧:文件预览和代码差异对比
方法 A:通过 VS Code Marketplace
Ctrl+Shift+X(macOS: Cmd+Shift+X)打开扩展面板方法 B:通过命令行
code --install-extension anthropic.claude-code
VS Code 中的 Claude Code 提供三种交互方式:
模式 1:侧边栏面板(图形模式)
按 Cmd+Shift+P → 输入 "Claude: Open" → 在侧边栏中直接对话。
模式 2:内嵌终端(CLI 模式)
在 VS Code 内打开终端(Ctrl+ ),直接运行claude` 命令。扩展会自动检测并增强终端体验。
模式 3:行内编辑(Inline Edit)
选中代码 → 右键选择 "Ask Claude" → 在编辑器内直接获得修改建议,无需切换面板。
在项目根目录创建 .vscode/settings.json,添加 Claude Code 相关设置:
{
"claude-code.enableTelemetry": false,
"claude-code.model": "sonnet",
"claude-code.autoCompact": true,
"claude-code.maxTokens": 8192
}
CLAUDE.md 是 Claude Code 的项目灵魂文件,它告诉 AI 你的项目结构、规范和偏好。
# 进入你的项目目录
cd ~/projects/my-first-project
# 初始化 Git 仓库(如果还没有)
git init
# 运行 Claude Code 的初始化命令
claude
# 进入交互界面后输入:
/init
/init 会扫描项目文件结构,自动生成一份基础 CLAUDE.md。
对于一个新项目,以下模板是良好的起点:
# Project: Task Tracker
## Overview
A simple task management CLI tool built with Node.js and TypeScript.
## Tech Stack
- Runtime: Node.js 20+
- Language: TypeScript 5.x
- Package Manager: pnpm
- Testing: Vitest
- Linting: ESLint + Prettier
## Project Structure
- `src/` - Source code
- `src/cli.ts` - CLI entry point
- `src/commands/` - Command handlers
- `src/models/` - Data models
- `tests/` - Test files
## Commands
- Build: `pnpm build`
- Test: `pnpm test`
- Lint: `pnpm lint`
- Run: `pnpm start`
## Conventions
- Use snake_case for file names
- Use camelCase for functions and variables
- Use PascalCase for classes and types
- All functions must have JSDoc comments
- Prefer composition over inheritance
- Error handling: use custom error classes
## Do NOT
- Do not use `any` type
- Do not install new dependencies without asking first
- Do not modify package.json directly
Claude Code 的配置遵循五层优先级体系:
graph BT
A["企业级<br/>~/.claude/settings.json<br/>(最低优先级)"] --> B["用户级<br/>~/.claude/config.yaml"]
B --> C["项目级<br/>项目根/.claude/settings.json"]
C --> D["目录级<br/>子目录/CLAUDE.md"]
D --> E["会话级<br/>运行时命令<br/>(最高优先级)"]
style A fill:#9CA3AF,color:#fff
style B fill:#6B7280,color:#fff
style C fill:#4B5563,color:#fff
style D fill:#374151,color:#fff
style E fill:#D97706,color:#fff
关键规则:高层级配置覆盖低层级。例如,项目级配置可以覆盖用户级的默认模型设置。
Claude Code 支持三种模型系列,每个任务可以动态切换。
| 模型 | 别名 | 特点 | 适用场景 | 相对成本 |
|---|---|---|---|---|
| Claude Sonnet 4.6 | sonnet |
速度与智能平衡 | 日常编码、代码审查 | 基准 1x |
| Claude Opus 4.6 | opus |
最强推理能力 | 复杂架构设计、重构 | 约 15x |
| Claude Haiku 4.5 | haiku |
极速低成本 | 格式化、简单修改 | 约 0.1x |
方式一:会话内临时切换
claude
> /model opus
# 当前会话切换到 Opus,适合处理复杂任务
> /model sonnet
# 切回 Sonnet 继续日常编码
方式二:启动时指定模型
# 使用 Opus 处理复杂重构
claude --model opus
# 使用 Haiku 处理批量简单修改
claude --model haiku
方式三:配置默认模型
# 在 ~/.claude/config.yaml 中设置
# 默认使用 Sonnet(推荐平衡选择)
model: sonnet
# 如果预算充裕且追求质量
# model: opus
首周一律使用 Sonnet → 熟悉后再按需切换
↓
日常编码 = Sonnet(80% 时间)
复杂重构 = Opus(15% 时间)
批量修改 = Haiku(5% 时间)
现在把前面学到的全部串起来,用 Claude Code 从零构建一个可运行的 CLI 工具。
# 创建项目目录
mkdir ~/task-tracker && cd ~/task-tracker
# 初始化项目
git init
pnpm init
# 启动 Claude Code
claude
在 Claude Code 交互界面中输入:
我需要创建一个 TypeScript CLI 任务管理工具,功能包括:
1. 添加任务(task add "写周报")
2. 列出所有任务(task list)
3. 标记完成(task done 1)
4. 删除任务(task delete 1)
数据用 JSON 文件存储在 ~/.task-tracker/tasks.json。
请帮我搭建完整的项目结构,包括 package.json、tsconfig.json、源码和测试。
Claude Code 将自动执行以下操作: 1. 分析需求并制定实施计划 2. 创建项目文件结构 3. 编写 TypeScript 配置 4. 实现核心代码 5. 添加测试文件
task-tracker/
├── CLAUDE.md # 项目指令文件
├── package.json
├── tsconfig.json
├── src/
│ ├── cli.ts # CLI 入口
│ ├── commands/
│ │ ├── add.ts # 添加任务
│ │ ├── list.ts # 列出任务
│ │ ├── done.ts # 标记完成
│ │ └── delete.ts # 删除任务
│ ├── models/
│ │ └── task.ts # 任务数据模型
│ └── storage.ts # JSON 存储管理
└── tests/
├── add.test.ts
└── list.test.ts
很好!现在请:
1. 为所有函数添加错误处理
2. 添加 --priority 选项(high/medium/low)
3. 添加 task list --filter done 命令
4. 运行测试确保一切通过
# 构建项目
pnpm build
# 测试运行
pnpm test
# 实际使用
node dist/cli.js add "学习 Claude Code" --priority high
node dist/cli.js add "写项目文档" --priority medium
node dist/cli.js list
# 预期输出:
# #1 [ ] 🔴 学习 Claude Code
# #2 [ ] 🟡 写项目文档
node dist/cli.js done 1
node dist/cli.js list
# 预期输出:
# #1 [✓] 🔴 学习 Claude Code
# #2 [ ] 🟡 写项目文档
首日实战中,以下命令是你最频繁使用的工具:
| 命令 | 功能 | 使用频率 |
|---|---|---|
/init |
初始化 CLAUDE.md | 项目开始时一次 |
/compact |
压缩对话上下文 | 每隔 20-30 分钟 |
/model <name> |
切换模型 | 按需 |
/cost |
查看当前会话成本 | 随时关注 |
/clear |
清空对话历史 | 切换任务时 |
/plan |
进入计划模式(只读不写) | 复杂任务前 |
/review |
代码审查 | 完成编码后 |
/help |
查看所有命令 | 忘记时 |
| 快捷键 | 功能 |
|---|---|
Escape |
取消当前操作 / 中断生成 |
Ctrl+C |
取消当前输入 |
Ctrl+L |
清屏 |
↑ / ↓ |
浏览历史消息 |
Tab |
自动补全文件路径 |
# 指定模型
claude --model opus
# 非交互模式(管道输入)
echo "解释这个函数" | claude -p
# 继续上一次对话
claude --continue
# 恢复特定会话
claude --resume <session-id>
# 设置系统提示词
claude --system-prompt "你是一个专注于安全的代码审查专家"
# 仅计划不执行
claude --plan
| 模式 | 适用人群 | 日均成本 | 优缺点 |
|---|---|---|---|
| Claude Pro 订阅 | 个人轻度用户 | $0(含在 $20/月内) | 有速率限制 |
| Claude Max 订阅 | 重度个人用户 | $0(含在 $100-200/月内) | 更高速率 |
| API 按量付费 | 团队/自动化 | $4-13/天 | 无限制,成本浮动 |
技巧 1:善用 /compact 命令
# 每完成一个大任务后执行
/compact
# Claude 会压缩历史对话,保留关键信息,减少后续每次请求的 token 消耗
技巧 2:精准的 CLAUDE.md 减少重复说明
好的 CLAUDE.md 可以减少 30-50% 的对话轮次,因为你不需要反复告诉 Claude 项目规范。
技巧 3:用 Haiku 处理批量简单任务
# 格式化代码、添加注释等简单任务
claude --model haiku -p "为 src/ 下所有文件添加 JSDoc 注释"
技巧 4:使用 --continue 避免重建上下文
# 继续上一次对话,而不是重新开始
claude --continue
技巧 5:设置 token 预算
# 在 ~/.claude/config.yaml 中
maxTokensPerRequest: 4096 # 限制单次输出
contextWindow: 100000 # 限制上下文窗口
# API 用户查看成本
/cost
# 输出类似:
# Session cost: $0.42
# Input tokens: 12,450
# Output tokens: 3,280
# 订阅用户查看用量
/usage
# 显示当前周期已用量和剩余额度
如果你在公司网络中使用 Claude Code,可能需要额外配置。
# 环境变量方式(推荐)
export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
# 或在 ~/.claude/config.yaml 中配置
proxy:
url: http://proxy.company.com:8080
noProxy: localhost,127.0.0.1,internal.company.com
# 指定自定义 CA 证书
export NODE_EXTRA_CA_CERTS=/path/to/company-ca.crt
export SSL_CERT_FILE=/path/to/company-ca.crt
确保以下域名可访问:
api.anthropic.com # API 调用
cdn.anthropic.com # 资源下载
claude.ai # OAuth 认证
sentry.io # 错误上报(可选)
flowchart LR
A[启动 Claude Code] --> B{选择界面}
B -->|日常开发| C[VS Code 扩展]
B -->|复杂任务| D[终端 CLI]
B -->|快速提问| E[桌面应用]
C --> F[/init 初始化项目]
D --> F
E --> F
F --> G[编写 CLAUDE.md]
G --> H[开始编码任务]
H --> I{任务复杂度?}
I -->|简单| J[使用 Sonnet]
I -->|复杂| K[使用 Opus + /plan]
J --> L[迭代开发]
K --> L
L --> M[/compact 压缩上下文]
M --> N[/cost 检查成本]
N --> O{还有任务?}
O -->|是| H
O -->|否| P[提交代码]
style A fill:#D97706,color:#fff
style B fill:#2563EB,color:#fff
style I fill:#7C3AED,color:#fff
style P fill:#059669,color:#fff
新手首周清单:
CLAUDE.md/init 初始化项目/compact 和 /cost 命令--continue 和 --model 参数claude 命令找不到# 检查是否全局安装
npm list -g @anthropic-ai/claude-code
# 检查 PATH 是否包含 npm 全局路径
echo $PATH | grep npm
# 如果没有,添加到 ~/.bashrc:
export PATH="$(npm config get prefix)/bin:$PATH"
# 清除旧的认证信息重新登录
claude logout
claude login
# 如果使用 API Key
unset ANTHROPIC_API_KEY # 先清除环境变量
claude login # 重新 OAuth 登录
# 1. 检查网络延迟
ping api.anthropic.com
# 2. 降低模型(Opus → Sonnet)
/model sonnet
# 3. 压缩上下文
/compact
# 4. 检查是否超出速率限制
/usage
claude --version)claude auth status 检查认证这个案例展示如何在不同场景下无缝切换三种界面完成同一项目。
场景:开发一个 REST API 服务
sequenceDiagram
participant D as 桌面应用
participant V as VS Code 扩展
participant T as 终端 CLI
Note over D: 上午:项目规划
D->>D: 描述 API 需求<br/>生成 CLAUDE.md
Note over V: 下午:编码实现
V->>V: 在编辑器中<br/>边写代码边问 Claude
V->>V: 选中代码 → 行内修改
V->>V: 侧边栏审查生成的代码
Note over T: 傍晚:自动化测试
T->>T: claude --model sonnet<br/>运行测试并修复失败
T->>T: claude -p "检查覆盖率" < pipeline
Note over V: 晚上:代码审查
V->>V: /review 全面审查
V->>V: 确认后 git commit
关键操作:
# 上午:桌面应用中描述需求(图形界面更直观)
# → 自动生成 CLAUDE.md 和项目骨架
# 下午:VS Code 中编码
# → 在编辑器中选中代码,右键 "Ask Claude"
# → Claude 在行内显示修改建议,一键接受
# 傍晚:终端中运行测试
claude --model sonnet --continue
> 运行所有测试并修复失败的用例
# 晚上:提交前的最终审查
claude /review
# → Claude 检查所有变更,提出改进建议
| 维度 | 评估 |
|---|---|
| 适合训练营类型 | AI 编程入门营、企业 AI 工具培训、开发者效率提升营 |
| 教学时长 | 3-4 小时(含实操) |
| 学员前置要求 | 基本终端操作能力、任意一门编程语言基础 |
| 实操占比 | 60%(安装配置 + 项目实战) |
| 建议分组 | 按操作系统分组(macOS / Linux / WSL),每组配一名助教 |
| 产出物 | 完成环境搭建 + 一个可运行的 CLI 项目 + 一份个性化 CLAUDE.md |
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
