Claude Code从入门到精通:终端里的全能AI助手完全指南

全面介绍 Anthropic 官方 AI 工具 Claude Code,从基础概念到高级用法,涵盖安装配置、日常使用、CLAUDE.md、Skills、Subagent 等核心功能。无论你是开发者、产品经理、运维人员还是行政财务,都能从中找到提升效率的方法。

bruce

Claude CodeAI 工具Anthropic命令行工具效率工具自动化

AI

6427 Words

2026-01-14 06:38 +0000


Claude Code 终端 AI 助手

你是否曾经希望有一个真正能「动手干活」的 AI 助手——不只是给你建议,而是能直接帮你处理文件、执行命令、完成各种重复性工作?Claude Code 正是 Anthropic 官方推出的这样一款工具——它运行在终端里,是一个能够理解你的需求并付诸行动的全能助手。

它不只是程序员的专属工具。虽然 Claude Code 在编程领域表现出色,但它同样能帮助产品经理整理文档、帮运维人员分析日志、帮行政财务人员处理数据报表、帮任何人自动化那些繁琐的重复工作。

无论你是资深开发者、产品经理、运维人员,还是行政财务同学,这篇文章都将带你从零开始,全面掌握 Claude Code 的使用方法,找到属于你的效率提升之道。

一、什么是 Claude Code?

1. 核心定位

Claude Code 是 Anthropic 推出的官方命令行工具(CLI),它是一个「代理型 AI 工具」(Agentic AI Tool),直接运行在你的终端中。

与普通的 AI 聊天不同,Claude Code 的最大特点是:它可以直接执行操作

特点说明
终端原生不是聊天窗口,不是 IDE 插件,而是命令行工具
可执行操作能直接编辑文件、运行命令、处理数据
理解上下文自动分析项目结构和文件内容
自然语言交互用大白话描述需求,Claude 帮你实现

一个简单的类比:如果说 ChatGPT 是「顾问」,只能给你建议;那么 Claude Code 就是「助理」,能真正动手帮你干活。

2. 能做什么?

Claude Code 主要解决四大类问题:

构建功能:告诉 Claude 你想做什么,它会制定计划、编写代码、确保代码能跑。

# 示例:让 Claude 帮你写一个用户注册功能
claude "帮我实现一个用户注册接口,包含邮箱验证"

实际对话场景

你:帮我实现一个用户注册接口,包含邮箱验证

Claude:我来帮你实现用户注册接口。让我先了解一下项目结构...

[Claude 自动分析项目]

我看到这是一个 Express + MongoDB 的项目。我将:
1. 在 routes/ 下创建 auth.js 路由
2. 在 models/ 下创建 User 模型
3. 实现邮箱验证码发送功能
4. 添加必要的输入验证

现在开始实现...

[Claude 自动创建文件、编写代码]

完成!我已经创建了以下文件:
- routes/auth.js - 注册和验证接口
- models/User.js - 用户模型
- utils/email.js - 邮件发送工具

要测试一下吗?运行 npm run dev 后访问 POST /api/auth/register

调试修复:描述 Bug 或粘贴报错信息,Claude 会分析代码库、定位问题、实施修复。

# 示例:让 Claude 帮你修 Bug
claude "这个报错是什么意思?帮我修复:TypeError: Cannot read property 'map' of undefined"

实际对话场景

你:运行时报错 TypeError: Cannot read property 'map' of undefined
     UserList.jsx  23 

Claude:让我检查一下这个文件...

[Claude 读取 UserList.jsx]

找到问题了!在第 23 行你直接对 users 调用 map,但 users 初始值是 undefined

问题代码:
const UserList = () => {
  const [users, setUsers] = useState();  // 初始值是 undefined
  return users.map(user => <div>{user.name}</div>);  // 报错
}

我来修复它:

[Claude 修改文件]

修复方案:
1.  useState 设置初始空数组
2. 添加加载状态判断

修改后:
const UserList = () => {
  const [users, setUsers] = useState([]);  // 改为空数组
  const [loading, setLoading] = useState(true);

  if (loading) return <div>加载中...</div>;
  return users.map(user => <div key={user.id}>{user.name}</div>);
}

已修复!同时我还加了 key 属性避免 React 警告。

代码导航:询问关于代码库的任何问题,Claude 会帮你找到答案。

# 示例:了解代码结构
claude "这个项目的认证逻辑在哪里实现的?"

实际对话场景

你:这个项目的认证逻辑在哪里实现的?我想了解用户登录的完整流程

Claude:让我帮你梳理一下认证流程...

[Claude 搜索并分析相关文件]

这个项目使用 JWT 认证,完整流程如下:

📁 认证相关文件:
├── middleware/auth.js      - JWT 验证中间件
├── routes/auth.js          - 登录注册接口
├── services/AuthService.js - 认证业务逻辑
└── utils/jwt.js            - Token 生成与验证

🔄 登录流程:
1. 用户提交 POST /api/auth/login (routes/auth.js:45)
2. AuthService.login() 验证密码 (services/AuthService.js:23)
3. 验证通过后生成 JWT (utils/jwt.js:12)
4. 返回 token 给前端

🔒 请求验证流程:
1. 前端在 Header 携带 Authorization: Bearer <token>
2. auth 中间件解析并验证 token (middleware/auth.js:8)
3. 验证通过则将 user 挂载到 req.user
4. 验证失败返回 401

需要我详细解释某个部分吗?

自动化任务:修复 lint 问题、解决合并冲突、生成发布说明等繁琐工作。

# 示例:自动修复代码风格问题
claude "修复所有 ESLint 报错"

实际对话场景

你:项目里有很多 ESLint 报错,帮我全部修复

Claude:让我先运行 ESLint 看看有哪些问题...

[Claude 执行 npm run lint]

发现 47 个问题,分布在 12 个文件中:
- 28  "prefer-const" 警告
- 12  "no-unused-vars" 错误
- 5  "react-hooks/exhaustive-deps" 警告
- 2  "no-console" 警告

开始修复...

[Claude 逐个修改文件]

 已修复 45 个问题
⚠️ 2 个问题需要你确认:

1. src/utils/debug.js:15 - console.log 是调试代码还是需要保留?
2. src/hooks/useAuth.js:23 - unused 变量 `refreshToken` 是预留功能吗?

请告诉我如何处理这两个。

🌟 非编程场景同样出色

虽然上面的例子偏向编程,但 Claude Code 的能力远不止于此。它本质上是一个能操作文件和执行命令的智能助手:

文档处理:整理、转换、批量处理各种文档。

你:帮我把 docs 文件夹下的所有 Word 文档转换成 PDF

Claude:好的,让我先看看文件夹里有哪些文档...

[Claude 列出文件]

找到 15 个 Word 文档。我将使用 LibreOffice 进行转换...

[Claude 执行转换]

✅ 全部完成!15 个 PDF 已保存到 docs/pdf/ 文件夹。

数据分析:处理 Excel、CSV 数据,生成统计报告。

你:分析一下 sales.csv 里的销售数据,找出销量最好的产品

Claude:让我读取并分析这个数据文件...

[Claude 读取数据]

分析结果:
📊 数据概览:共 1,234 条销售记录,涵盖 45 种产品

🏆 销量 Top 5:
1. 无线鼠标 - 销量 892 件,销售额 ¥89,200
2. 机械键盘 - 销量 654 件,销售额 ¥130,800
3. USB 扩展坞 - 销量 543 件,销售额 ¥54,300
...

需要我生成详细的分析报告吗?

文件整理:自动分类、重命名、归档文件。

你:把下载文件夹整理一下,按文件类型分类

Claude:好的,让我看看下载文件夹的内容...

[Claude 分析文件]

找到 156 个文件,我将按以下方式整理:
- 图片 (32 )  Downloads/图片/
- 文档 (45 )  Downloads/文档/
- 视频 (12 )  Downloads/视频/
- 压缩包 (28 )  Downloads/压缩包/
- 其他 (39 )  Downloads/其他/

确认执行吗?

你:执行

Claude[自动移动文件]

 整理完成!文件已按类型归类到对应文件夹。

信息提取:从网页、文档中提取需要的信息。

你:帮我从这 20 个简历 PDF 中提取姓名、电话、邮箱,整理成表格

Claude:好的,让我处理这些简历...

[Claude 逐个读取 PDF]

已提取 20 位候选人的信息,保存到 candidates.xlsx:

| 姓名 | 电话 | 邮箱 | 学历 |
|------|------|------|------|
| 张三 | 138xxxx1234 | zhang@email.com | 本科 |
| 李四 | 139xxxx5678 | li@email.com | 硕士 |
...

需要添加其他字段吗?

💰 财务场景:报表与数据处理

财务小李:我需要把这个月的费用报销单汇总,按部门统计总额

Claude:好的,让我处理这些报销数据...

[Claude 读取 expense_reports.xlsx]

📊 2025年1月费用报销汇总

| 部门 | 报销笔数 | 总金额 | 占比 |
|------|----------|--------|------|
| 销售部 | 45 笔 | ¥128,500 | 35.2% |
| 市场部 | 32 笔 | ¥89,200 | 24.5% |
| 研发部 | 28 笔 | ¥76,800 | 21.1% |
| 行政部 | 18 笔 | ¥45,300 | 12.4% |
| 人事部 | 12 笔 | ¥24,800 | 6.8% |

💡 发现异常:
- 销售部「差旅费」同比增长 45%,建议核查
- 有 3 笔报销金额超过 ¥10,000,需要总监审批

要生成详细的分部门报表吗?
财务小李:帮我核对一下银行流水和我们的收款记录,看有没有差异

Claude:好的,让我对比这两份数据...

[Claude 读取 bank_statement.csv 和 payment_records.xlsx]

🔍 核对结果:

✅ 匹配成功:bindicate 287 笔,金额 ¥1,892,450.00
⚠️ 银行有但系统无:3 笔
  - 01-15 ¥5,000.00 (转账备注:王明 货款)
  - 01-18 ¥12,800.00 (转账备注:深圳XX公司)
  - 01-22 ¥3,200.00 (转账备注:退款)

⚠️ 系统有但银行无:1 笔
  - 订单 #20250120-089,¥8,900.00,客户:张总

建议:
1. 3 笔未入账款项需要补录系统
2. 订单 #20250120-089 可能客户尚未付款,建议跟进

要我生成差异明细表吗?

📋 行政场景:文档与事务管理

行政小张:下周要开年度总结会,帮我整理一下会议材料

Claude:好的,让我帮你准备会议材料...

请告诉我:
1. 会议时间和地点?
2. 参会人员名单在哪里?
3. 需要准备哪些材料?

行政小张:下周三下午2点,大会议室,参会名单在 attendees.xlsx,
         需要准备签到表、会议议程、各部门的 PPT 合集

Claude:明白了,开始准备...

[Claude 处理文件]

✅ 已完成:

1. 📝 签到表 (sign_in_sheet.xlsx)
   - 已按部门分组排列 48 位参会人员
   - 包含:姓名、部门、职位、签到栏、备注栏

2. 📋 会议议程 (agenda.docx)
   - 已生成标准会议议程模板
   - 时间:2025年1月22日 14:00-17:00
   - 地点:大会议室

3. 📑 PPT 合集 (annual_summary_2024.pptx)
   - 已合并 6 个部门的 PPT(共 124 页)
   - 按议程顺序排列
   - 已统一字体和页码格式

还需要准备茶歇安排表吗?
行政小张:公司要搬到新办公室,帮我做个资产盘点清单

Claude:好的,让我帮你整理资产清单...

[Claude 读取 assets.xlsx]

📦 办公资产盘点清单

## 按类别统计

| 类别 | 数量 | 预估价值 |
|------|------|----------|
| 电脑设备 | 86 台 | ¥430,000 |
| 办公家具 | 124 件 | ¥186,000 |
| 会议设备 | 12 套 | ¥96,000 |
| 打印设备 | 8 台 | ¥64,000 |
| 其他 | 45 件 | ¥22,500 |

## 按楼层分布

- 3楼(研发):89 件
- 4楼(销售+市场):76 件
- 5楼(行政+财务+人事):58 件
- 会议室:12 件

## 需要特别注意

⚠️ 以下设备搬运需专业人员:
- 服务器机柜 x 2(3楼机房)
- 大型复印机 x 2(4楼、5楼)
- 投影仪 x 3(需要重新安装)

已生成完整清单 asset_inventory.xlsx,包含每件资产的编号、
位置、负责人、搬运注意事项。

📊 运营场景:数据分析与报告

运营小王:帮我分析一下上周的用户活跃数据

Claude:好的,让我分析用户活跃情况...

[Claude 读取 user_activity.csv]

📈 上周用户活跃分析报告(1月13日-1月19日)

## 核心指标

| 指标 | 本周 | 上周 | 环比 |
|------|------|------|------|
| DAU(日均) | 12,450 | 11,800 | +5.5% ↑ |
| WAU | 45,200 | 43,100 | +4.9% ↑ |
| 人均使用时长 | 18.5分钟 | 16.2分钟 | +14.2% ↑ |
| 新用户数 | 3,240 | 2,890 | +12.1% ↑ |
| 次日留存率 | 42.3% | 39.8% | +2.5pp ↑ |

## 用户行为分析

🔥 热门功能 Top 5:
1. 首页浏览 - 89,234 次
2. 商品搜索 - 45,678 次
3. 购物车 - 23,456 次
4. 订单查询 - 18,234 次
5. 个人中心 - 15,678 次

📉 流失节点:
- 商品详情 → 加入购物车:转化率 32%(行业均值 38%)
- 购物车 → 提交订单:转化率 28%(需要优化)

💡 建议:
1. 购物车页面转化率偏低,建议增加优惠提示
2. 新用户次日留存提升明显,继续保持新人引导策略

要我生成完整的周报 PPT 吗?
运营小王:我们下周要做促销活动,帮我预估一下需要备多少货

Claude:好的,让我基于历史数据做个预估...

[Claude 分析 sales_history.xlsx 和 promotion_history.xlsx]

🎯 促销活动备货建议

## 分析依据
- 参考:过去 6 次同类促销活动数据
- 活动类型:满减促销
- 预计持续:3 天

## 热销商品备货建议

| 商品 | 日常销量 | 促销预估 | 建议备货 | 安全库存 |
|------|----------|----------|----------|----------|
| A款连衣裙 | 50件/天 | 200件/天 | 800件 | 含20%余量 |
| B款T恤 | 80件/天 | 280件/天 | 1,200件 | 含20%余量 |
| C款牛仔裤 | 35件/天 | 150件/天 | 600件 | 含20%余量 |
| D款外套 | 25件/天 | 100件/天 | 400件 | 含20%余量 |

## 风险提示

⚠️ 以下商品当前库存不足:
- A款连衣裙:现有 520 件,缺口 280 件
- C款牛仔裤:现有 450 件,缺口 150 件

📦 建议:立即联系供应商补货,预计需要 3 个工作日到货

## 预估销售额

- 保守估计:¥450,000
- 正常预期:¥580,000
- 乐观预期:¥720,000

要我生成详细的备货清单发给仓库吗?

3. 适合谁用?

Claude Code 的强大之处在于它降低了技术门槛,让不同背景的人都能受益:

角色使用场景实际例子
开发工程师写代码、改 Bug、重构、代码审查“帮我把这个类重构成函数式组件”
产品经理快速验证想法、理解技术实现“这个需求技术上能实现吗?大概要改哪些地方?”
运维人员编写脚本、自动化运维任务“写一个脚本监控服务器 CPU,超过 80% 就报警”
技术管理者了解代码库、审查团队工作“这次迭代改了哪些核心逻辑?有没有风险点?”
测试工程师编写测试用例、分析测试覆盖率“为这个支付模块补充边界测试用例”
非技术人员学习编程、完成简单自动化任务“帮我写个 Python 脚本,每天自动整理下载文件夹”

非技术人员使用示例

财务小王:我每个月要把销售数据从 Excel 复制到报表系统,能自动化吗?

Claude:当然可以!让我帮你写一个 Python 脚本。

你需要告诉我:
1. Excel 文件在哪个文件夹?
2. 报表系统是网页还是软件?
3. 数据要怎么对应?

财务小王:Excel 在 D:/销售数据/ 文件夹,报表是网页系统,
         Excel 的 A 列是产品名,B 列是销售额

Claude:明白了,我来实现...

[Claude 创建脚本]

完成!使用方法:
1. 双击 "运行.bat" 文件
2. 输入报表系统的账号密码
3. 脚本会自动完成剩下的工作

我还加了日志功能,每次运行会记录在 log.txt 里,
方便你追溯。要我演示一下吗?

4. 与其他 AI 编程工具的对比

特性Claude CodeGitHub CopilotCursorChatGPT
运行环境终端IDE 插件独立 IDE网页/APP
执行操作✅ 可以❌ 不能✅ 可以❌ 不能
理解项目✅ 整个代码库⚠️ 当前文件✅ 整个代码库❌ 需要粘贴
Git 操作✅ 直接执行❌ 不能⚠️ 部分支持❌ 不能
运行命令✅ 可以❌ 不能✅ 可以❌ 不能
价格Pro 订阅$10/月$20/月Plus $20/月

二、如何安装 Claude Code?

1. 前置条件

开始之前,你需要:

  • Claude 订阅:Pro($20/月)、Max($100/月)、Teams 或 Enterprise 版本
  • 或者 Claude API 账户:按 Token 计费使用

系统要求

操作系统版本要求
macOS10.15 (Catalina) 或更高
LinuxUbuntu 20.04+ / Debian 10+
WindowsWindows 10+ (需要 WSL 或 Git Bash)

2. 安装方法

方法一:macOS / Linux / WSL(推荐)

打开终端,执行一行命令:

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

安装完成后,重新加载 Shell 配置:

# 如果用 Bash
source ~/.bashrc

# 如果用 Zsh
source ~/.zshrc

方法二:macOS 使用 Homebrew

# 安装
brew install --cask claude-code

# 更新
brew upgrade --cask claude-code

方法三:Windows PowerShell

以管理员身份打开 PowerShell:

irm https://claude.ai/install.ps1 | iex

方法四:Windows 使用 WinGet

# 安装
winget install Anthropic.ClaudeCode

# 更新
winget upgrade Anthropic.ClaudeCode

方法五:npm 安装(已弃用,不推荐)

# 需要 Node.js 18+
npm install -g @anthropic-ai/claude-code

3. 验证安装

# 查看版本
claude --version

# 运行诊断(强烈推荐)
claude doctor

claude doctor 会自动检测以下问题并给出修复建议:

  • Node.js 版本是否满足要求
  • 环境变量是否正确配置
  • 网络连接是否正常
  • 认证状态是否有效

示例输出

Claude Code Doctor
==================

✅ Node.js version: 20.10.0 (required: >= 18.0.0)
✅ npm version: 10.2.3
✅ Claude Code version: 1.0.25
✅ Authentication: Logged in as user@example.com
✅ API connection: OK (latency: 156ms)
⚠️ Git: Not in a git repository

All checks passed! Claude Code is ready to use.

4. 首次登录

安装完成后,进入你的项目目录,启动 Claude Code:

cd your-project
claude

首次运行会自动打开浏览器,引导你完成登录认证:

Welcome to Claude Code!

Opening browser for authentication...
Please log in with your Anthropic account.

Waiting for authentication... ✓

Successfully authenticated as: user@example.com
Subscription: Claude Pro

You're all set! Type your request or /help for commands.

>

5. 使用 API Key(可选)

如果你不想用浏览器登录,可以使用 API Key:

# 设置环境变量
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxx

# 或者在启动时指定
claude --api-key sk-ant-xxxxxxxxxxxxx

获取 API Key

  1. 访问 console.anthropic.com
  2. 登录你的账户
  3. 进入 API Keys 页面
  4. 创建新的 Key 并复制

三、基础使用指南

1. 启动方式

Claude Code 提供多种启动方式,适应不同场景:

# 方式一:交互式对话(最常用)
claude

# 方式二:带初始问题启动
claude "这个项目是做什么的?"

# 方式三:单次查询模式(执行完自动退出)
claude -p "生成一份 API 文档"

# 方式四:继续上次对话
claude -c
# 或
claude --continue

# 方式五:选择历史会话恢复
claude --resume

各模式对比

启动方式适用场景是否保留对话
claude日常开发、探索代码库✅ 保留
claude "问题"快速提问并继续对话✅ 保留
claude -p "问题"自动化脚本、CI/CD❌ 不保留
claude -c继续昨天的工作✅ 保留
claude --resume切换不同任务的对话✅ 保留

会话管理示例

# 查看所有历史会话
claude --resume

# 输出:
Recent sessions:
1. [2h ago]  "修复登录 Bug" - src/auth.js
2. [1d ago]  "重构用户模块" - src/users/
3. [3d ago]  "添加支付功能" - src/payment/

Select a session to resume (1-3) or press Enter to start new:

2. 常用斜杠命令

在交互式对话中,可以使用斜杠命令:

命令功能使用场景
/help显示帮助信息忘记命令时查看
/clear清空当前对话历史开始新任务时
/compact压缩对话历史对话太长影响性能时
/exit退出 Claude Code结束工作
/status显示账户状态查看订阅信息
/cost显示 Token 使用情况监控用量
/config配置设置修改默认行为
/init初始化项目为新项目创建 CLAUDE.md
/memory编辑项目记忆修改 CLAUDE.md
/permissions管理工具权限授权或禁止某些操作
/bug报告 Bug发现问题时反馈

命令使用示例

> /status

Account Status
==============
Email: user@example.com
Plan: Claude Pro
Usage this month: 2.3M tokens
Remaining: Unlimited

> /cost

Session Cost
============
Tokens used: 45,230
  - Input: 38,500
  - Output: 6,730
Estimated cost: $0.23

> /compact

Compressing conversation history...
Before: 128,000 tokens
After: 24,000 tokens
Saved: 81% tokens

Context maintained for:
- File changes made
- Key decisions
- Current task status

3. 文件引用

使用 @ 符号可以引用文件或目录,让 Claude 聚焦于特定代码:

# 引用单个文件
claude "帮我优化 @./src/utils/auth.js 这个文件的性能"

# 引用多个文件
claude "对比 @./src/old-api.js 和 @./src/new-api.js 的差异"

# 引用整个目录
claude "分析 @./src/components 目录下所有组件的代码质量"

# 引用特定类型的文件
claude "检查 @./src/**/*.test.js 所有测试文件的覆盖率"

实际对话示例

你:@./src/utils/date.js 这个文件有什么问题?

Claude:让我分析一下这个日期工具文件...

[Claude 读取文件]

发现以下几个问题:

1. **时区处理不一致** (第 23-45 行)
   - formatDate() 使用本地时区
   - parseDate() 假设是 UTC
   建议:统一使用 UTC 或明确指定时区

2. **性能问题** (第 67 行)
   - 每次调用都创建新的 Intl.DateTimeFormat
   建议:缓存 formatter 实例

3. **潜在 Bug** (第 89 行)
   - isValidDate() 没有处理 Invalid Date
   建议:添加 isNaN() 检查

4. **缺少类型定义**
   建议:添加 JSDoc 或 TypeScript 类型

需要我帮你修复这些问题吗?

4. 执行 Shell 命令

在对话中使用 ! 前缀执行 Shell 命令:

# 在 Claude Code 对话中
!git status
!npm run test
!docker ps
!ls -la src/

实际对话示例

你:帮我看看当前有哪些 Docker 容器在运行

Claude:让我查看一下...

> !docker ps

CONTAINER ID   IMAGE          PORTS                    STATUS
a1b2c3d4e5f6   postgres:14    0.0.0.0:5432->5432/tcp   Up 2 hours
b2c3d4e5f6g7   redis:7        0.0.0.0:6379->6379/tcp   Up 2 hours
c3d4e5f6g7h8   nginx:latest   0.0.0.0:80->80/tcp       Up 30 mins

当前有 3 个容器在运行:
- PostgreSQL 数据库 (端口 5432)
- Redis 缓存 (端口 6379)
- Nginx 反向代理 (端口 80)

需要我帮你做什么操作吗?比如查看日志、重启容器等。

5. 选择模型

根据任务复杂度选择合适的模型:

# 使用 Sonnet(日常任务,速度快,性价比高)
claude --model sonnet

# 使用 Opus(复杂任务,更强大,更贵)
claude --model opus

# 使用 Haiku(简单任务,最快最便宜)
claude --model haiku

模型选择建议

模型适用场景响应速度成本
Haiku简单问答、代码补全、格式化最快最低
Sonnet日常开发、Bug 修复、代码审查较快中等
Opus复杂架构设计、大规模重构、疑难问题较慢较高

6. 实用快捷键

快捷键功能
Tab自动补全文件路径
Ctrl+C中断当前操作
Ctrl+D退出 Claude Code
/ 浏览历史命令
#快速添加指令到 CLAUDE.md
Esc取消当前输入
Esc Esc中断 Claude 操作并探索替代方案

四、CLAUDE.md:项目记忆文件

1. 什么是 CLAUDE.md?

CLAUDE.md 是一个特殊的 Markdown 文件,Claude Code 会在每次启动时自动读取它。你可以把它理解为「项目说明书」或「AI 助手的工作手册」。

为什么需要它?

LLM 是无状态的——每次对话开始,Claude 都是一张白纸。CLAUDE.md 就像是给 Claude 的「入职培训材料」,让它快速了解你的项目。

通过这个文件,你可以:

  • 告诉 Claude 项目的技术栈和架构
  • 定义代码风格规范和命名约定
  • 说明常用命令和开发流程
  • 记录项目特殊约定和注意事项
  • 指定禁止修改的文件或目录

2. 文件位置与优先级

CLAUDE.md 可以放在多个位置,Claude 会按优先级合并读取:

位置作用范围是否提交 Git
~/.claude/CLAUDE.md全局生效,所有项目不提交
项目根目录 CLAUDE.md当前项目,团队共享✅ 建议提交
项目根目录 CLAUDE.local.md当前项目,个人配置❌ 不提交
子目录 CLAUDE.md特定目录视情况

示例场景

~/.claude/CLAUDE.md          # 你的全局偏好:使用中文回复、代码风格等
project/CLAUDE.md            # 项目规范:团队约定、技术栈、命令等
project/CLAUDE.local.md      # 你的个人设置:API Key 位置、本地路径等
project/src/api/CLAUDE.md    # API 模块专属规范:接口设计原则等

3. 快速创建

方法一:自动生成

# 进入项目目录
cd your-project

# 让 Claude 分析项目并生成
claude /init

Claude 会分析项目结构,自动生成一份初始配置:

Analyzing project structure...

Found:
- package.json (Node.js project)
- React components in src/
- Jest tests in __tests__/
- ESLint configuration

Generated CLAUDE.md with:
- Tech stack summary
- Common commands
- Code style guidelines
- Project structure overview

Review and edit as needed: ./CLAUDE.md

方法二:从模板创建

# 创建文件
touch CLAUDE.md

# 编辑
code CLAUDE.md  # 或 vim CLAUDE.md

方法三:在对话中用 # 键快速添加

你:记住,这个项目的测试命令是 npm run test:unit

[按 # 键]

Claude:已添加到 CLAUDE.md:
# 测试命令
- `npm run test:unit`:运行单元测试

4. 完整示例:前端项目

# 项目说明

这是公司内部的电商管理后台,使用 React 18 + TypeScript + Ant Design。

# 技术栈

- 前端框架:React 18 + TypeScript
- UI 组件:Ant Design 5.x
- 状态管理:Zustand
- 请求库:Axios + React Query
- 构建工具:Vite
- 测试框架:Jest + React Testing Library

# 常用命令

- `pnpm dev`:启动开发服务器 (http://localhost:5173)
- `pnpm build`:构建生产版本
- `pnpm test`:运行所有测试
- `pnpm test:watch`:监听模式运行测试
- `pnpm lint`:运行 ESLint 检查
- `pnpm lint:fix`:自动修复 lint 问题
- `pnpm type-check`:运行 TypeScript 类型检查

# 代码规范

- 组件使用函数式 + Hooks,不要用 Class 组件
- 使用 TypeScript 严格模式,不允许 any
- CSS 使用 CSS Modules,文件名 `*.module.scss`
- 变量命名 camelCase,组件命名 PascalCase
- 每个组件一个文件夹,包含 index.tsx 和 index.module.scss

# 项目结构

```
src/
├── components/     # 通用组件
├── pages/          # 页面组件
├── hooks/          # 自定义 Hooks
├── services/       # API 请求
├── stores/         # Zustand 状态
├── utils/          # 工具函数
├── types/          # TypeScript 类型定义
└── constants/      # 常量定义
```

# Git 规范

- 提交信息格式:`<type>(<scope>): <description>`
- type: feat / fix / docs / style / refactor / test / chore
- 示例:`feat(user): 添加用户列表分页功能`

# 注意事项

- 提交前必须通过 lint 和 type-check
- 新功能必须有对应的单元测试
- API 密钥在 .env.local 文件,不要提交
- 不要直接修改 src/generated/ 目录(自动生成的代码)

5. 完整示例:后端项目

# 项目说明

用户服务微服务,负责用户注册、登录、权限管理。

# 技术栈

- 语言:Go 1.21
- 框架:Gin
- 数据库:PostgreSQL 14 + Redis 7
- ORM:GORM
- 认证:JWT
- 文档:Swagger

# 常用命令

- `make run`:启动服务 (http://localhost:8080)
- `make test`:运行测试
- `make test-coverage`:生成覆盖率报告
- `make build`:编译生产版本
- `make docker-build`:构建 Docker 镜像
- `make migrate-up`:执行数据库迁移
- `make migrate-down`:回滚数据库迁移
- `make swagger`:生成 Swagger 文档

# 目录结构

```
├── cmd/            # 程序入口
├── internal/       # 内部包(不对外暴露)
│   ├── handler/    # HTTP 处理器
│   ├── service/    # 业务逻辑
│   ├── repository/ # 数据访问
│   └── model/      # 数据模型
├── pkg/            # 公共包(可对外暴露)
├── migrations/     # 数据库迁移文件
└── docs/           # Swagger 文档
```

# 代码规范

- 遵循 Go 官方代码规范
- 错误必须处理,不能忽略
- 使用结构化日志 (zerolog)
- 数据库操作必须在 repository 层
- 业务逻辑必须在 service 层

# 环境变量

```
DATABASE_URL=postgres://user:pass@localhost:5432/users
REDIS_URL=redis://localhost:6379
JWT_SECRET=xxx
```

# 注意事项

- 敏感配置在 .env 文件,不要提交
- 数据库迁移文件一旦提交不能修改,只能新增
- 所有 API 必须有 Swagger 注释

6. 完整示例:全局配置

~/.claude/CLAUDE.md 设置全局偏好:

# 我的 Claude Code 偏好设置

## 语言

- 请始终使用中文与我交流
- 代码注释使用中文
- Git 提交信息使用中文

## 代码风格

- 优先使用函数式编程风格
- 变量和函数命名要语义化
- 复杂逻辑必须添加注释
- 不要使用缩写(除非是通用缩写如 API、URL)

## 工作习惯

- 修改代码前先解释你的思路
- 每次只做一件事,避免大范围修改
- 修改后告诉我如何验证

## 安全提醒

- 永远不要在代码中硬编码密码或 API Key
- 不要删除或覆盖 .env 文件
- 谨慎处理用户输入,防止注入攻击

7. 最佳实践

保持简洁:研究表明,LLM 能稳定遵循约 150-200 条指令,CLAUDE.md 建议控制在 100-300 行。

# ❌ 不好的写法:啰嗦
我们的项目是一个电商系统,主要功能包括用户管理、商品管理、订单管理等。
这个项目使用了 React 作为前端框架,因为 React 是目前最流行的前端框架之一,
它具有组件化、虚拟 DOM 等特点...

# ✅ 好的写法:简洁
# 技术栈
- React 18 + TypeScript
- Node.js + Express
- PostgreSQL + Redis

使用要点式:用简短的要点代替长段落。

# ❌ 不好的写法
当你需要运行测试的时候,你应该使用 npm run test 命令。如果你想要
运行单个测试文件,你可以使用 npm run test -- --testPathPattern=xxx。
另外,如果你想查看测试覆盖率,可以运行 npm run test:coverage。

# ✅ 好的写法
# 测试命令
- `npm test`:运行所有测试
- `npm test -- --testPathPattern=xxx`:运行指定文件
- `npm test:coverage`:生成覆盖率报告

只写通用规则:Claude 会忽略与当前任务无关的内容,所以只放普遍适用的信息。

使用渐进式披露:把详细信息放在单独文件,在 CLAUDE.md 中引用:

# 更多信息

- API 设计规范见 `docs/api-guidelines.md`
- 数据库设计见 `docs/database-schema.md`
- 部署流程见 `docs/deployment.md`

五、Skills:技能系统

1. 什么是 Skills?

Skills(技能)是 Claude Code 的扩展系统,本质上是预设的 Markdown 指南。当你调用某个技能时,Claude 会自动加载对应的指南,按照指南完成任务。

打个比方:Skills 就像是「标准作业程序(SOP)」。比如 /commit 技能告诉 Claude:「生成提交信息时,要先看改了什么,然后按照 Conventional Commits 规范写」。

2. 内置技能详解

Claude Code 内置了一些常用技能:

技能功能使用场景
/commit智能生成 Git 提交信息完成代码修改后
/review-pr代码审查审查团队成员的 PR
/pdf处理 PDF 文档阅读、提取 PDF 内容
/docx处理 Word 文档编辑、生成 Word 文档
/xlsx处理 Excel 表格分析、生成 Excel 表格
/frontend-design前端界面设计实现 UI 设计稿
/bug报告 Bug发现 Claude Code 问题时

实际使用示例 - /commit

你:/commit

Claude:让我分析一下你的改动...

[Claude 执行 git diff]

检测到以下改动:
- 修改了 src/auth/login.js (登录逻辑优化)
- 新增了 src/auth/logout.js (退出登录功能)
- 修改了 tests/auth.test.js (补充测试用例)

建议的提交信息:

feat(auth): 优化登录逻辑并添加退出登录功能

- 重构登录验证流程,提升性能
- 新增 logout 接口,支持清除 session
- 补充 auth 模块单元测试

是否使用这个提交信息?(y/n/edit)

你:y

[Claude 执行 git commit]

✅ 提交成功!

实际使用示例 - /review-pr

你:/review-pr 156

Claude:正在获取 PR #156 的信息...

PR #156: 添加购物车功能
作者: @developer
分支: feature/shopping-cart  main
改动: 12 个文件,+856/-23 

开始审查...

[Claude 逐个分析改动文件]

---
## 代码审查报告

### ✅ 优点
1. 代码结构清晰,购物车逻辑封装在独立模块
2. 有完整的单元测试覆盖
3. 类型定义完善

### ⚠️ 建议改进
1. **src/cart/CartService.js:45** - 价格计算可能有精度问题
   ```javascript
   // 当前代码
   const total = items.reduce((sum, item) => sum + item.price * item.quantity, 0);

   // 建议改为
   const total = items.reduce((sum, item) =>
     sum + Math.round(item.price * item.quantity * 100) / 100, 0);
   ```

2. **src/cart/CartContext.js:23** - 缺少错误处理
   建议添加 try-catch 包裹 API 调用

3. **tests/cart.test.js** - 缺少边界测试
   建议添加:空购物车、超大数量、负数价格等测试用例

### ❌ 需要修复
1. **src/cart/utils.js:12** - 可能导致 XSS 攻击
   ```javascript
   // 危险!直接使用用户输入
   innerHTML = `商品名: ${item.name}`;

   // 应该转义或使用 textContent
   textContent = `商品名: ${item.name}`;
   ```

### 总结
代码质量良好,修复 XSS 问题后可以合并。

实际使用示例 - /pdf(适合行政、法务、财务)

你:/pdf 帮我分析这份供应商合同 contracts/supplier-2024.pdf

Claude:正在分析合同文件...

📄 合同基本信息:
- 合同名称:年度物料供应合同
- 甲方:我司
- 乙方:XX材料有限公司
- 签订日期:2024年3月15日
- 合同期限:2024年4月1日 - 2025年3月31日

💰 关键商业条款:
1. 合同总金额:580万元
2. 付款方式:月结30天
3. 违约金比例:合同金额的5%

⚠️ 需要注意的条款:
1. 第8.3条:供应商有权在原材料涨价超过10%时调整价格
2. 第12.1条:争议解决地为乙方所在地法院
3. 第15条:自动续约条款,需提前60天书面通知终止

📋 与上一版合同的主要差异:
- 付款周期从45天缩短至30天
- 新增了质量索赔的时效限制(7天)
- 删除了价格保护条款

需要我生成详细的合同摘要报告吗?

实际使用示例 - /xlsx(适合财务、运营、销售)

你:/xlsx 分析一下 reports/sales-q4.xlsx 的销售数据

Claude:正在分析销售数据表格...

📊 Q4 销售数据分析报告

一、整体概况
- 总销售额:2,847 万元
- 同比增长:23.5%
- 环比增长:8.2%
- 订单数量:12,543 笔
- 客单价:2,270 元

二、产品销售排名
| 排名 | 产品类目 | 销售额 | 占比 | 同比 |
|------|----------|--------|------|------|
| 1 | 智能家居 | 892万 | 31.3% | +45% |
| 2 | 个护美妆 | 673万 | 23.6% | +18% |
| 3 | 数码配件 | 521万 | 18.3% | +12% |
| 4 | 家居日用 | 438万 | 15.4% | -5% |
| 5 | 其他 | 323万 | 11.4% | +8% |

三、区域分析
- 华东区贡献最大(42%),但增速放缓
- 西南区增速最快(+67%),值得重点投入
- 东北区下滑明显(-12%),需要分析原因

四、异常数据提醒
⚠️ 发现3条可能的数据错误:
- 第156行:单价为负数
- 第892行:数量超过10000(远超平均值)
- 第1203行:日期格式异常

需要我生成可视化图表或导出分析报告吗?

实际使用示例 - /docx(适合行政、人事、市场)

你:/docx 帮我整理会议记录 notes/meeting-0115.txt 生成正式的会议纪要文档

Claude:正在处理会议记录并生成正式文档...

✅ 已生成会议纪要:docs/会议纪要-2024年度规划讨论会-0115.docx

📋 文档内容预览:

═══════════════════════════════════
    2024年度规划讨论会 会议纪要
═══════════════════════════════════

【会议信息】
- 时间:2024年1月15日 14:00-16:30
- 地点:公司3楼大会议室
- 主持人:张总
- 记录人:李秘书
- 参会人员:各部门负责人(共12人)

【会议议程】
1. 2023年度工作总结(30分钟)
2. 2024年度目标讨论(60分钟)
3. Q1重点项目确认(40分钟)
4. 其他事项(20分钟)

【主要决议】
1. 确定2024年营收目标为1.2亿元(同比+20%)
2. Q1启动新零售项目,预算300万
3. 3月底前完成组织架构调整

【待办事项】
| 事项 | 负责人 | 截止日期 |
|------|--------|----------|
| 提交部门年度计划 | 各部门 | 1月25日 |
| 新零售项目方案 | 市场部 | 2月10日 |
| 招聘计划初稿 | 人事部 | 1月30日 |

【下次会议】
- 时间:2024年1月29日 14:00
- 议题:Q1项目启动会

═══════════════════════════════════

文档已按照公司模板格式排版,包含页眉页脚和标准字体。
需要调整格式或补充内容吗?

3. 创建自定义技能

你可以创建自己的技能,存放在 .claude/skills/ 目录:

.claude/
└── skills/
    └── my-skill/
        ├── skill.md       # 技能定义(必需)
        └── templates/     # 模板文件(可选)

示例:创建一个「生成 API 文档」技能

# .claude/skills/api-docs/skill.md

# API 文档生成器

## 描述

为项目中的 API 接口生成 Markdown 格式的文档。

## 触发条件

当用户调用 /api-docs 时执行。

## 执行步骤

1. 扫描项目中的路由文件(支持 Express、Koa、Fastify)
2. 提取每个接口的信息:
   - 请求方法(GET/POST/PUT/DELETE)
   - 路径
   - 参数(path、query、body)
   - 响应格式
3. 按模块分组生成文档
4. 输出到 docs/api.md

## 文档格式

每个接口按以下格式输出:

### [方法] /路径

**描述**: 接口功能说明

**请求参数**:
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|

**响应示例**:
```json
{
  "code": 0,
  "data": {}
}
```

## 注意事项

- 如果接口有 JSDoc 注释,优先使用注释中的描述
- 敏感接口(如包含 password、token)要标注安全警告
- 废弃的接口要标注 [DEPRECATED]

使用自定义技能

你:/api-docs

Claude:开始生成 API 文档...

[Claude 扫描路由文件]

发现 3 个路由模块:
- routes/auth.js (5 个接口)
- routes/users.js (8 个接口)
- routes/products.js (12 个接口)

正在生成文档...

[Claude 创建 docs/api.md]

✅ API 文档已生成!
文件位置: docs/api.md
包含 25 个接口的完整文档

要预览一下吗?

示例:创建一个「组件生成器」技能

# .claude/skills/create-component/skill.md

# React 组件生成器

## 描述

快速创建符合项目规范的 React 组件。

## 参数

$ARGUMENTS - 组件名称

## 执行步骤

1. 解析组件名称,转换为 PascalCase
2. 在 src/components/ 下创建组件文件夹
3. 生成以下文件:
   - index.tsx (组件主文件)
   - index.module.scss (样式文件)
   - index.test.tsx (测试文件)
   - types.ts (类型定义)

## 模板

### index.tsx
```tsx
import React from 'react';
import styles from './index.module.scss';
import type { ${NAME}Props } from './types';

export const ${NAME}: React.FC<${NAME}Props> = (props) => {
  return (
    <div className={styles.container}>
      ${NAME} Component
    </div>
  );
};

export default ${NAME};
```

### types.ts
```typescript
export interface ${NAME}Props {
  className?: string;
  children?: React.ReactNode;
}
```

使用

你:/create-component UserProfile

Claude:正在创建 UserProfile 组件...

[Claude 创建文件]

✅ 组件创建完成!

src/components/UserProfile/
├── index.tsx        # 组件主文件
├── index.module.scss # 样式文件
├── index.test.tsx   # 测试文件
└── types.ts         # 类型定义

组件已导出,可以这样使用:
import { UserProfile } from '@/components/UserProfile';

4. 技能市场

除了自己创建,你还可以使用社区分享的技能。官方维护了一个技能示例目录:

# 查看可用的示例技能
ls ~/.claude/skills/examples/

# 复制到项目中使用
cp -r ~/.claude/skills/examples/changelog .claude/skills/

六、Subagent:子代理系统

1. 什么是 Subagent?

Subagent(子代理)是 Claude Code 的高级功能,允许创建专门化的 AI 子实例。每个子代理有自己的:

  • 独立上下文窗口
  • 专业领域知识
  • 可用工具集

打个比方:主 Claude 是「项目经理」,可以根据需要召唤不同的「专家顾问」来处理特定任务。这样做的好处是:

  1. 节省 Token:子代理有独立上下文,不会污染主对话
  2. 专业性更强:针对特定任务优化的提示词效果更好
  3. 并行处理:可以同时派出多个子代理处理不同任务

2. 内置子代理类型

类型用途可用工具
Explore快速探索代码库Read, Grep, Glob
Plan设计实现方案Read, Grep, Glob
Bash执行命令Bash
code-reviewer代码审查Read, Grep, Glob, Bash
general-purpose通用任务全部工具

3. 实际使用场景

场景一:探索大型代码库

你:这个项目有几十万行代码,帮我找到所有处理支付的地方

Claude:这是一个大型代码库搜索任务,我来派出 Explore 子代理...

[Explore 子代理启动]

Explore Agent: 正在搜索支付相关代码...

搜索策略:
1. 文件名包含 pay/payment/checkout
2. 代码包含 payment/charge/refund 关键词
3. 目录结构分析

搜索结果:

📁 核心支付模块
├── src/services/payment/
│   ├── PaymentService.ts (支付服务主入口)
│   ├── StripeProvider.ts (Stripe 支付)
│   ├── AlipayProvider.ts (支付宝)
│   └── WechatPayProvider.ts (微信支付)

📁 支付相关接口
├── src/routes/payment.ts (支付 API 路由)
├── src/routes/webhook.ts (支付回调处理)

📁 支付相关组件
├── src/components/Checkout/ (结账页面)
├── src/components/PaymentForm/ (支付表单)

📁 支付工具函数
├── src/utils/payment.ts (价格计算、格式化)

共找到 23 个相关文件,要深入分析哪个部分?

场景二:设计复杂功能

你:我需要实现一个秒杀系统,帮我设计方案

Claude:这是一个需要仔细规划的复杂功能,让我派出 Plan 子代理...

[Plan 子代理启动]

Plan Agent: 正在分析项目现状并设计秒杀系统方案...

## 秒杀系统设计方案

### 一、系统分析

**现有架构**:
- 后端:Node.js + Express
- 数据库:PostgreSQL
- 缓存:Redis
- 队列:无(需要引入)

**流量预估**:
- 按 10000 QPS 设计

### 二、核心挑战

1. **高并发读**:秒杀页面的库存查询
2. **高并发写**:扣减库存、创建订单
3. **超卖问题**:库存不能变负数
4. **性能问题**:数据库扛不住峰值流量

### 三、技术方案

```
[用户] → [Nginx 限流] → [API 网关]
                     [Redis 预减库存]
                    [RabbitMQ 异步队列]
                    [订单服务消费处理]
                      [PostgreSQL]
```

### 四、关键实现

1. **库存预热**
   - 秒杀开始前将库存加载到 Redis
   - 使用 Redis 原子操作 DECR 扣减

2. **请求限流**
   - Nginx 层:IP 限流 100 req/s
   - API 层:用户级限流,每人每秒 1 次

3. **异步下单**
   - 库存扣减成功后发消息到队列
   - 消费者异步创建订单
   - 用户端轮询订单状态

4. **超卖防护**
   ```lua
   -- Redis Lua 脚本,原子性扣减
   if redis.call('GET', KEYS[1]) > 0 then
     return redis.call('DECR', KEYS[1])
   else
     return -1
   end
   ```

### 五、实现步骤

1. [ ] 安装配置 RabbitMQ
2. [ ] 实现 Redis 库存缓存层
3. [ ] 实现限流中间件
4. [ ] 实现秒杀接口
5. [ ] 实现订单消费者
6. [ ] 添加监控告警
7. [ ] 压力测试

### 六、文件清单

需要创建/修改的文件:
- `src/services/seckill/SeckillService.ts`
- `src/services/seckill/StockCache.ts`
- `src/services/seckill/OrderConsumer.ts`
- `src/middlewares/rateLimit.ts`
- `src/routes/seckill.ts`
- `docker-compose.yml` (添加 RabbitMQ)

预计工作量:3-5 天

---

这个方案是否符合你的需求?要我开始实现吗?

场景三:代码审查

你:帮我审查一下今天写的代码

Claude:让我派出 code-reviewer 子代理来审查...

[code-reviewer 子代理启动]

Code Reviewer: 正在检查今天的代码改动...

> git diff --stat HEAD~5

分析范围:最近 5 次提交,涉及 8 个文件

---

## 代码审查报告

### 📊 总体评分:7.5/10

### ✅ 优点

1. **命名清晰** - 变量和函数命名语义化
2. **模块化好** - 功能拆分合理
3. **有测试覆盖** - 新功能都有单元测试

### ⚠️ 建议改进

**1. src/services/UserService.ts:67**
```typescript
// 当前:N+1 查询问题
const users = await User.findAll();
for (const user of users) {
  user.orders = await Order.findByUserId(user.id); // 循环内查询
}

// 建议:使用 JOIN 或批量查询
const users = await User.findAll({
  include: [{ model: Order }]
});
```

**2. src/utils/validator.ts:23**
```typescript
// 当前:正则表达式可能导致 ReDoS
const emailRegex = /^([a-zA-Z0-9_\-\.]+)+@([a-zA-Z0-9_\-\.]+)+\.([a-zA-Z]{2,})$/;

// 建议:使用更安全的正则或库
import isEmail from 'validator/lib/isEmail';
```

**3. src/components/DataTable.tsx:45**
- 缺少 loading 状态处理
- 缺少空数据提示
- 建议添加错误边界

### ❌ 必须修复

**1. src/routes/api.ts:89** - SQL 注入风险!
```typescript
// 危险代码
const query = `SELECT * FROM users WHERE name = '${req.query.name}'`;

// 必须使用参数化查询
const users = await User.findAll({
  where: { name: req.query.name }
});
```

### 📝 其他建议

- 添加 API 请求的超时处理
- 考虑添加请求重试机制
- 建议补充边界测试用例

---

需要我帮你修复这些问题吗?

场景四:市场竞品调研(适合市场、运营人员)

你:帮我收集一下主要竞品最近的动态,我要准备下周的竞品分析会

Claude:这是一个信息收集任务,我来派出 Explore 子代理帮你搜集资料...

[Explore 子代理启动]

Explore Agent: 正在收集竞品信息...

收集范围:
1. 各竞品官网产品更新
2. 公开的新闻报道和PR稿
3. 社交媒体官方账号动态
4. 行业报告和分析文章

---

## 竞品动态汇总报告(最近30天)

### 竞品A - XX科技

📢 重大动态:
- 1月8日:发布新版App 5.0,主打AI推荐功能
- 1月3日:宣布完成C轮融资2亿美元
- 12月28日:与YY平台达成战略合作

💡 产品更新:
- 新增智能客服机器人
- 优化了搜索算法
- 上线会员积分体系

📊 市场动作:
- 在地铁投放大量广告
- 开启春节促销活动

### 竞品B - ZZ互联

📢 重大动态:
- 1月10日:CEO在行业峰会发表演讲
- 1月5日:开放API接口给第三方开发者
- 12月25日:推出企业版产品

💡 产品更新:
- 大幅降价(平均降幅20%)
- 新增数据导出功能
- 改进了移动端体验

### 竞品C - WW网络

📢 重大动态:
- 1月12日:传闘在筹备IPO
- 1月6日:裁员消息(未经证实)

---

📎 我已将详细资料整理到 reports/竞品分析-202401.xlsx
包含:时间线、信息来源链接、截图存档

需要我针对某个竞品深入分析吗?

场景五:财务报表整理(适合财务人员)

你:帮我把这个月的费用报销单都整理一下,按部门汇总

Claude:这是一个数据整理任务,我来派出子代理帮你处理...

[general-purpose 子代理启动]

正在扫描费用报销文件夹...

发现 47 份报销单据:
- PDF 扫描件:32 份
- Excel 表格:10 份
- 图片(发票照片):5 份

正在提取和核对信息...

---

## 2024年1月费用报销汇总

### 按部门统计

| 部门 | 笔数 | 金额(元)| 占比 |
|------|------|----------|------|
| 销售部 | 18 | 45,680.00 | 38.2% |
| 市场部 | 12 | 32,150.00 | 26.9% |
| 技术部 | 8 | 18,900.00 | 15.8% |
| 行政部 | 5 | 12,300.00 | 10.3% |
| 人事部 | 4 | 10,500.00 | 8.8% |
| **合计** | **47** | **119,530.00** | **100%** |

### 按费用类型统计

| 类型 | 金额(元)| 占比 |
|------|----------|------|
| 差旅费 | 52,300.00 | 43.8% |
| 招待费 | 28,400.00 | 23.8% |
| 办公费 | 18,200.00 | 15.2% |
| 交通费 | 12,630.00 | 10.6% |
| 其他 | 8,000.00 | 6.7% |

### ⚠️ 异常提醒

发现 3 笔需要关注的报销:

1. **销售部-王xx** - 招待费 8,500 元
   - 超过单笔5000元审批标准
   - 缺少招待对象说明

2. **市场部-李xx** - 差旅费 6,200 元
   - 住宿费超标(实际450/晚,标准350/晚)
   - 建议补充超标说明

3. **技术部-张xx** - 办公费 3,800 元
   - 发票日期为去年11月,超过报销时限

---

📊 汇总表已导出:reports/费用报销汇总-202401.xlsx
📋 异常报销清单:reports/待处理报销-202401.xlsx

需要我生成给领导的报销情况简报吗?

场景六:行政文档批量处理(适合行政人员)

你:公司有200多个制度文件要更新,把里面的公司旧名称都改成新名称

Claude:这是一个批量文档处理任务,我来派出子代理处理...

[general-purpose 子代理启动]

正在扫描制度文件夹...

发现 238 个文档文件:
- Word文档(.docx):156 个
- PDF文件:52 个
- Excel表格:30 个

正在分析文档内容...

---

## 文档批量更新报告

### 任务概述
- 替换内容:「XX有限公司」→「XX集团股份有限公司」
- 涉及文件:238 个

### 处理结果

✅ **已完成更新**:186 个文件

| 文件类型 | 数量 | 替换处数 |
|----------|------|----------|
| Word文档 | 156 | 1,247 处 |
| Excel表格 | 30 | 89 处 |

⚠️ **需要手动处理**:52 个文件

PDF 文件无法直接编辑,已生成替换清单:
- 文件名
- 页码
- 需替换位置的截图标注

📁 **输出文件夹结构**:

制度文件_已更新/ ├── 已更新/ # 156个Word + 30个Excel ├── 待手动处理/ # 52个PDF文件 ├── 原文件备份/ # 所有原始文件 └── 处理报告.xlsx # 详细替换日志


### 额外发现

在处理过程中还发现:
1. 有 12 个文件包含已过期的联系电话
2. 有 8 个文件的落款日期超过3年未更新
3. 有 5 个文件存在两个版本(可能重复)

是否需要一并处理这些问题?

4. 创建自定义子代理

.claude/agents/ 目录创建配置文件:

示例:创建一个「安全审计」子代理

# .claude/agents/security-auditor.yaml

name: security-auditor
description: "安全审计专家,专门检查代码中的安全漏洞"

system_prompt: |
  你是一位资深的安全审计专家,精通 OWASP Top 10 和各类安全漏洞。

  在审计代码时,重点检查:

  1. 注入攻击
     - SQL 注入
     - NoSQL 注入
     - OS 命令注入
     - LDAP 注入

  2. 认证与会话管理
     - 弱密码策略
     - 会话固定
     - 不安全的 Token 存储

  3. 敏感数据暴露
     - 硬编码的密钥/密码
     - 明文传输敏感数据
     - 日志中的敏感信息

  4. XSS 跨站脚本
     - 反射型 XSS
     - 存储型 XSS
     - DOM 型 XSS

  5. 不安全的反序列化
  6. 使用含已知漏洞的组件
  7. 不足的日志记录和监控

  发现问题时,要给出:
  - 问题位置(文件:行号)
  - 风险等级(严重/高/中/低)
  - 问题描述
  - 修复建议
  - 修复代码示例

tools:
  - Read
  - Grep
  - Glob
  - Bash

max_tokens: 8000

示例:创建一个「性能优化」子代理

# .claude/agents/performance-optimizer.yaml

name: performance-optimizer
description: "性能优化专家,分析和优化代码性能"

system_prompt: |
  你是一位性能优化专家,精通前端和后端的性能调优。

  分析时关注:

  前端性能:
  - 包体积分析
  - 渲染性能
  - 内存泄漏
  - 网络请求优化

  后端性能:
  - 数据库查询优化
  - 缓存策略
  - 并发处理
  - 内存使用

  给出建议时要:
  - 量化性能提升(如:减少 50% 加载时间)
  - 提供具体的代码修改
  - 说明优化原理
  - 评估实现成本

tools:
  - Read
  - Grep
  - Glob
  - Bash

max_tokens: 8000

使用自定义子代理

你:用 security-auditor 检查一下登录模块

Claude:让我派出安全审计专家检查登录模块...

[security-auditor 子代理启动]

Security Auditor: 开始安全审计 src/auth/ 目录...

## 安全审计报告 - 登录模块

### 🔴 严重问题 (2)

**1. SQL 注入风险**
- 文件:`src/auth/login.js:34`
- 风险等级:严重
```javascript
// 问题代码
const user = await db.query(
  `SELECT * FROM users WHERE email = '${email}'`
);

// 修复方案
const user = await db.query(
  'SELECT * FROM users WHERE email = $1',
  [email]
);
```

**2. 密码明文日志**
- 文件:`src/auth/login.js:28`
- 风险等级:严重
```javascript
// 问题代码
console.log(`Login attempt: ${email}, password: ${password}`);

// 修复方案
console.log(`Login attempt: ${email}`);
// 永远不要记录密码!
```

### 🟠 高风险问题 (3)

**1. 缺少登录频率限制**
- 可能被暴力破解
- 建议:添加 rate limiting,如 5 次失败后锁定 15 分钟

**2. 弱密码策略**
- 当前:仅要求 6 位以上
- 建议:至少 8 位,包含大小写字母和数字

**3. Session 未绑定 IP**
- 会话可能被劫持
- 建议:将 Session 与客户端 IP 绑定

### 🟡 中等风险 (2)

(详细内容...

### 📊 审计统计

- 扫描文件:12 
- 发现问题:7 
  - 严重:2
  - 高:3
  - 中:2

建议优先修复严重和高风险问题。需要我帮你修复吗?

七、配置与权限管理

1. 配置文件层级

Claude Code 使用三层配置文件,优先级从高到低:

文件位置用途是否提交 Git
本地配置.claude/settings.local.json个人偏好❌ 不提交
项目配置.claude/settings.json团队共享✅ 提交
用户配置~/.claude/settings.json全局设置-

2. 权限管理详解

Claude Code 默认会在执行敏感操作前请求确认。你可以预先授权或禁止某些操作:

{
  "allowedTools": [
    "Read",
    "Write(src/**)",
    "Write(tests/**)",
    "Bash(npm *)",
    "Bash(git *)",
    "Bash(pnpm *)"
  ],
  "deniedTools": [
    "Read(.env*)",
    "Write(.env*)",
    "Read(**/secrets/**)",
    "Write(**/secrets/**)",
    "Bash(rm -rf *)",
    "Bash(sudo *)"
  ]
}

权限规则详解

规则含义
Read允许读取任意文件
Write(src/**)允许写入 src 目录下的所有文件
Bash(npm *)允许执行 npm 开头的命令
Read(.env*)禁止读取 .env 开头的文件
Bash(rm -rf *)禁止执行危险的删除命令

实际效果

你:帮我删除 node_modules 目录

Claude:我需要执行 rm -rf node_modules。
但根据配置,我没有权限执行 rm -rf 命令。

建议手动执行:
rm -rf node_modules

或者修改 .claude/settings.json 添加权限:
"allowedTools": ["Bash(rm -rf node_modules)"]

3. 完整配置示例

{
  "model": "sonnet",
  "allowedTools": [
    "Read",
    "Write(src/**)",
    "Write(tests/**)",
    "Write(docs/**)",
    "Bash(npm *)",
    "Bash(pnpm *)",
    "Bash(git *)",
    "Bash(docker *)",
    "Bash(make *)"
  ],
  "deniedTools": [
    "Read(.env*)",
    "Write(.env*)",
    "Read(**/*secret*)",
    "Write(**/*secret*)",
    "Read(**/*credential*)",
    "Write(**/*credential*)",
    "Bash(rm -rf /)",
    "Bash(sudo *)",
    "Bash(* > /dev/*)",
    "Bash(curl * | bash)"
  ],
  "autoApprove": {
    "read": true,
    "edit": false,
    "write": false,
    "bash": false
  },
  "gitConfig": {
    "autoCommit": false,
    "commitMessageTemplate": "<type>(<scope>): <description>",
    "signCommits": true
  }
}

4. 环境变量

# 认证相关
export ANTHROPIC_API_KEY=sk-ant-xxxxx  # API Key 认证

# 模型选择
export CLAUDE_MODEL=sonnet             # 默认模型

# 代理设置(企业网络)
export HTTPS_PROXY=http://proxy.company.com:8080
export HTTP_PROXY=http://proxy.company.com:8080

# 调试
export CLAUDE_DEBUG=true               # 开启调试日志

5. Hooks:自动化钩子

Hooks 允许你在 Claude 执行某些操作前后自动运行命令:

{
  "hooks": {
    "PostToolUse": [
      {
        "tool": "Write",
        "pattern": "*.ts",
        "command": "npx prettier --write $FILE"
      },
      {
        "tool": "Write",
        "pattern": "*.tsx",
        "command": "npx prettier --write $FILE && npx eslint --fix $FILE"
      }
    ],
    "PreCommit": [
      {
        "command": "npm run lint"
      },
      {
        "command": "npm run test"
      }
    ]
  }
}

实际效果

Claude:我刚创建了 src/components/Button.tsx

[PostToolUse Hook 触发]
> npx prettier --write src/components/Button.tsx
> npx eslint --fix src/components/Button.tsx

文件已自动格式化。

八、高级使用技巧

1. 探索-计划-编码-提交 工作流

这是官方推荐的最佳实践工作流:

# 第一步:探索
你:帮我了解一下用户认证是怎么实现的

Claude:[使用 Explore 子代理搜索代码库]
找到了,让我给你梳理一下认证流程...

# 第二步:计划
你:我想添加 OAuth2 登录,帮我设计方案

Claude:[使用 Plan 子代理设计方案]
我来制定一个详细的实现计划...

你:这个方案不错,但我们用 Passport.js 而不是自己实现

Claude:好的,我调整一下方案...

# 第三步:编码
你:开始实现吧

Claude:[按计划逐步实现]
我先安装依赖,然后创建配置文件...

# 第四步:提交
你:/commit

Claude:[分析改动,生成提交信息]
建议的提交信息:feat(auth): 添加 Google OAuth2 登录支持

2. 测试驱动开发(TDD)

# 第一步:让 Claude 写测试
你:为用户登录功能编写单元测试,要覆盖以下场景:
    - 正常登录
    - 密码错误
    - 用户不存在
    - 账户被锁定

Claude:[创建测试文件]
我创建了 tests/auth/login.test.ts,包含 12 个测试用例...

# 第二步:运行测试(应该失败)
你:运行测试

Claude:
> npm test tests/auth/login.test.ts

❌ 12 个测试,12 个失败
这是预期的,因为功能还没实现。

# 第三步:实现功能
你:现在实现功能让测试通过

Claude:[实现代码]
我来实现登录逻辑...

# 第四步:验证
你:再运行一次测试

Claude:
> npm test tests/auth/login.test.ts

✅ 12 个测试,12 个通过
所有测试都通过了!

3. 多窗口并行工作

使用 Git Worktree 在多个终端同时运行 Claude Code:

# 终端 1:继续主分支的工作
cd project
claude

# 终端 2:同时处理紧急 Bug 修复
git worktree add ../project-hotfix hotfix/payment-bug
cd ../project-hotfix
claude

好处

  • 两个 Claude 实例独立工作,互不影响
  • 可以同时处理不同的任务
  • 避免频繁切换分支导致的上下文丢失

4. CI/CD 集成

GitHub Actions 示例

# .github/workflows/claude-review.yml
name: Claude Code Review

on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Claude Code
        run: curl -fsSL https://claude.ai/install.sh | bash

      - name: Run Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p "审查这个 PR 的代码改动,检查:
          1. 代码质量和最佳实践
          2. 潜在的 Bug
          3. 安全问题
          4. 性能问题

          输出 Markdown 格式的审查报告。" > review.md

      - name: Post Review Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const review = fs.readFileSync('review.md', 'utf8');
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: review
            });

自动生成发布说明

# 获取两个版本之间的提交
git log v1.0.0..v1.1.0 --oneline | claude -p "
根据这些 Git 提交记录,生成发布说明。

格式要求:
## 版本 1.1.0

### ✨ 新功能
- ...

### 🐛 Bug 修复
- ...

### 📝 其他改动
- ...
"

5. 管道操作

结合 Unix 管道使用 Claude:

# 分析错误日志
cat error.log | claude -p "分析这些错误日志,找出最常见的问题和解决建议"

# 实时监控日志
tail -f app.log | claude -p "监控这个日志流,发现以下情况时立即提醒我:
1. 错误率突然上升
2. 响应时间超过 2 秒
3. 数据库连接失败"

# 代码统计分析
find src -name "*.ts" | xargs wc -l | claude -p "分析这个代码统计,告诉我:
1. 哪些模块代码量最大
2. 是否有需要拆分的大文件"

# 依赖分析
npm list --json | claude -p "分析这个依赖树,找出:
1. 过时的依赖
2. 有已知安全漏洞的依赖
3. 可以合并的重复依赖"

6. 图片辅助开发

Claude Code 支持直接处理图片:

# 方式一:直接拖拽图片到终端
claude "按照这个设计稿实现页面" [拖入设计图]

# 方式二:粘贴截图
# macOS: Cmd+Ctrl+Shift+4 截图后 Cmd+V 粘贴

# 方式三:引用图片文件
claude "分析 @./designs/homepage.png 这个设计稿,告诉我需要哪些组件"

实际对话

你:[拖入设计稿图片]
    按这个设计稿实现登录页面

Claude:我分析了这个设计稿,需要实现以下元素:

布局:
- 左侧:品牌 Logo + 装饰图
- 右侧:登录表单

表单元素:
- 标题 "Welcome Back"
- 邮箱输入框
- 密码输入框(带显示/隐藏切换)
- "记住我" 复选框
- "忘记密码" 链接
- 登录按钮(渐变色 #6366f1 → #8b5cf6)
- 分割线 "Or continue with"
- 社交登录按钮(Google、GitHub、Apple)
- "还没有账户?注册" 链接

样式细节:
- 圆角:12px
- 阴影:柔和投影
- 字体:Inter

开始实现吗?

7. 使用检查清单管理大任务

对于复杂任务,让 Claude 创建检查清单来跟踪进度:

你:帮我把项目从 JavaScript 迁移到 TypeScript,先列个清单

Claude:好的,我来创建一个迁移清单:

## JavaScript → TypeScript 迁移清单

### 阶段一:基础设置
- [ ] 安装 TypeScript 和类型定义
- [ ] 创建 tsconfig.json
- [ ] 配置构建工具支持 TS
- [ ] 更新 ESLint 配置

### 阶段二:核心文件迁移
- [ ] src/index.js → src/index.ts
- [ ] src/app.js → src/app.ts
- [ ] src/config/ (5 个文件)
- [ ] src/utils/ (12 个文件)

### 阶段三:业务逻辑迁移
- [ ] src/services/ (8 个文件)
- [ ] src/controllers/ (15 个文件)
- [ ] src/middlewares/ (6 个文件)

### 阶段四:类型定义
- [ ] 创建 API 请求/响应类型
- [ ] 创建数据库模型类型
- [ ] 创建配置类型

### 阶段五:测试与验证
- [ ] 更新测试文件
- [ ] 运行类型检查
- [ ] 运行测试套件
- [ ] 构建生产版本

---

总计:约 50 个文件需要迁移
预计工作量:2-3 天

从哪个阶段开始?

你:从阶段一开始

Claude:开始阶段一:基础设置

[x] 安装 TypeScript 和类型定义
> npm install -D typescript @types/node @types/express

[x] 创建 tsconfig.json
[Claude 创建配置文件]

[x] 配置构建工具支持 TS
[Claude 修改 webpack.config.js]

[x] 更新 ESLint 配置
[Claude 修改 .eslintrc.js]

✅ 阶段一完成!

要继续阶段二吗?

九、MCP:模型上下文协议

1. 什么是 MCP?

MCP(Model Context Protocol)是一个开放协议,让 Claude Code 能够安全地连接外部工具和数据源。

打个比方:如果说 Claude 的大脑是「思考能力」,那 MCP 就是给它装上了「手」——让它能操作各种外部系统。

┌─────────────────┐
│   Claude Code   │
└────────┬────────┘
         │ MCP 协议
┌────────────────────────────────────────────┐
│              MCP 服务器                      │
├──────────┬──────────┬──────────┬───────────┤
│ GitHub   │ Slack    │ Database │ FileSystem│
│ 服务器    │ 服务器    │ 服务器    │ 服务器     │
└──────────┴──────────┴──────────┴───────────┘

2. 添加 MCP 服务器

# 添加文件系统访问(扩展访问范围)
claude mcp add filesystem -- npx @modelcontextprotocol/server-filesystem /path/to/allowed/dir

# 添加 GitHub 集成
claude mcp add github -- npx @modelcontextprotocol/server-github

# 添加 Slack 集成
claude mcp add slack -- npx @modelcontextprotocol/server-slack

# 添加 SQLite 数据库
claude mcp add sqlite -- npx @modelcontextprotocol/server-sqlite /path/to/database.db

# 添加 PostgreSQL
claude mcp add postgres -- npx @modelcontextprotocol/server-postgres "postgresql://user:pass@localhost/db"

# 添加浏览器自动化
claude mcp add puppeteer -- npx @modelcontextprotocol/server-puppeteer

3. 常用 MCP 服务器及使用场景

服务器功能使用场景
filesystem文件系统访问访问项目外的文件
githubGitHub 操作管理仓库、PR、Issue
slackSlack 消息发送通知、读取频道消息
sqliteSQLite 数据库查询本地数据库
postgresPostgreSQL查询生产数据库
puppeteer浏览器自动化网页测试、截图、爬虫
notionNotion 文档读写 Notion 页面
google-driveGoogle Drive读取云端文档
figmaFigma 设计获取设计稿信息

4. 实际使用示例

示例:GitHub 集成

你:帮我看看 PR #156 的状态,如果检查都通过了就合并

Claude:让我通过 GitHub MCP 查看...

[通过 MCP 调用 GitHub API]

PR #156 状态:
- 标题:添加用户导出功能
- 作者:@developer
- CI 检查:✅ 全部通过 (3/3)
- 审查:✅ 已批准 (2 人)
- 冲突:无

所有条件满足,正在合并...

[通过 MCP 执行合并]

✅ PR #156 已成功合并到 main 分支!

示例:数据库查询

你:帮我查一下昨天新注册了多少用户,按渠道分组

Claude:让我查询数据库...

[通过 MCP 连接 PostgreSQL]

> SELECT channel, COUNT(*) as count
  FROM users
  WHERE created_at >= '2025-01-13'
  GROUP BY channel
  ORDER BY count DESC;

查询结果:

| 渠道 | 新用户数 |
|------|----------|
| organic | 1,234 |
| google_ads | 567 |
| referral | 234 |
| facebook | 123 |

总计:2,158 新用户

要我生成一份详细报告吗?

示例:Slack 通知

你:部署完成后,在 #deployments 频道发个通知

Claude:好的,让我发送 Slack 消息...

[通过 MCP 发送 Slack 消息]

✅ 已发送到 #deployments:

---
🚀 **部署通知**

**服务**: user-service
**版本**: v1.2.3
**环境**: production
**时间**: 2025-01-14 15:30:00

**改动摘要**:
- 添加用户导出功能
- 修复登录超时问题
- 优化数据库查询性能

**部署者**: @bruce
---

5. 配置 MCP 服务器

MCP 配置存储在 ~/.claude/mcp.json

{
  "servers": {
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_TOKEN": "${SLACK_BOT_TOKEN}"
      }
    },
    "database": {
      "command": "npx",
      "args": [
        "@modelcontextprotocol/server-postgres",
        "${DATABASE_URL}"
      ]
    }
  }
}

十、不同角色的使用指南

1. 开发工程师

日常开发流程

# 早上:继续昨天的工作
claude -c

# 遇到问题:快速求助
claude "这个报错什么意思?[粘贴报错]"

# 代码审查:自动审查自己的代码
claude "审查一下我今天的改动"

# 下班前:整理提交
claude /commit

常用提示词模板

# 新功能开发
"帮我实现 [功能描述],要求:
1. [具体要求1]
2. [具体要求2]
参考现有的 [相似功能/文件]"

# Bug 修复
"[报错信息]
这个错误发生在 [场景描述]
帮我找出原因并修复"

# 代码重构
"重构 @[文件路径],目标:
1. 提高可读性
2. 减少重复代码
3. 保持现有功能不变"

# 性能优化
"@[文件路径] 这个文件性能有问题,
现象是 [问题描述]
帮我分析并优化"

2. 产品经理

了解技术实现

你:我想了解用户注册流程的技术实现,不需要代码细节,
    只需要告诉我整体架构和关键节点

Claude:让我帮你梳理一下...

用户注册流程概览:

1. **前端表单提交**
   - 用户填写:邮箱、密码、昵称
   - 前端验证:格式、强度

2. **后端处理**
   - 验证邮箱是否已注册
   - 密码加密存储
   - 生成验证码

3. **邮件发送**
   - 发送验证邮件
   - 有效期 24 小时

4. **邮箱验证**
   - 用户点击链接
   - 激活账户

5. **数据存储**
   - 用户表 (users)
   - 验证记录表 (verifications)

整个流程约 3-5 秒完成注册,邮件可能延迟 1-2 分钟。

有什么想深入了解的吗?

验证需求可行性

你:我想做一个功能:用户可以用微信扫码登录,
    技术上能实现吗?需要什么条件?

Claude:这个功能可以实现。让我分析一下...

## 微信扫码登录技术分析

### 可行性:✅ 可实现

### 前置条件
1. **微信开放平台账号**
   - 需要企业资质认证
   - 费用:300元/年

2. **已备案域名**
   - 回调地址必须备案
   - 需要 HTTPS

3. **开发工作量**
   - 前端:约 2 天
   - 后端:约 3 天
   - 测试:约 2 天

### 用户体验流程
1. 用户点击「微信登录」按钮
2. 页面显示二维码
3. 用户打开微信扫码
4. 微信弹出授权确认
5. 用户同意后自动登录

### 注意事项
- 首次登录需绑定手机号(建议)
- 需处理微信昵称特殊字符
- 需缓存头像到自己服务器

### 替代方案
如果暂时没有企业资质,可以考虑:
- 手机号验证码登录
- 邮箱登录

需要我整理一份详细的需求文档吗?

3. 运维人员

编写监控脚本

你:帮我写一个监控脚本,每 5 分钟检查一次服务器状态,
    CPU 超过 80% 或内存超过 90% 就发邮件告警

Claude:好的,我来创建监控脚本...

[创建 monitor.sh]

脚本已创建!功能说明:

📄 monitor.sh

功能:
-  5 分钟检查 CPU 和内存使用率
- 超过阈值发送邮件告警
- 记录日志到 /var/log/monitor.log

使用方法:

1. 配置邮件信息
   export ALERT_EMAIL=ops@company.com
   export SMTP_SERVER=smtp.company.com

2. 设置执行权限
   chmod +x monitor.sh

3. 添加到 crontab
   */5 * * * * /path/to/monitor.sh

4. 查看日志
   tail -f /var/log/monitor.log

要我帮你部署吗?

分析日志

你:分析一下这份错误日志,找出主要问题

[粘贴日志]

Claude:让我分析这份日志...

## 日志分析报告

### 时间范围
2025-01-14 10:00 - 11:00(1 小时)

### 问题概览

| 错误类型 | 次数 | 占比 |
|----------|------|------|
| 数据库连接超时 | 156 | 45% |
| Redis 连接失败 | 89 | 26% |
| 请求超时 | 67 | 19% |
| 其他错误 | 35 | 10% |

### 根因分析

**主要问题:数据库连接池耗尽**

10:15 开始出现大量数据库连接超时:

[10:15:23] Error: Connection pool exhausted, waiting… [10:15:24] Error: Query timeout after 30000ms


**原因推测**:
1. 连接池配置过小(当前:10,建议:50)
2. 存在慢查询未释放连接
3. 10:00-10:15 流量峰值

**关联问题**:
- Redis 失败是因为重试机制导致雪崩
- 请求超时是数据库问题的连锁反应

### 建议措施

**紧急**:
1. 增加数据库连接池大小
2. 重启 Redis 连接

**长期**:
1. 添加慢查询告警
2. 优化高频查询
3. 增加熔断机制

需要我帮你修改配置吗?

4. 非技术人员

学习编程

你:我是财务,完全不懂编程,但想学着用 Python 处理 Excel
    能从最基础的教我吗?

Claude:当然可以!让我从最基础的开始教你。

## Python 处理 Excel 入门教程

### 第一步:理解基本概念

把 Python 想象成一个「超级计算器」:
- 你给它指令
- 它帮你执行
- 就像 Excel 里的公式,但更强大

### 第二步:写第一个程序

创建一个文件 `hello.py`,内容:

```python
print("你好,我开始学 Python 了!")
```

运行方式:
1. 打开终端(Windows 按 Win+R,输入 cmd)
2. 输入 python hello.py
3. 你会看到打印出的文字

### 第三步:处理 Excel

这是一个简单的例子:

```python
# 导入 Excel 处理工具(就像 Excel 里的插件)
import pandas as pd

# 读取 Excel 文件
data = pd.read_excel("销售数据.xlsx")

# 查看前几行
print(data.head())

# 计算销售额总和
total = data["销售额"].sum()
print(f"总销售额: {total}")
```

我帮你创建这个文件吗?你可以用你自己的 Excel 试试。

自动化日常工作

你:我每天要把下载文件夹里的 PDF 发票按月份整理到不同文件夹,
    能自动化吗?

Claude:完全可以!我来帮你创建一个自动整理脚本。

[创建 organize_invoices.py]

脚本已创建!使用方法超级简单:

### 使用步骤

1. **双击运行**
   - 直接双击 `运行整理.bat` 文件
   - 或者双击 `organize_invoices.py`

2. **它会自动**
   - 扫描「下载」文件夹里的所有 PDF
   - 读取文件修改日期
   - 创建「2025年01月」这样的文件夹
   - 把文件移动到对应月份的文件夹

3. **运行结果**
   下载/
   ├── 2025年01月/
   │   ├── 发票001.pdf
   │   └── 发票002.pdf
   ├── 2024年12月/
   │   └── 发票003.pdf
   └── organize_invoices.py

### 设置定时运行(可选)

如果想每天自动运行:
1. 打开「任务计划程序」
2. 创建基本任务
3. 设置每天下午 6 点运行

要我帮你设置定时任务吗?

十一、常见问题解答

1. 安装问题

Q: 安装后无法运行,提示 command not found

# 1. 重新加载 Shell 配置
source ~/.bashrc  # Bash 用户
source ~/.zshrc   # Zsh 用户

# 2. 检查 PATH
echo $PATH | grep -i claude

# 3. 手动添加到 PATH(如果需要)
export PATH="$HOME/.claude/bin:$PATH"

# 4. 运行诊断
claude doctor

Q: 安装时报错 permission denied

# 不要使用 sudo!这是常见错误
# ❌ 错误
sudo npm install -g @anthropic-ai/claude-code

# ✅ 正确:使用推荐的安装方式
curl -fsSL https://claude.ai/install.sh | bash

Q: Windows 上安装失败

# 1. 确保以管理员身份运行 PowerShell

# 2. 设置执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

# 3. 重新安装
irm https://claude.ai/install.ps1 | iex

2. 认证问题

Q: 浏览器登录后 CLI 没反应

# 检查是否在等待认证
# 如果卡住了,按 Ctrl+C 取消,然后重试

# 或者使用 API Key 方式
export ANTHROPIC_API_KEY=sk-ant-xxxxx
claude

Q: 提示订阅无效

确认以下几点:
1. 你的 Claude 订阅是否激活?
2. 是 Pro/Max/Teams/Enterprise 版本吗?
3. 登录的是否是正确的账号?

可以访问 https://claude.ai/settings 检查订阅状态

3. 使用问题

Q: Claude 不理解我的项目

解决方案:

1. 确保在项目根目录运行
   cd /path/to/your/project
   claude

2. 创建 CLAUDE.md 文件
   claude /init

3. 使用 @ 引用具体文件
   claude "帮我看看 @./src/main.js 这个文件"

4. 给足够的上下文
   claude "这是一个 React 项目,使用 TypeScript,
          帮我在 src/components 下创建一个 Button 组件"

Q: 对话太长导致响应变慢或报错

# 方案 1:压缩历史(保留上下文摘要)
> /compact

# 方案 2:清空重新开始(完全清除)
> /clear

# 方案 3:开始新会话
> /exit
claude

Q: Claude 修改了不该改的文件

# 1. 用 Git 回退
git checkout -- path/to/file

# 2. 配置禁止访问
# 在 .claude/settings.json 添加:
{
  "deniedTools": [
    "Write(path/to/protected/**)"
  ]
}

Q: 如何查看 Claude 要执行什么操作

Claude 在执行敏感操作前会请求确认:

Claude: 我需要执行以下操作:
        [Write] 创建文件 src/new-file.js
        [Bash] npm install lodash

        确认执行?(y/n/explain)

输入 explain 可以让 Claude 解释为什么要这样做

4. 性能问题

Q: 响应很慢

可能原因和解决方案:

1. 网络问题
   - 检查网络连接
   - 如果在公司网络,配置代理

2. 对话太长
   - 使用 /compact 压缩历史

3. 项目太大
   - 使用 @ 指定具体文件,而不是让 Claude 全局搜索

4. 模型选择
   - 简单任务用 Sonnet,更快
   claude --model sonnet

Q: Token 消耗太快

# 1. 查看当前消耗
> /cost

# 2. 减少消耗的技巧:
- 精简 CLAUDE.md
- 避免让 Claude 读取大文件
- 用具体的问题代替开放性问题
- 完成一个任务后 /clear 开始新任务

5. 安全问题

Q: Claude 会看到我的敏感信息吗?

Claude Code 的安全机制:

1. 默认不读取 .env 文件
2. 可以配置禁止访问敏感文件
3. 执行敏感操作前会请求确认

你可以这样加强保护:

// .claude/settings.json
{
  "deniedTools": [
    "Read(.env*)",
    "Read(**/*secret*)",
    "Read(**/*credential*)",
    "Read(**/*.pem)",
    "Read(**/*.key)"
  ]
}

Q: 代码会被发送到云端吗?

是的,与 Claude 的交互会发送到 Anthropic 的服务器。

但是:
1. Anthropic 不会用你的代码训练模型
2. 对话数据有保留期限
3. 企业版可以选择私有部署

如果项目高度敏感,建议:
1. 使用企业版私有部署
2. 或者使用 Amazon Bedrock / Google Vertex AI 版本

Q: 如何防止 Claude 执行危险命令?

// .claude/settings.json
{
  "deniedTools": [
    "Bash(rm -rf *)",
    "Bash(sudo *)",
    "Bash(chmod 777 *)",
    "Bash(curl * | bash)",
    "Bash(wget * -O - | sh)",
    "Bash(* > /dev/*)",
    "Bash(dd if=*)",
    "Bash(mkfs*)",
    "Bash(:(){:|:&};:)"
  ]
}

十二、总结

Claude Code 是一个强大的 AI 编程助手,它的核心优势在于:

核心价值

  1. 终端原生:无需切换窗口,在开发环境中直接使用
  2. 可执行操作:不只是聊天,而是真正能动手干活
  3. 理解上下文:能分析整个代码库,给出针对性建议
  4. 高度可定制:通过 CLAUDE.md、Skills、Subagent 扩展能力

适用场景

场景推荐用法
日常开发交互式对话 claude
快速提问带问题启动 claude "问题"
自动化流程单次模式 claude -p "指令"
代码审查/review-pr 技能
项目初始化/init 生成 CLAUDE.md
CI/CD 集成GitHub Actions + claude -p

学习路径建议

第一周:入门

  • 安装并完成认证
  • 学会基本对话
  • 创建第一个 CLAUDE.md

第二周:进阶

  • 熟悉斜杠命令
  • 学会使用内置技能
  • 配置权限和设置

第三周:高级

  • 创建自定义技能
  • 使用 Subagent
  • 集成 MCP 服务器

持续优化

  • 根据使用经验完善 CLAUDE.md
  • 创建适合团队的自定义工具
  • 分享最佳实践

无论你是想提高编码效率的开发者、需要处理数据的业务人员、管理团队的技术负责人,还是想自动化日常工作的行政财务同学,Claude Code 都值得一试。它代表了 AI 工具的未来方向——不是替代人类,而是成为每个人的智能助手,帮你把繁琐的工作交给 AI,让你专注于更有价值的事情。

相关链接