概述
Claude Code 是 Anthropic 推出的终端驻留式 AI 编程代理工具, 能够完整理解代码库上下文, 通过自然语言指令完成代码阅读、生成、修改、git 操作等任务。
Claude Code 官网核心特性
- 智能代码库理解: 使用 agent 搜索理解整个代码库结构, 无需手动选择上下文文件
- 多文件协作: 能够在多个文件间协调修改, 保持代码一致性
- 原生工具集成: 支持所有 CLI 工具, 包括 Git、包管理器、构建系统等
- 安全可控: 修改文件前始终请求权限, 不会意外破坏代码
- 多平台支持: 可在终端、VS Code、JetBrains IDEs 和浏览器中使用
适用场景
- 中大型项目的重构和特性开发
- 理解遗留代码和复杂业务逻辑
- 自动化测试生成和 bug 修复
- 跨文件代码迁移和架构调整
- 文档生成和代码审查
✅ 效率提升: 相比传统代码补全工具, Claude Code 更像一个可执行多步计划的”同事”, 能够将编码效率提升 2-4 倍。
安装配置
Claude Code 官方推荐使用原生二进制安装方式(npm 方式已标记 deprecated)。
系统要求
- Node.js: 18.0 或更高版本
- 操作系统: macOS、Linux(含 WSL2)、Windows
- 网络: 需要访问 Anthropic API 或兼容服务
安装方法
方法一: Homebrew 安装(推荐)
1 | # 确保 brew 已更新 |
💡 Homebrew 会自动配置 PATH 环境变量, 无需手动配置。
方法二: 官方安装脚本
1 | # 下载并执行安装脚本(会放置在 /usr/local/bin/claude) |
⚠️ 如果使用 nvm 安装 Node.js, 可能会遇到权限问题, 建议使用 Homebrew 方式。
使用官方安装脚本(推荐)
1 | # 下载并执行安装脚本(会放置在 ~/.local/bin/claude) |
使用 Node.js 全局安装(备用方案)
1 | # 确保 Node.js >= 18 |
💡 npm 方式需要确保有全局 npm 权限, 避免使用 sudo。
推荐方案: WSL2 + Ubuntu
1 | # 在 PowerShell 中安装 WSL2 |
原生 Windows 支持(实验性)
1 | # 使用 PowerShell 安装脚本 |
⚠️ 原生 Windows 支持仍在完善中, 稳定性与生态完整度建议走 WSL。
验证安装
安装完成后验证:
1 | claude --version |
如果输出了版本号, 说明安装成功。
VS Code / JetBrains IDE 扩展
如果需要在 IDE 中使用 Claude Code:
💡 IDE 扩展提供可视化 diff 对比, 适合需要频繁查看代码变更的场景。
认证配置
Claude Code 支持三种主要认证模式:
创建多模型 alias
建议创建不同模型的 alias, 方便快速切换:
1 | # ~/.bashrc 或 ~/.zshrc |
使用示例:
1 | # 使用官方 Claude |
模型选择与优化配置
Claude Code 模型映射
Claude Code 使用三种模型层级:
| 模型 | 用途 | GLM-4.7 映射 | 特点 |
|---|---|---|---|
| Haiku | 轻量级任务 | glm-4.5-air | 快速响应, 适合简单查询 |
| Sonnet | 主要开发工作 | glm-4.7 | 平衡性能与速度 |
| Opus | 复杂推理任务 | glm-4.7 | 最强能力, 适合复杂架构设计 |
💡 GLM-4.7-long 上下文更稳定, 适合超过 100k token 的巨型代码库分析。
配置 GLM-4.7 模型映射
修改 ~/.claude/settings.json:
1 | { |
推荐配置组合
验证模型配置
启动 Claude Code 后, 使用 /status 命令查看当前模型状态:
1 | claude |
应显示类似:
1 | Current Model: glm-4.7 |
快速开始
启动 Claude Code
进入任意项目目录, 直接启动:
1 | cd ~/projects/my-app |
出现 claude > 提示符即成功。
首次使用授权
首次启动时, Claude Code 会请求文件访问权限:
1 | Claude Code wants to access files in /Users/xxx/projects/my-app |
选择 Allow 以授予访问权限。
⚠️ 如果误选了 Deny, 可以在 ~/.claude/settings.json 中删除相关路径配置。
基础测试指令
使用 /ask 指令(不修改文件)
1 | /ask 当前项目使用什么语言? package.json 和 requirements.txt 里主要依赖是什么? |
使用自然语言指令
1 | 帮我分析 src/components 目录下所有组件的作用和关系 |
正常情况下 5–15 秒内会返回带文件树和关键代码引用的分析。
查看帮助信息
1 | /help |
会列出所有可用指令和快捷键。
核心功能使用
Slash Commands(必须掌握)
Claude Code 使用 / 开头的 slash command 与纯自然语言两种交互方式。
常用内置指令:
| 指令 | 作用 | 示例 |
|---|---|---|
/ask |
提问(不修改文件) | /ask 这个函数的性能瓶颈可能在哪里? |
/generate |
生成新文件或代码片段 | /generate 创建一个用户登录的 RESTful 接口 |
/edit |
修改已有文件 | /edit 在 auth.js 中添加 JWT 刷新逻辑 |
/run |
执行 shell 命令(需确认) | /run npm test |
/git |
git 操作 | /git commit -m "feat: add login endpoint" |
/model |
查看&切换当前模型 | /model list |
/status |
查看当前状态 | /status |
/clear |
清空对话历史 | /clear |
/help |
完整指令列表 | /help |
💡 /ask 指令适合探索性提问, 不会修改任何文件。
典型使用场景
1. 快速理解陌生项目
1 | 给我一份这个仓库的架构概览, 重点标注入口文件和核心模块 |
Claude Code 会:
- 扫描项目结构
- 分析 package.json/requirements.txt
- 识别主要模块和依赖关系
- 生成架构概览
e.g.
1 | claude > 给我一份这个仓库的架构概览, 重点标注入口文件和核心模块 |
2. 批量生成测试用例
1 | 在 __tests__ 目录下为所有 utils/*.ts 文件生成 jest 测试用例, 覆盖率目标 90% |
Claude Code 会:
- 读取所有 utils 文件
- 分析函数签名和逻辑
- 生成完整的测试用例
- 确保覆盖率达标
e.g.
1 | claude > 在 __tests__ 目录下为所有 utils/*.ts 文件生成 jest 测试用例 |
3. 跨文件重构
1 | 把所有 class 组件统一改写为 function component + hooks, 改动尽量原子化, 每个文件单独 commit |
Claude Code 会:
- 找到所有 class 组件
- 逐个改写为 hooks
- 每改完一个文件提交一次
- 保持代码风格一致
e.g.
1 | claude > 把所有 class 组件改写为 function component + hooks, 每个文件单独 commit |
4. 自动修复 lint & type 错误
1 | 运行 tsc --noEmit 后把所有报错修复掉, 必要时添加类型声明 |
Claude Code 会:
- 运行 TypeScript 编译器
- 分析所有错误
- 自动修复或添加类型声明
- 验证修复结果
e.g.
1 | claude > 运行 tsc --noEmit 后修复所有类型错误 |
⚠️ GLM-4.7 在多轮工具调用连续性上稍逊官方 Sonnet 模型, 复杂任务建议在 prompt 里明确写 “step by step, don’t stop until finished”。
使用技巧
明确指令
❌ 模糊指令:1
帮我优化一下代码
✅ 明确指令:1
把 src/api/user.ts 中的所有 Promise 链改写为 async/await, 保持错误处理逻辑不变
分步执行
对于复杂任务, 分步执行效果更好:
1 | # 第一步: 分析问题 |
交互式确认
Claude Code 在执行危险操作前会请求确认:
1 | ⚠️ Claude Code will delete the following files: |
🚫 始终仔细查看变更内容, 特别是删除操作。
进阶功能
MCP 工具扩展
Claude Code 支持 MCP(Model Context Protocol)服务器扩展能力, 可以增强其功能:
常用 MCP 服务器
文件系统 MCP(深度文件操作)
1 | # 添加文件系统 MCP(常用于大项目索引) |
浏览器自动化 MCP(让 Claude 自己查文档)
1 | # 添加 Puppeteer MCP |
搜索增强 MCP
1 | # 添加 Brave Search MCP |
GitHub MCP
1 | # 添加 GitHub MCP(集成 GitHub API) |
💡 MCP 服务器需要额外的配置和认证, 参考 MCP 官方文档。
查看/移除 MCP
1 | # 查看已安装的 MCP |
自定义配置
配置文件位置
- 全局配置:
~/.claude/settings.json - 项目配置:
.claude/settings.json
常用配置项
1 | { |
🚫 dangerouslySkipPermissions 会跳过所有权限确认, 仅在完全信任的环境中使用。
环境变量配置
除了在 ~/.claude/settings.json 中配置, 也可以使用环境变量:
1 | # ~/.bashrc 或 ~/.zshrc |
💡 环境变量优先级高于 settings.json。
最佳实践
工作流程
1. 需求分析阶段
使用 /ask 探索问题:
1 | /ask 这个项目的认证流程是如何实现的? 涉及哪些文件? |
2. 方案设计阶段
让 Claude Code 提供多个方案:
1 | 给出三种重构数据库查询的方案, 对比优劣和实现难度 |
3. 实现阶段
使用明确的指令:
1 | 创建 src/utils/db.ts, 实现方案一中的数据库连接池, 使用 TypeORM |
4. 测试阶段
自动生成测试:
1 | 为 src/utils/db.ts 生成完整的单元测试, 覆盖所有分支 |
5. 提交阶段
使用 /git 提交:
1 | /git add . |
提示词工程
好的提示词特征
- 具体明确: 指定文件名、函数名、具体行为
- 上下文完整: 提供必要的背景信息
- 约束清晰: 说明不能做什么
- 可验证: 有明确的验收标准
e.g. 好的提示词:
1 | 在 src/api/auth.ts 中添加 JWT token 刷新功能: |
不好的提示词特征
❌ 模糊:1
优化一下认证代码
❌ 缺少上下文:1
添加一个新功能
❌ 约束不清:1
重构这个文件, 但不要改太多
团队协作
统一配置
在项目根目录创建 .claude/settings.json:
1 | { |
文档化使用规范
创建 CLAUDE.md 文件:
1 | # Claude Code 使用规范 |
✅ 将 .claude/ 和 CLAUDE.md 加入版本控制。
性能优化
减少上下文加载
使用具体路径而非通配符:
❌ 不好:1
分析所有组件文件
✅ 好:1
分析 src/components/Auth/Login.tsx 和 src/components/Auth/Register.tsx
使用轻量模型
简单查询使用 Haiku:
1 | /model haiku |
清理历史记录
定期清理对话历史:
1 | /clear |
⚠️ 长对话会占用大量 token, 影响响应速度。
安全建议
不要泄露敏感信息
❌ 危险:1
这是一个生产环境的数据库配置, host=prod-db.example.com, user=admin, password=xxx, 帮我优化查询
✅ 安全:1
2优化以下数据库查询, 使用参数化查询防止 SQL 注入:
[提供脱敏后的查询代码]
审查生成的代码
Claude Code 生成的代码需要:
- 安全审查(SQL 注入、XSS、CSRF 等)
- 性能测试(时间复杂度、资源使用)
- 边界测试(异常输入、并发场景)
🚫 不要直接在生产环境使用生成的代码。
权限管理
使用 allowedTools 限制可用工具:
1 | { |
常见问题
安装问题
Q: brew 安装后找不到 claude 命令
检查 PATH 配置:
1 | # 查看 PATH |
Q: npm 安装后权限不足
不要使用 sudo, 使用 nvm 安装 Node.js:
1 | # 安装 nvm |
认证问题
Q: 提示 Invalid API key
检查环境变量:
1 | # 查看 API Key |
Q: 网络超时
配置代理或使用国内服务:
1 | # 方案一: 配置代理 |
配置问题
Q: 修改 settings.json 后不生效
重启 Claude Code:
1 | # 关闭所有 Claude Code 窗口 |
如果还不生效, 检查 JSON 格式:
1 | # 验证 JSON 格式 |
Q: 模型切换失败
检查模型名称:
1 | # 查看当前模型 |
确保模型名称正确:
- Haiku:
glm-4.5-air - Sonnet:
glm-4.7 - Opus:
glm-4.7
使用问题
Q: 响应速度慢
可能的原因和解决方案:
- 代码库太大: 使用具体路径而非通配符
- 输出 token 限制太小: 增加
CLAUDE_CODE_MAX_OUTPUT_TOKENS - 网络慢: 配置代理或使用国内服务
- 模型太重: 切换到 Haiku 处理简单任务
Q: 生成的代码有错误
提供更详细的上下文:
1 | # 不好 |
Q: 如何回滚 Claude Code 的修改
使用 Git:
1 | # 查看变更 |
P.S. Claude Code 的所有操作都会经过 Git, 可以随时回滚。
MCP 问题
Q: MCP 服务器无法连接
检查 MCP 配置:
1 | # 查看 MCP 列表 |
常见问题:
- 端口被占用: 更换端口
- 认证失败: 检查 API Key
- 网络不通: 配置代理
参考资料
官方文档
社区资源
国内资源
相关工具
✅ 到这里, Claude Code 的安装、认证、GLM-4.7 接入与基本使用已完整搭建完成。下一篇文章将重点介绍如何基于此环境实现多模型动态路由、自定义 agent 行为, 以及在真实业务项目中的最佳实践。





