需要一个 Claude 账号,当然现在国内很多厂家(DeepSeek/Minimax/GLM)已经适配,后文会介绍怎么切换。
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Windows CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
安装完成后,验证一下:
claude --version
如果显示版本号,说明安装成功!
登录:
claude
启动后,系统会提示你登录,在 Claude Code 界面中输入:
/login
支持的账号类型
你可以使用以下任意一种账号类型登录:
1、Claude 订阅账号(推荐)
Claude Pro - 个人专业版
Claude Max - 最高级别订阅
Claude Teams - 团队版
Claude Enterprise - 企业版
2、Claude Console 账号
API 访问账号,使用预付费积分
适合开发者和 API 用户
注意:
同一个邮箱可以同时拥有两种账号类型
登录后,凭据会被保存,下次无需重复登录
如需切换账号,使用 /login 命令重新登录
Windows: C:\Users\你的用户名.claude.json
编辑文件:用记事本或VS Code打开,如果文件是空的也没关系,直接覆盖写入以下内容:
{
"hasCompletedOnboarding": true
}
这一行相当于告诉软件“新手引导已通过”,直接跳过登录界面
配置第三方模型(需要购买CodingPlan)
找到并编辑配置文件 ~/.claude/settings.json,填入你的中转站地址和API Key,模型可以自己指定
json { "env": { "ANTHROPIC_BASE_URL": "你的中转站地址(如:https://api.siliconflow.cn/)", "ANTHROPIC_AUTH_TOKEN": "你的中转站API Key", "ANTHROPIC_DEFAULT_MODEL": "想用的模型名(如:Qwen/Qwen2.5-72B-Instruct)" } }
方法 B (智能路由 - Claude Code Router)
如果需要在多个模型间灵活切换,可以安装一个路由器。先全局安装工具:
```bash
npm install -g @musistudio/claude-code-router
```
然后通过 ccr code 命令启动,在对话中输入 /model 提供商,模型名(如 /model openrouter,anthropic/claude-3.5-sonnet)就能即时切换。
方法 C (本地硬核 - vLLM)
对于技术高手,可以启动本地 vLLM 服务器:
```bash
vllm serve Qwen/Qwen2.5-7B-Instruct --enable-auto-tool-choice --tool-call-parser openai
```
然后设置环境变量指向本地地址:export ANTHROPIC_BASE_URL="http://localhost:8000"。
配置完成后,进入一个您的代码工作目录,在终端中执行 claude 命令即可开始使用 Claude Code
输入/会列出可用的命令
| 命令 | 功能 | 示例 |
|---|---|---|
claude |
启动交互模式 | claude |
claude "task" |
执行一次性任务 | claude "fix the build error" |
claude -p "query" |
执行一次查询后退出 | claude -p "explain this function" |
claude -c |
在当前目录继续最近的对话 | claude -c |
claude -r |
恢复之前的对话 | claude -r |
claude commit |
创建 Git 提交 | claude commit |
| 命令 | 功能 | 示例 |
|---|---|---|
/clear |
清除对话历史 | > /clear |
/help |
显示可用命令 | > /help |
/login |
登录或切换账号 | > /login |
/resume |
恢复之前的对话 | > /resume |
exit 或 Ctrl+C |
退出 Claude Code | > exit |
/init |
在项目根目录生成 CLAUDE.md 文件,用于定义项目级指令和上下文 | /init |
/status |
查看当前模型、API Key、Base URL 等配置状态 | /status |
/model <模型名称> |
切换模型 | /model qwen3-coder-next |
/plan |
进入规划模式,仅分析和讨论方案,不修改代码 | /plan |
/compact |
压缩对话历史,释放上下文窗口空间 | /compact |
/config |
打开配置菜单,可设置语言、主题等 | /config |
/cost |
查看当前会话消耗 | - |
/reset |
重置会话 | - |
/docs |
让 Claude 参考指定文档 | - |
/review |
检查 Git 暂存区改动 | - |
Claude Code 支持三种灵活的会话操作,让你随时接上之前的进度或尝试不同方案:
1、直接恢复会话(最常用)
claude --continue
# 或者
claude --resume
2、分叉会话(推荐!尝试新方案不影响原对话)
claude --continue --fork-session
3、 多个终端同时使用同一个会话(小心使用)
你可以输入/compact手动压缩
输入 /context 查看当前占用情况
省空间秘诀:
1、检查点
Claude 修改文件前会自动备份。只要按两次 Esc,或说"撤销刚才的修改",就能回到之前状态。
2、权限模式(按 Shift + Tab 快速切换):
你还可以在 .claude/settings.json 里白名单信任命令(比如 npm test 永远不用问)。
使用第三方工具 CC Switch 可以帮我们轻松管理这几个热门工具的 API 配置:https://github.com/farion1231/cc-switch/
CC Switch 是一个 Claude Code / Codex / Gemini CLI 的全方位辅助工具,所有的 API 配置都能在它这有序管理。
各平台安装包下载地址:https://github.com/farion1231/cc-switch/releases%E3%80%82
使用见 CC_Switch.ipynb
在 VS Code 编辑器中安装 Claude Code
打开 VS Code,进入扩展市场,搜索 Claude Code 安装
安装完成后,点击右上角 Claude Code 图标,即可进入 Claude Code 页面
有账号的可以使用 /login 登录
也可以在设置中搜claudeCode,勾选 Disable Login Prompt 配置来关闭登录页面

我们可以选中文件中的代码,让 Claude Code 帮我们解析说明或修改,选中后,会提示已经选中的代码行数:
按 Option + K(Mac)或 Alt + K(Windows/Linux),就能插入带文件路径和行号的 @ 提及

当 Claude 需要修改文件时,它会自动打开并排对比视图,左边显示文件原始内容,右边显示建议修改后的内容,然后询问您是否同意修改。

1、权限模式:
点击提示框底部的模式指示器,就可以切换权限模式。
你也可以在 VS Code 设置里搜索 claudeCode.initialPermissionMode 来设置默认模式。
2、命令菜单:
在提示框里输入 /(或点击输入框)就能打开命令菜单。
常用选项包括:附加文件、切换模型、开启扩展思考、查看使用量(输入 /usage)。
下方的"自定义"部分还能管理 MCP servers、hooks、记忆、权限和插件。
带有 终端图标 的命令,会在 VS Code 的集成终端里直接打开。
3、上下文用量指示器:
提示框下方会实时显示你已经用了多少 Claude 的上下文窗口(context)。
Claude 会自动帮你压缩内容;如果你想手动压缩,输入 /compact 即可。
4、扩展思考(Extended Thinking):
遇到复杂问题时,可以让 Claude 多花点时间深度思考。
通过命令菜单(输入 /)切换开启/关闭。
5、多行输入:
按 Shift + Enter 可以换行,不用立刻发送消息。
在弹出的"其他"自由文本框里也同样适用。
6、引用文件和文件夹(@ 提及功能)
输入 @ 后面跟文件名或文件夹名,Claude 就会自动读取内容,可以回答问题或直接修改。(支持模糊匹配,不用打全名)
your-project/
├── CLAUDE.md ← 团队共享指令,提交到 git
├── CLAUDE.local.md ← 个人覆盖,被 git 忽略
├── .claude/
│ ├── settings.json ← 权限 + 配置,提交到 git
│ ├── settings.local.json ← 个人权限,被 git 忽略
│ ├── commands/ ← 自定义斜杠命令
│ │ ├── review.md → /project:review
│ │ ├── fix-issue.md → /project:fix-issue
│ │ └── deploy.md → /project:deploy
│ ├── rules/ ← 模块化指令文件(全局生效)
│ │ ├── code-style.md
│ │ ├── testing.md
│ │ └── api-conventions.md
│ ├── skills/ ← 自动调用的工作流
│ │ ├── security-review/
│ │ │ └── SKILL.md
│ │ └── deploy/
│ │ └── SKILL.md
│ └── agents/ ← 子代理角色定义
│ ├── code-reviewer.md
│ └── security-auditor.md
├── src/
│ └── CLAUDE.md # 仅在处理 src/ 文件时加载
└── tests/
└── CLAUDE.md # 仅在处理 tests/ 文件时加载
在项目根目录执行 /init 命令,Claude 会自动扫描你的代码库——读取 package.json、现有文档、配置文件以及代码结构,然后生成一份专属于项目的 CLAUDE.md 文件。
这是 Claude 进入项目时第一个读取的文件,相当于项目欢迎手册。
CLAUDE.md 放置在项目根目录,所有团队成员共享,它告诉 Claude:这个项目是什么、如何运行、有什么约定。
Claude 会自动递归读取父目录中的 CLAUDE.md。在 monorepo 中,子包内可再放一个 CLAUDE.md,Claude 会将两层指令合并理解。
CLAUDE.md 结构示例:
# 项目名称
## 项目概述
简述这个项目的目的和功能。
## 技术栈
- Frontend: React + TypeScript
- Backend: Node.js + Express
- Database: PostgreSQL
## 目录结构
- `src/components/` - React 组件
- `src/api/` - API 层
- `tests/` - 测试文件
## 常用命令
- 启动开发服务器:`pnpm dev`
- 运行测试:`pnpm test`
- 代码检查:`pnpm lint`
## 开发规范
- 使用 TypeScript strict 模式
- 优先使用 interface 而非 type
- 禁止使用 any,使用 unknown 替代
```
### 文件位置与层级
项目的核心文件结构如下:
```
your-project/
├── CLAUDE.md # 项目主记忆文件(团队共享)
├── .claude/
│ ├── settings.json # Hooks、权限、环境配置
│ ├── settings.local.json # 个人配置(建议加入 .gitignore)
│ └── commands/ # 自定义斜杠命令
│ └── my-command.md
└── .mcp.json # MCP 服务配置
```
# 项目约定
## 技术栈
- 前端:Next.js 15、TypeScript 5.7、Tailwind CSS 4
- 后端:Node.js 22、Prisma 6
- 测试:Vitest 3.2
## 代码规范
- 始终使用函数式 React 组件
- 文件名使用 kebab-case
- 测试文件与源码放在同一目录
## 常用命令
- 构建:`pnpm build`
- 测试:`pnpm test`
- 启动开发服务器:`pnpm dev`
## API 约定
- 所有 API 路由以 `/api/v1/` 开头
- 错误响应格式:`{ error: string, code: number }`
# 我的本地覆盖
本地数据库地址:localhost:5433(非默认端口)
调试时请优先输出详细日志。
## 临时规则(本次任务用)
目前专注于重构 auth/ 模块,其他模块暂时不要改动。
{
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(pytest:*)",
"Bash(git diff:*)",
"Bash(git log:*)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(curl * | bash)"
]
}
}
{
"permissions": {
"allow": [
"Bash(rm ./tmp/*)"
]
}
}
# Code Review
请对当前修改执行完整的代码审查:
1. 检查是否有安全漏洞(SQL 注入、XSS 等)
2. 验证错误处理是否完整
3. 确认测试覆盖率是否达标
4. 检查是否符合代码风格规范
5. 评估性能影响
用中文输出结构化审查报告,按严重程度排列问题。
将 CLAUDE.md 中的规则拆分模块化存放,Claude 在整个会话中始终遵守。适合存放长期稳定执行的行为约定,避免 CLAUDE.md 过于臃肿。
示例:rules/code-style.md
# Code Style Rules
- TypeScript 严格模式,禁用 any 类型
- 函数长度不超过 40 行,超出则拆分
- 优先使用 const,避免使用 let
- 导入顺序:标准库 → 三方包 → 本地模块
- 所有 export 的函数/类型需要 JSDoc 注释
- 禁止使用 console.log,使用项目 logger
Skills 是更高级的复合工作流。当 Claude 判断某个任务适合某个 skill 时,会自动读取并执行对应的 SKILL.md,无需手动调用。
每个 skill 是一个子目录,目录内包含 SKILL.md。
示例:skills/security-review/SKILL.md
# Security Review Skill
## 触发条件
当用户请求代码审查、代码涉及认证/授权/加密/用户输入处理时自动触发。
## 执行步骤
1. 扫描 SQL 注入风险(检查所有数据库查询)
2. 检查 XSS 防护(验证输出转义)
3. 审计权限边界(确认最小权限原则)
4. 检查敏感数据处理(日志、错误信息中是否泄露)
5. 输出 OWASP Top 10 对照检查表
## 输出格式
按 CVSS 评分排列,高危问题优先展示。
定义可被主 Claude 实例派遣的专业子代理。在复杂任务中,主代理将子任务委派给对应专家角色,实现多代理协作。子代理在隔离上下文中运行,拥有独立的权限范围。
示例:agents/code-reviewer.md
---
name: code-reviewer
description: 资深代码审查员,专注代码质量与可维护性
---
# 代码审查员
## 角色定位
你是一名拥有 10 年经验的资深工程师,专注于代码可读性、性能优化和最佳实践。
## 审查重点
- 命名是否清晰表达意图
- 函数/类的单一职责原则
- 边界条件和错误处理
- 性能瓶颈(N+1 查询、不必要的循环等)
## 权限
只读访问,不直接修改文件。
## 输出格式
使用 Markdown 表格输出,包含:问题位置、严重程度、建议方案。
在终端中使用 Claude Code 时,你不需要手动切换模式开关,Claude 会根据你的指令内容,自动判断当前应进入哪一种模式。
不过,作为使用者,你必须在 Prompt 中清楚表达自己的意图,否则 Claude 很容易做出与你预期不一致的行为。
| 符号 | 类型 | 本质作用 |
|---|---|---|
/ |
Command(命令) | 执行内置操作 |
@ |
Context(上下文) | 引用文件/代码/目录 |
! |
Bash 模式 | 直接执行终端命令,stdout/stderr 自动注入上下文 |
# |
Memory(记忆注入) | 把内容持久写入 CLAUDE.md 项目记忆,跨会话长期生效,例如:#config.yaml |
& |
Async(异步任务) | 后台/云端异步执行任务,不阻塞当前会话,可关闭终端后在 claude.ai/code 查看进度 |
+Enter |
Multiline(多行输入) | 换行不发送,写多行内容,长需求描述一次性写完 |
| 无前缀 | 自然语言 | 普通任务指令 |
通过在输入前加上 ! 直接运行 bash 命令,无需通过 Claude,格式为:
! + Bash 命令
输入 ! 就会提示进入 Bash 命令模式:
| 命令 | 作用 |
|---|---|
/help |
查看全部能力 |
/clear |
清空对话 |
/plan |
进入规划模式 |
/model |
切换模型 |
/context |
查看上下文使用情况 |
/export |
导出对话 |
/status |
环境状态 |
/tasks |
管理后台任务 |
/theme |
主题切换 |
/memory |
编辑 CLAUDE.md |
核心命令:claude mcp
| 命令 | 作用 |
|---|---|
claude mcp add |
添加一个 MCP 服务器 |
claude mcp list |
查看所有已配置服务器 |
claude mcp get <name> |
查看某个服务器详情 |
claude mcp remove <name> |
删除服务器 |
/mcp |
在 Claude Code 中查看状态 / 认证 |
MCP 服务器支持 HTTP/SSE/stdio 三种接入方式,推荐优先使用 HTTP(SSE已弃用)。
远程 HTTP 服务器(推荐)
适用于云服务类工具,是最通用的方式:
# 基础语法
claude mcp add --transport http <服务器名称> <服务器URL>
# 示例1:连接Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# 示例2:带身份验证的HTTP服务器
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer 你的令牌"
本地 stdio 服务器
适用于需要本地系统访问的工具(如本地数据库、自定义脚本):
# 基础语法(注意:--前是Claude参数,--后是服务器命令)
claude mcp add --transport stdio [--env 环境变量] <服务器名称> -- <启动命令>
# 示例:连接Airtable(需替换自己的API密钥)
claude mcp add --transport stdio --env AIRTABLE_API_KEY=你的密钥 airtable \
-- npx -y airtable-mcp-server
注意:--transport/--env 等参数必须放在服务器名称前面,-- 用于分隔Claude参数和服务器命令,避免参数冲突。
# 列出所有已配置的服务器
claude mcp list
# 查看指定服务器详情(如github)
claude mcp get github
# 删除指定服务器
claude mcp remove github
# 在Claude Code中检查服务器状态
/mcp
优先级:local > project > user(同名服务器,本地配置覆盖共享配置)
| 范围 | 用途 | 配置命令示例 |
|---|---|---|
| local(默认) | 仅当前项目可用,私密配置(如敏感密钥) | claude mcp add --scope local ... |
| project | 团队共享(存储在.mcp.json,可提交版本库) | claude mcp add --scope project ... |
| user | 所有项目可用(个人全局配置) | claude mcp add --scope user ... |
示例 1:GitHub 代码审查
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
在 Claude Code 中:
> Review PR #456 and suggest improvements
> Show me all open PRs assigned to me
示例 2:Sentry 生产环境排错
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
> /mcp # 完成 OAuth 登录
> What are the most common errors in the last 24 hours?
示例 3:直接查 PostgreSQL
claude mcp add --transport stdio db \
-- npx -y @bytebase/dbhub \
--dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"
> Show me the schema for the orders table
> Which users haven't purchased in 90 days?
1、使用 @ 引用 MCP 资源
> Analyze @github:issue://123 and suggest a fix
支持多个资源对比:
> Compare @postgres:schema://users with @docs:file://user-model
2、MCP Prompt 作为斜杠命令
MCP 可以暴露命令:
/mcp__github__list_prs
/mcp__jira__create_issue "Login bug" high
Claude 会像执行内置命令一样执行它们。
子代理(Subagent),用于处理特定类型的任务,从而获得更好的上下文管理、更强的约束控制和更高的执行效率。
子代理是运行在独立上下文窗口中的专用 AI 助手。每个子代理都可以拥有:
当 Claude 判断你的请求符合某个子代理的描述(description)时,就会自动将任务委托给该子代理,由它独立完成并返回结果。
子代理只接收自身的系统提示和基础环境信息(如工作目录),不会继承完整的 Claude Code 系统提示。这保证了行为的纯净和可控。
Claude Code 已内置多种子代理,通常会自动使用,你不需要手动配置。
1、Explore(探索代理)
用途:只读搜索与分析代码库
Claude 会在需要看代码但不改代码时自动使用 Explore。支持不同探索深度:quick / medium / very thorough。
2、Plan(规划代理)
用途:计划模式下的代码库研究
在不产生嵌套代理的前提下,安全收集规划所需信息。
3、General-purpose(通用代理)
用途:复杂、多步骤任务
4、其他内部代理(无需手动使用) |代理 |说明| |---|---| |Bash |在独立上下文中运行命令| |statusline-setup |配置状态栏| |Claude Code Guide |解答 Claude Code 使用问题|
使用 /agents 命令
1、打开子代理管理界面
/agents
/agents 命令提供完整的子代理管理能力:查看所有可用子代理(内置/用户级/项目级/插件)、创建、编辑、查看同名冲突时哪个生效。
2、创建用户级子代理
3、使用 Claude 自动生成
示例描述:
一个代码改进代理,扫描项目文件,
针对可读性、性能和最佳实践提出建议,
并给出改进示例。
Claude 会生成系统提示和初始配置,你可以按 e 手动编辑。
4、选择工具权限
5、选择模型
推荐:Sonnet(分析能力与速度平衡)
6、选择记忆范围(可选)
7、保存并使用
使用 code-improver 子代理为此项目提出改进建议
子代理会独立运行并返回结果。
子代理本质是带 YAML frontmatter 的 Markdown 文件,不同位置代表不同作用范围。
当同名子代理存在冲突时,优先级高的会覆盖低的。可通过 /agents 查看当前哪个版本生效。
| 位置 | 范围 | 优先级 |
|---|---|---|
| CLI --agents 标志 | 当前会话(临时测试 / 自动化脚本,不保留到磁盘) | 最高 |
| .claude/agents/ | 当前项目 | 高 |
| ~/.claude/agents/ | 所有项目(用户级) | 中 |
| 插件 agents | 插件作用域 | 最低 |
两部分组成:YAML frontmatter(元数据与配置)+ Markdown 正文(系统提示)。
| 字段 | 类型 | 说明 |
|---|---|---|
| name | string(必填) | 唯一标识,也是显式调用时的名称 |
| description | string(必填) | 决定 Claude 何时自动调用此代理,务必写清楚使用场景 |
| tools | string | 工具白名单;设置后只能使用列出的工具,MCP 工具也会被排除 |
| disallowedTools | string | 工具黑名单;继承主对话全部工具,但排除列出的工具(含 MCP) |
| model | string | haiku / sonnet / opus / 完整模型 ID / inherit(默认,继承主对话) |
| permissionMode | enum | 权限行为控制(见权限模式章节) |
| memory | enum | 持久记忆范围:user / project / local(见记忆章节) |
| background | bool | 为 true 时始终以后台方式运行 |
| isolation | string | 设为 worktree 时在临时 git worktree 中运行,完全隔离主仓库 |
| skills | list | 声明在此代理启动时自动加载的 Skills 列表 |
| hooks | object | 生命周期钩子(SubagentStart / SubagentStop / PreToolUse / PostToolUse) |
示例如下
---
name: code-reviewer
description: Reviews code for quality, best practices, and security issues.
Invoke when the user asks to review, audit, or check code quality.
tools: Read, Grep, Glob
model: sonnet
permissionMode: default
memory: project
---
You are a senior code reviewer.
Analyze code and provide actionable feedback organized by severity: Critical / Major / Minor.
Update your agent memory with recurring patterns, conventions, and known issues you discover.
tools 与 disallowedTools 的区别 | 配置方式 | 行为 | 典型场景 | | ---- | ---- | ---- | | 两者均不设置 | 继承主对话全部工具,含 MCP 工具 | 通用代理,不需要限制 | | 仅设置 tools | 只能使用白名单内的工具,MCP 工具被排除 | 只读分析代理、严格约束场景 | | 仅设置 disallowedTools | 继承全部工具,但排除黑名单内的工具(MCP 工具保留) | 保留 MCP 能力但禁止写操作 | | 两者同时设置 | 先应用 disallowedTools,再从剩余工具中按 tools 筛选 | 精细控制 |
权限模式(permissionMode) | 模式 | 行为 | 适用场景 | | ---- | ---- | ---- | | default | 正常权限提示,每次操作前询问 | 通用场景 | | acceptEdits | 自动接受文件编辑,无需每次确认 | 频繁改动文件的代理 | | dontAsk | 自动拒绝未授权操作,不中断流程 | 严格只读场景 | | bypassPermissions | 跳过所有权限检查 | 仅限完全可信、受控环境 | | plan | 只读规划模式,不执行任何写操作 | 方案制定、架构分析 |
注意;bypassPermissions 只适合完全可信的子代理。另外,子代理会继承父会话的权限模式——如果主会话开启了 bypass,所有子代理也会跟着 bypass。
持久记忆(Memory)
| 范围值 | 存储位置 | 适用场景 |
| ---- | ---- | ---- |
| user | ~/.claude/agent-memory/
示例
---
name: code-reviewer
description: Reviews code for quality and best practices
memory: user
---
You are a code reviewer.
As you review code, update your agent memory with patterns,
conventions, and recurring issues you discover.
使用技巧:
隔离模式(isolation: worktree)
设置 isolation: worktree 后,子代理会在临时 git worktree 中运行,与主仓库完全隔离。适合以下场景:
后台运行(Background)
Claude 会根据任务特性自动决定前台还是后台。你也可以主动控制:
生命周期钩子(Hooks) | 钩子事件 | 触发时机 | 典型用途 | | ---- | ---- | ---- | | SubagentStart | 子代理启动时 | 记录启动日志、初始化环境 | | SubagentStop | 子代理完成时 | 记录结果、触发下游任务、发送通知;字段含 agent_id 和 agent_transcript_path | | PreToolUse | 工具调用前 | 校验操作合法性,退出码 2 可阻止执行 | | PostToolUse | 工具调用后 | 格式化输出、生成变更记录 |
高级用法:通过 PreToolUse 动态控制工具行为。例如,让代理只允许只读 SQL 查询:
---
name: db-analyst
description: Read-only database analysis agent
tools: Bash
---
You are a database analyst. Only run SELECT queries.
# hooks defined in .claude/settings.json:
# PreToolUse on Bash -> validate-readonly-query.sh
# Script exits with code 2 to block write operations
自动委托 Claude 会根据 description 字段自动判断,无需你手动指定:
帮我检查最近的代码改动质量
显式调用 在提示中明确指定代理名称:
让 code-reviewer 子代理检查最近的改动
1、隔离高输出任务
使用子代理运行测试,只返回失败的测试和根因分析
2、并行研究
并行使用子代理分别分析认证模块、数据库模块和 API 模块,汇总后给出整体架构建议
3、串联子代理(流水线)
先用 code-reviewer 找问题,再用 optimizer 修复问题
串联工作流的设计原则:每个代理只做一件事,通过清晰的"输入 → 处理 → 输出 → 交接规则"定义接口。
完整流水线示例(来自 PubNub 的生产实践):
通过 SubagentStop 钩子监听队列文件,自动触发下一个代理。
4、并行代码审查
同时启动 style-checker、security-scanner、test-coverage 三个子代理并行审查,
将审查时间从数分钟压缩到数十秒
每次调用 = 新子代理实例(无法感知之前的调用)
子代理上下文独立存储,不污染主对话
中间工具调用和结果只留在子代理内部,主对话只收到最终摘要
可通过 session ID 和 agent ID 恢复继续执行(SDK 场景)
会话继续示例:
继续刚才的 code-reviewer 分析,重点看授权逻辑部分
存储位置示例:
~/.claude/projects/{project}/{sessionId}/subagents/
用主对话,当:
用子代理,当:
注意:子代理不能再创建子代理(防止无限嵌套)。如需嵌套逻辑,请使用 Skills。
插件(Plugin)是 Claude Code 中最高级别的扩展机制,用于将命令、代理、Skills、钩子、MCP、LSP 等能力打包、版本化、共享和分发。
插件 = 一组可复用的 Claude Code 扩展能力集合
| 方式对比 | 命令形式 | 适合场景 |
|---|---|---|
| 独立配置(.claude/) | /hello | 个人使用、单项目、快速实验 |
| 插件(.claude-plugin/) | /plugin-name:hello | 团队共享、跨项目、版本化 |
先在 .claude/ 中迭代 → 稳定后打包为插件
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(必需)
├── commands/ # 斜杠命令
├── agents/ # 子代理
├── skills/ # Skills
├── hooks/ # 钩子
├── .mcp.json # MCP 配置
└── .lsp.json # LSP 配置
.claude-plugin/ 目录中只能放 plugin.json
其他目录必须在插件根目录
| 字段 | 作用 |
|---|---|
| name | 唯一标识 + 命令命名空间 |
| description | 插件市场中展示 |
| version | 语义化版本控制 |
| author | 可选,归属说明 |
{
"name": "my-first-plugin",
"description": "A greeting plugin to learn the basics",
"version": "1.0.0",
"author": { "name": "Your Name" }
}
每个命令 = 一个 Markdown 文件
示例:commands/hello.md , 对应命令 /my-first-plugin:hello
commands/hello.md内容示例:
---
description: Greet the user with a friendly message
---
Greet the user warmly and ask how you can help them today.
使用 --plugin-dir 直接加载插件目录:claude --plugin-dir ./my-plugin
加载多个插件:claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b
插件通过市场分发,本质是一个插件目录仓库。
运行 /plugin → Discover
安装 /plugin install plugin-name@claude-plugins-official
安装范围 | 范围 | 说明 | |------------|-----------------------| | 用户范围 | 仅你自己,所有项目 | | 项目范围 | 当前仓库,团队共享 | | 本地范围 | 当前仓库,仅你 |
/plugin # 打开插件管理器
/plugin install # 安装插件
/plugin uninstall # 卸载
/plugin enable/disable # 启用 / 禁用
/plugin marketplace add # 添加市场
/plugin marketplace rm # 移除市场
| 原来 | 迁移后 |
|---|---|
| .claude/commands | plugin/commands |
| .claude/agents | plugin/agents |
| settings.json hooks | plugin/hooks/hooks.json |
迁移后: