单手掌控Claude Code(一)

一.安装Claude Code

官方推荐用命令行一键安装:

  1. mac/linux用户使用curl安装
plain 复制代码
curl -fsSL https://claude.ai/install.sh | bash
  1. windows上使用PowerShell安装
plain 复制代码
irm https://claude.ai/install.ps1 | iex
  1. windows上使用CMD安装
plain 复制代码
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

由于访问claude.ai需要代理,请保证安装前开启了代理。

**提示:**官方已经不在推荐npm安装了,该方法已经过时。

通过PowerShell安装

  1. 这里是使用的PowerShell安装,安装前通过命令设置代理,7897为我本地代理的端口。当然可以先试试能不能直接安装,不行再进行设置代理
java 复制代码
$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"
  1. 执行命令安装
java 复制代码
irm https://claude.ai/install.ps1 | iex
  1. 配置环境变量

安装完成后提示安装到了C:\Users<用户名>.local\bin。这里需要我们手动将C:\Users<用户名>.local\bin配置到PATH环境变量中。配置完成后测试一下:

二.斜杆命令

在终端输入claude命令来启动Claude,输入** / **之后会提示所有可用的命令。按 **↑ ↓ **键选择,enter键选中。

这里只显示出了几个,按 ↓ 键 可以往下选择更多。每一个命令后面都有对应的解释。

登录或配置

如果已经有 Anthropic 账号可以输入 /login进行登录。当然Claude作为一个通用的API编程工具。不仅仅只限于Anthropic的模型。对于其它的大模型厂商,我们只需要将ApiKey和BaseUrl配置到环境变量中,具体可查看对应模型厂商的接入文档。

第一次使用

如果是第一次使用Claude。我们可以使用/powerup命令。它会再 CLI 里面运行互动课程,并带动画演示,带你了解关键功能。

是否携带参数

常用带参数命令

这些命令通常用于配置、执行具体任务或管理内容,参数决定了它们的具体行为。

命令 参数说明 示例
/compact 可选。指定压缩上下文时的聚焦点。 /compact 保留登录相关的,其它都不用了
/model 必选。指定要切换的模型名称。 /model opus
/effort 必选。设置推理强度。 /effort high
/rename 必选。设置新的会话名称。 /rename payment-refactor
/debug 可选。添加问题描述以聚焦调试。 /debug session timeout
/export 可选。指定导出文件名。 /export notes.md
/plan 可选。直接输入初始任务描述。 /plan migrate API to v3
/simplify 可选。指定重构的侧重点。 /simplify memory usage
/batch 可选。输入批量处理的任务目标。 /batch update dependencies

常用不带参数命令

这些命令通常是只读查询或瞬时动作,输入后直接显示结果,无需额外信息。

命令 功能 说明
/context 查看上下文使用网格 显示 Token 分布,无参数
/cost 显示成本统计 立即输出用量,无参数
/status 查看系统状态 显示版本/模型/连接,无参数
/clear 清空会话历史 直接重置,无参数
/help 查看帮助 列出所有命令,无参数
/doctor 运行环境诊断 立即检查安装健康度

命令分类

1. Context Management(上下文管理命令)

控制 Claude 能看到多少历史对话,优化 Token 使用。

  • /context: 可视化查看上下文占用网格,无需参数
  • /compact [instructions] :带参数压缩历史对话以节省token,例如:/compact 重点保留关于用户登录失败的调试日志,丢弃之前的代码草稿
  • /clear:彻底清空上下文对话历史,重新开始,无需参数,清空后便不会再记得之前问过什么

2. Session Tools(会话工具命令)

这类命令主要用来管理对话分支、回溯历史、导出存档。

  • /rename <name> : 带参数为会话设置名称
  • /resume: 恢复之前的会话,无需参数,比如关闭了窗口重新打开可以使用/resume选择要恢复的历史对话
  • /branch : 把对话"复制一份",然后走不同路线继续聊 ,如果当前会话历史很长(几百轮),分叉时会复制全部上下文,初始 Token 消耗较高,建议在关键决策点再分叉
  • /rewind: 后悔药,刚才改错了,想撤销重来
  • /export: 将会话导出到文件或剪贴板

3. Configuration(配置命令)

这类命令适用于实时调整模型、推理深度、权限和主题设置。

  • /model <name> --- 带参数切换模型,如:/model opus/model best
  • /effort <level> --- 带参数设置推理深度,如:/effort high/effort max
  • /permissions --- 管理 Claude 的工具执行权限
  • /config --- 打开设置菜单
  • /theme --- 创建和切换自定义主题

4. Diagnostics(诊断工具命令)

查看成本、检查系统状态、分析代码变更。

  • /cost --- 立即显示会话成本、时长、代码变更和 Token 用量
  • /status --- 显示版本、模型和账户信息
  • /doctor --- 检查安装健康度
  • /diff --- 交互式查看未提交的代码变更,便于审核

三.记忆&上下文持久化

Claude 的上下文在每次会话结束后会重置,但项目级记忆可以通过文件持久化机制保存。主要包括 CLAUDE.md 和 Auto Memory 等内容。启动时 Claude 会加载CLAUDE.md,并结合自动生成的记忆文件一起初始化上下文。

记忆的三层结构

Claude 的 memory 实际是三层结构:

  1. CLAUDE.md(显式项目记忆)

主要存放项目规范、约定、规则 ,我们可以更改,因此 CLAUDE.md 是其核心显式记忆来源。

  1. Auto Memory(隐式记忆)

Claude基于项目自动生成的

  1. 当前会话上下文(短期记忆)

临时的记忆,窗口和会话关闭就没了

CLAUDE.md 的层级

Claude Code 的记忆系统遵循**"就近覆盖"**原则。当指令冲突时,离当前目录越近的文件优先级越高。

从低到高分别是:

  • 组织级:由组织统一规范
  • 用户级~/.claude/CLAUDE.md(你的个人习惯)
  • 项目级./CLAUDE.md或 .claude/CLAUDE.md (提交到 Git,与团队共享)
  • 本地级./CLAUDE.local.md(不提交到Git,用于纯个人或本地临时调试)

拆分管理

对于大型项目,可以将指令拆分到 .claude/rules/*.md多个文件中。

同时还支持作用域控制:

markdown 复制代码
---
paths: 
  - src/main/java/**/*Controller.java
  - src/main/java/**/*Api.java
  - src/main/java/**/api/**/*.java
---
# Spring Boot API 参数验证与异常处理规范

## 1. 验证注解要求
 **必须使用** Jakarta Bean Validation 注解(JSR-380):
- `@NotNull`、`@NotEmpty`、`@NotBlank`
- `@Size`、`@Min`、`@Max`、`@Digits`
- `@Email`、`@Pattern`、`@Future`、`@Past`
- `@Valid` 级联验证

**必须使用** `@Valid` 或 `@Validated` 触发验证

## 2. 验证失败响应格式
当验证失败时,**必须返回**:
- **HTTP 状态码**: 400 Bad Request
- **响应体统一格式**:

创建或更新CLAUDE.md

  1. 初始化记忆
  • 直接运行运行 /init。Claude 会自动分析项目代码,生成一个基础的 CLAUDE.md
  1. 手动编辑记忆
  • 使用 /memory命令会打开memory文件,打开后可以直接修改,保存后 Claude 自动重新加载
  1. 引用已有文档(避免重复写)
  • @路径 引用文件,好处就是不用复制内容,保持单一信息源
plain 复制代码
@README.md
@docs/architecture.md
@package.json

自动生成的记忆

  1. Auto Memory 是什么

Claude 会在使用过程中自动提取项目中的稳定规律和重要经验,并以结构化方式写入 ~/.claude/projects/<project>/memory/ 目录下的记忆文件(如 MEMORY.md)。这是 AI 总结出的长期有用的项目知识,相当于一个自动维护的"项目经验库"。 随着使用频率增加,Claude 会不断积累项目记忆和行为模式,整体协作体验会越来越顺畅。

  1. 加载机制
  • 启动时自动加载:
    • MEMORY.md前 200 行 或 25KB(取较小)
  • 其他文件(按需加载):
    • debugging.md
    • api-conventions.md
  1. 开关控制
    1. 使用/memory命令 → 打开设置,可以进行关闭
    2. 在 .claude/settings.json中关闭
json 复制代码
{
  "autoMemoryEnabled": false
}
  1. Monorepo 优化

大项目里有很多 CLAUDE.md,容易污染上下文。可以在项目 .claude/settings.json 的配置文件中进行排除

json 复制代码
{
  "claudeMdExcludes": [
    "**/node_modules/**",
    "**/vendors/**",
    "**/dist/**",
    "**/.next/**",
    "**/coverage/**",
    "**/legacy/**",
    "**/deprecated/**",
    "**/generated/**"
  ]
}

四.初始化项目

  1. 先让AI帮我创建一个项目

经过一番折腾之后,AI成功把项目运行起来了

  1. 使用 /init 命令创建项目级别的CLAUDE.md

Claude会扫描项目文件并生成一份CLAUDE.md文件。

markdown 复制代码
# CLAUDE.md

本文件为 Claude Code(claude.ai/code)提供该仓库的持久化指引。

## 构建与开发

- `npm run dev` --- 启动 Vite 开发服务器
- `npm run build` --- 先用 `vue-tsc -b` 进行类型检查,再用 Vite 构建
- `npm run preview` --- 本地预览生产构建

目前未配置 `npm test`、`lint` 或 `format` 脚本。

## TypeScript 严格模式

项目启用了 `tsconfig.app.json` 中的严格 TS 标志:

- `noUnusedLocals: true` --- 未使用的变量会导致构建失败
- `noUnusedParameters: true` --- 未使用的函数参数会导致构建失败
- `erasableSyntaxOnly: true` --- 避免使用旧版 TS 语法(如 `enum`、参数属性、namespace/module);在 `type` 和 `interface` 都可用时优先使用 `type`,因为 `interface` 并非在所有场景下都可擦除
- `noFallthroughCasesInSwitch: true`

生产构建会在 Vite 之前运行 `vue-tsc -b`,因此任何 TS 错误都会阻塞构建。

## 项目结构

- Vue 3 单文件组件,使用 `<script setup lang="ts">`
- ESM(package.json 中 `"type": "module"`)
- 状态为组件本地管理;未使用路由或状态管理库
- Todo 数据通过 `localStorage` 持久化,存储键名为 `todo-app-items`

## 包管理器

本项目使用 `npm`,并配置了腾讯镜像源(`mirrors.cloud.tencent.com/npm`)。如果在境外环境执行 `npm install` 失败,可能需要切换 registry。

一份合格的CLAUDE.md

1.简洁与聚焦

目标:让文件短小精悍,确保 AI 在几乎每次会话中都能用到其中的信息。

  • 长度控制 :严格控制在 200 行以内(理想状态)。
  • 普适性测试 :问自己------"这条规则是否适用于 90% 以上的开发场景?"
    • 如果答案是否定的,它就不该出现在这里。

2.内容取舍策略

应该放入 CLAUDE.md的内容(项目全局通用)

这些内容构成了项目的"地基",AI 随时可能用到:

类别 具体内容示例
技术栈与版本 Node.js 20, Python 3.11, React 18, PostgreSQL 15
核心开发命令 npm install, npm run dev, pytest, make build
代码规范 非显而易见的命名约定(如:useSnakeCasevs camelCase
已知陷阱 "切勿直接修改 dist/目录"、"Windows 路径需用双反斜杠"

应该剥离出去的内容(特定场景)

如果某条规则仅针对单一功能或模块 ,请将其移至路径作用域规则文件中:

  • 错误示例 :在根目录 CLAUDE.md中详细描述
  • 正确做法 :在 src/payments/目录下创建 CLAUDE.md,专门存放支付相关的规则。

三、四大板块

为了让 CLAUDE.md发挥最大效用,建议优先包含以下四个部分,这里我们将AI生成的改造一下。

1. Tech Stack & Versions(技术栈与版本)

明确环境依赖,防止 AI 使用过时的 API 或语法。

plain 复制代码
## 技术栈
- **框架**: Vue 3(单文件组件 SFC)
- **构建工具**: Vite
- **语言**: TypeScript(严格模式)
- **包管理器**: npm(ESM 模块,`"type": "module"`)
- **状态管理**: 组件内部状态 + localStorage(存储键名:`todo-app-items`)

2. Development Commands(开发命令)

这是 AI 最常调用的操作,必须准确无误。

plain 复制代码
## 开发与构建命令
- `npm run dev` --- 启动 Vite 开发服务器
- `npm run build` --- 先用 `vue-tsc -b` 进行类型检查,再用 Vite 构建
- `npm run preview` --- 本地预览生产构建

3. Naming Conventions(命名约定)

只记录那些不遵循主流惯例的规则。

plain 复制代码
## 编码规范
- **组件写法**:统一使用 `<script setup lang="ts">`。
- **命名规则**:
  - 组件文件:`PascalCase.vue`(例如:`TodoItem.vue`)。
  - 组合式函数(Composables):`camelCase`,并以 `use` 开头(例如:`useLocalStorage.ts`)。
- **类型定义**:受 `erasableSyntaxOnly` 限制,优先使用 `type` 而非 `interface`。

4. Known Gotchas(常见陷阱)

这是最能体现我们经验的地方,帮助 AI 避开坑。

plain 复制代码
## TypeScript 严格模式与注意事项
项目启用了严格的 TS 校验,构建前会运行 `vue-tsc -b`,任何 TS 错误都会阻塞构建。

- **禁止未使用代码**:开启了 `noUnusedLocals` 和 `noUnusedParameters`,未使用的变量或参数会导致报错。
- **仅限可擦除语法**:禁止使用不可擦除的旧语法(如 `enum`、参数属性、`namespace`)。
- **Switch 穿透限制**:开启 `noFallthroughCasesInSwitch`,禁止 switch case 穿透。
- **NPM 镜像问题**:配置了腾讯云 npm 镜像(`mirrors.cloud.tencent.com/npm`)。若在境外环境执行 `npm install` 失败,请切换回官方 registry

五.Claude Code 权限机制

基本行为

Claude Code 运行在一个权限系统中, Claude Code 默认是"谨慎模式":

  • 大多数文件写入(write)需要我们手动确定
  • 所有 bash 命令也需要手动确定

这样做是为了防止 AI 自动执行危险操作。但在真实开发里,如果每次都确认会比较麻烦。所以需要配置"预授权(pre-approve)"。

/permissions 命令

我们添加一条读取权限,允许读取整个项目所有文件。否则 Claude 看代码都要确认。

  1. 选择 add a new rule
  1. 输出我们的规则,并保存到./claude/settings.json下面
  • Read(**/*) 允许读取整个项目所有文件。
  1. 查看settings.json
plain 复制代码
{
  "permissions": {
    "allow": [
      "Read(**/*)"
    ]
  },
  "autoMemoryEnabled": false
}
  1. 如果修改配置文件,也会同步生效
plain 复制代码
{
  "permissions": {
    "allow": [
      "Read(**/*)",
      "Write(src/**/*)", 允许写入
      "Edit(src/**/*)"  允许修改
    ]
  },
  "autoMemoryEnabled": false
}
  1. 对于需要询问或者拒绝的命令,配置也是同理。
  2. 推荐的基本权限配置

前端项目:

plain 复制代码
{
  "permissions": {
    "allow": [
      "Bash(git *)",
      "Bash(node *)",
      "Bash(npm *)",
      "Bash(npx *)",
      "Read(**/*)",
      "Write(src/**/*)",
      "Edit(src/**/*)"
    ]
  }
}

Java SpringBoot:

plain 复制代码
{
  "permissions": {
    "allow": [
      "Bash(git *)",
      "Bash(mvn *)",
      "Bash(java *)",
      "Read(**/*)",
      "Write(src/**/*)",
      "Write(pom.xml)",
      "Edit(src/**/*)"
    ]
  }
}
相关推荐
libokaifa1 小时前
Claude Code 工程化落地:被低估的 Hook 机制
aigc·ai编程·全栈
XiaolongTu1 小时前
让 AI 自己跑代码:Android Agent 闭环实践
ai编程
LienJack2 小时前
《Claude Code 源码解析》第2章|ReAct 主循环
claude·源码阅读
爱吃的小肥羊2 小时前
2026年,现在程序员失业有多严重?
ai编程
冴羽2 小时前
超越 Vibe Coding —— AI 辅助编程指南
前端·ai编程·vibecoding
OpenBayes贝式计算3 小时前
教程上新丨指令遵循 / 推理 / 编码三合一,Mistral Medium 3.5 把 Coding Agent 搬上云端
agent·ai编程·mistral.ai
程序员辉哥3 小时前
从零构建Agent智能体系列02-大语言模型是怎么工作的
openai·ai编程·claude
用户223586218203 小时前
让 Agent、Skill、Command 做同一件事,然后放一起会怎样?- Claude9
ai编程·claude
用户995092224964 小时前
Superpowers 原理解析:它如何把“会写代码的模型”变成“可交付的软件工程流程”
claude