ClaudeCode

使用的claude版本是v2.1.77

教程

安装

安装Claude code命令行工具

  1. 环境

    需要Node.js >= 16npm >= 8git >= 2

    1
    2
    3
    4
    5
    6
    7
    8
    # 检查Node.js版本
    node --version

    # 检查npm版本
    npm --version

    # 检查git版本
    git --version
  2. 安装插件

    VS Code搜索插件:Claude Code for VS Code

  3. 安装命令行工具

    1
    2
    3
    4
    5
    # 使用npm安装
    npm install -g @anthropic-ai/claude-code

    # 检查Claude Code版本
    claude --version
  4. 登录Claude账号(国内用不了)

    浏览器登录:https://claude.ai/login

  5. 跳过账号登录来使用

    1. 在命令行输入claude,会在用户目录下创建.claude目录

    2. 点进去,创建settings.json文件

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      {
      "env": {
      "ANTHROPIC_AUTH_TOKEN": "api key",
      "ANTHROPIC_BASE_URL": "模型地址",
      "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
      },
      "permissions": {
      "allow": [],
      "deny": []
      }
      }
    3. 修改.claude.json,添加一项(和.claude文件夹同级目录)

      1
      2
      3
      {
      "hasCompletedOnboarding": true
      }
    4. 之后再用claude命令就不会跳到登录网页了

安装AICodeSwitch

用于管理和切换多个模型,是网页ui

每次电脑重启都需要aicos ui来启动

https://github.com/tangshuang/aicodeswitch

  1. 执行安装命令

    1
    npm install -g aicodeswitch
  2. 打开管理界面命令

    1
    aicos ui
  3. 配置参考

    【只要1分钟,Claude Code快速接入国产大模型GLM】 https://www.bilibili.com/video/BV1a865B8ErA/?share_source=copy_web&vd_source=1b540b8917a7827974950e295fe5de5d

  4. 停止

    1
    aicos stop
  5. 卸载

    1
    npm uninstall -g aicodeswitch

安装CCSwitch

和AICodeSwitch功能类似,但这个是桌面客户端

https://github.com/farion1231/cc-switch

  1. 在github仓库中选择对应版本下载即可

  2. 配置使用的模型

    1. 以配置deepseek为例,先申请秘钥
    2. 然后点击右上角加号,选择deepseek
    3. 往下滑,填入秘钥,以及把模型都换成deepseek-v4-pro[1m],1m表示上下文大小,默认128k
  3. 启用使用的模型

  4. 查看当前使用的模型

    1
    2
    # 在claude命令行中输入
    /model

卸载

  1. 卸载命令行工具

    1
    npm uninstall -g @anthropic-ai/claude-code

使用

很消耗token😥

常用命令

  • 启动claude

    1
    2
    3
    4
    5
    6
    7
    8
    # 在当前目录启动全新的交互式 REPL 会话,无任何历史上下文
    claude

    # 快速恢复当前目录最近一次会话,保留完整上下文
    claude -c

    # 打开交互式会话选择器,可从所有项目的历史会话中选择恢复
    claude -r
  • 回滚

    1
    /rewind
  • 切换模式

    1
    2
    3
    shift + tab来切换
    * plan mode # 计划模式
    * accept edits # 自动放行所有文件修改,但终端 / Shell 命令仍需手动确认
  • 更改思考强度

    1
    /effort [low|medium|high|max|auto]
  • 输入多行内容

    1
    2
    ctrl + j # 换行
    ctrl + g # 打开文本编辑器,输入完ctrl + s保存关掉就会出现在对话框里
  • 自动同意权限申请(危险操作

    1
    claude --dangerously-skip-permissions
  • 退出claude,会保存历史会话

    1
    /exit
  • 查看最近历史

    1
    2
    /resume	# 展示最近的历史会话
    claude --continue # 打开上次会话
  • 自动生成 CLAUDE.md

    1
    2
    # CLAUDE.md作用是作为永久的上下文记忆,每次请求都会发给LLM
    /init # 会扫描项目目录自动创建上下文
  • 选择文件

    1
    2
    @文件名
    例如:@CLAUDE.md 翻译成中文
  • 查看上下文使用情况

    1
    /context
  • 压缩上下文

    1
    /compact
  • 清空上下文

    1
    /clear

CLAUDE.md

项目级记忆文件,本质是给 AI 的项目说明书可以把它理解成:写给 Claude Code 的项目交接文档,在每次会话启动时自动加载,为 Claude 提供持久化的项目上下文与指令,避免重复解释,确保编码一致性。

CLAUDE.md作用

  • 让长期规则有稳定入口,防止规则被膨胀的上下文淹没
  • CLAUDE.md会进入上下文,因此不是越长越好,而是要短、准、可执行
  • 只有团队共享规则,才适合放入

存放位置

  • 项目级的放在根目录下
  • 每个子模块也可以有各自的CLAUDE.md

编写模板

只写对模型行动有影响的内容,像历史记录、接口文档等应该写在另外的文件里

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 项目工作说明

## 项目概述

- 本项目是一个 XXX 应用,主要技术栈是 XXX。
- 主要代码在 `src/`,测试在 `tests/`
- 优先遵循现有代码风格,不要引入新的架构风格。

## 常用命令

- 安装依赖:`pnpm install`
- 本地开发:`pnpm dev`
- 单元测试:`pnpm test`
- 构建检查:`pnpm build`

## 目录结构

- `src/components/`:通用组件
- `src/pages/`:页面入口
- `src/api/`:接口封装
- `src/hooks/`:可复用业务逻辑
- `tests/`:测试文件

## 编码规范

- 新增 API 请求必须放在 `src/api/`
- 页面组件不要直接调用 `fetch`
- 公共逻辑被两个以上模块复用时,抽到 `src/hooks/`
- 修改已有功能时,优先保持现有接口兼容。

## 禁止事项

- 不要提交 `.env`、token、密钥。
- 不要升级核心依赖版本,除非用户明确要求。
- 不要修改数据库 schema,除非用户明确要求。
- 不要删除用户已有改动。

## 验证要求

- 修改业务逻辑后,运行相关测试。
- 修改公共组件后,运行构建检查。
- 如果测试无法运行,在最终回复里说明原因。

## 常见坑

- 本项目使用 pnpm,不要使用 npm 或 yarn。
- 修改配置文件后,需要重新启动开发服务器。
- 遇到鉴权问题,先检查 `src/api/auth.ts``src/store/auth.ts`

历史会话存储位置

%USERPROFILE%\.claude\projects\,会话数据以JSONL 格式保存

使用技巧

代码生成

将提示词划分为四个部分:目标输入输出步骤

目标:说明当前阶段要做的东西

输入:当前有什么,目录下文件都是什么

输出:让大模型输出什么、输出的形式

步骤:让大模型用提问的方式确认需求,让ai不要猜测意图,有任何不明确的地方必须提问

每步都可以单独开一个上下文来实现,防止上下文过长

  1. 需求:根据需求输出需求文档
  2. 设计:根据需求文档生成概要设计文档,描述有哪些模块、模块之间的关系、模块的详细设计
  3. 划分任务:防止上下文过长,将每个模块划分为最小的可执行任务,给出任务列表
  4. Prompt:根据前面的内容生成Vibe Coding用的提示词

模板

1
2
3
4
5
6
7
8
9
10
11
目标:

输入:
当前这个项目里的文件都可作为参考;

输出:
不要直接在主分支上修改,而是创建一个新分支,并将修改记录保存到修改日志.md

步骤:
请使用提问的方式帮助我确认需求;
不要猜测我的意图,任何不明确的地方都必须向我提问;

参考

需求分析

概要设计

划分任务

生成Prompt

Prompt

  1. 没问清除之前,不要动手:告诉AI如果信息不够完善,请继续问我。可以写到CLAUDE.md里面来每次都生效
  2. 关键信息持久化:创建一个文件,当每次有重要决策的时候让它记录下来
  3. 需求越具体越好
  4. 大任务拆成小步骤
  5. 给出参考

Skill

Claude Skills(技能)是 Anthropic 于 2025-10 推出的模块化能力扩展系统,把 “任务指令 + 可执行脚本 + 参考资源” 打包成文件夹,让 Claude 在需要时动态加载、自动使用,相当于给 AI 装 “专业软件包”,从通用助手变成领域专家。

组成

标准 Skill 是文件夹,最少 1 个文件,可选脚本与资源:

1
2
3
4
my-skill/
├─ skill.md # 必需:YAML头+Markdown,写清用途、触发条件、步骤、约束
├─ scripts/ # 可选:Python/JS 脚本(如处理PDF、Excel)
└─ resources/ # 可选:模板、示例、规范文档

安装/卸载

全局安装:将文件放到用户目录下的.claude/skills下(没有这个目录就手动创建一个)

局部安装:在项目根目录下的.claude/skills

安装方式

  1. 命令行安装:在项目文件夹下打开命令行,执行复制来的npx命令
  2. 手动安装:下载文件夹,将文件夹整个复制进去
  3. ClaudeCode自动安装:直接给claude链接,跟它说帮忙安装

卸载skill

  • 直接删掉对应文件夹即可

使用方法

  1. 大模型自动调用

  2. / + 名称来主动调用

  3. 查看已有的skills

    1
    /skills

skill分享网站

  1. https://github.com/vercel-labs/skills:find skills,能自动找符合需要的skill
  2. https://skills.sh/
  3. https://agentskill.sh/
  4. https://skillsmp.com/
  5. https://clawhub.ai/
  6. https://modelscope.cn/skills:国内的社区
  7. github
  8. 官方插件市场:claude命令行输入/plugin

MCP

Model Context Protocol,模型上下文协议。标准化了大语言模型与外部数据源、工具和服务的交互方式,让 AI 能安全、高效地访问本地文件、数据库、API 等资源,无需手动搬运数据。

Agent

可以看做一个独立的副会话,将任务执行完后将结果返回给主会话,防止污染上下文

创建

  1. 查看已有的agents

    1
    /agents
  2. 选择Create new agent

    1
    2
    1. Project(.claude/agents)	# 项目级
    2. Personal(~/.claude/agents/) # 全局
  3. 创建完后会让选择agent使用tools的权限

    1
    2
    先取消All tools
    然后勾选Read-only tools
  4. 然后配置驱动模型

  5. 配置Agent颜色

  6. 配置记忆文件存放位置

Hooks

在某个条件达成时,自动执行的一段命令、脚本或者提示词,

是内置的事件驱动扩展机制

官方文档:https://code.claude.com/docs/en/hooks

Hook 事件

会话生命周期(Session lifecycle)

  • SessionStart:会话启动、恢复(--resume / --continue)或 /clear
  • SessionEnd:会话结束
  • Setup:使用 --init-only--init--maintenance(配合 -p)时执行初始化/维护流程

用户输入阶段(Prompt lifecycle)

  • UserPromptSubmit:用户提交 prompt 后、模型处理前
  • UserPromptExpansion:slash command 展开成 prompt 前

Tool 调用生命周期(Agentic loop)

  • PreToolUse:工具调用前
  • PostToolUse:工具调用成功后
  • PostToolUseFailure:工具调用失败后
  • PostToolBatch:一批并行工具调用全部结束后

权限相关(Permissions)

  • PermissionRequest:Claude 请求权限时
  • PermissionDenied:自动模式(auto mode)拒绝工具调用时

Subagent / Task 生命周期

  • SubagentStart:子 agent 启动
  • SubagentStop:子 agent 结束
  • TaskCreated:创建任务
  • TaskCompleted:任务完成

停止与上下文压缩(Stop / Compact)

  • Stop:Claude 完成当前响应
  • StopFailure:Claude 执行失败结束
  • PreCompact:上下文压缩(compact)前
  • PostCompact:上下文压缩完成后

MCP / Elicitation

  • Elicitation:MCP tool 请求用户输入时
  • ElicitationResult:用户输入返回后

环境与文件变化(Environment / Filesystem)

  • ConfigChange:配置文件变化
  • CwdChanged:当前工作目录变化
  • FileChanged:文件变化
  • InstructionsLoadedCLAUDE.md 或规则文件被加载

Worktree(Git 工作区)

  • WorktreeCreate:创建 git worktree
  • WorktreeRemove:删除 git worktree

通知与空闲状态

  • Notification:Claude 发送通知(如等待用户输入)
  • TeammateIdle:teammate / agent 空闲时

配置

hooks的配置文件.claude/settings.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 配置文件示例
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"if": "Bash(rm *)",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh",
"args": []
}
]
}
]
}
}

hooks的存放位置.claude/hooks

查看已有hooks

1
2
/hooks
# 之后会弹出不同事件下的hooks

ClaudeCode
http://xwww12.github.io/2026/03/17/AI/ClaudeCode/
作者
xw
发布于
2026年3月17日
许可协议