Skip to content

高级特性

Claude Code 高级功能综合指南,涵盖计划模式、深度思考、自动模式、后台任务、权限模式、打印模式(非交互式)、会话管理、交互功能、语音听写、频道、语音控制、远程控制、Web 会话、桌面应用、任务列表、提示建议、Git 工作树、沙盒、托管设置及配置。

目录

  1. 概览
  2. 计划模式
  3. 深度思考
  4. 自动模式
  5. 后台任务
  6. 定时任务
  7. 权限模式
  8. 无界面模式
  9. 会话管理
  10. 交互功能
  11. 语音听写
  12. 频道
  13. Chrome 集成
  14. 远程控制
  15. Web 会话
  16. 桌面应用
  17. 任务列表
  18. 提示建议
  19. Git 工作树
  20. 沙盒
  21. 托管设置(企业版)
  22. 配置与设置
  23. 最佳实践
  24. 相关概念

概览

Claude Code 的高级功能通过规划、推理、自动化和控制机制扩展了核心能力。这些功能为复杂开发任务、代码审查、自动化和多会话管理提供了精密的工作流支持。

主要高级功能包括:

  • 计划模式:在编码前创建详细的实现计划
  • 深度思考:针对复杂问题进行深入推理
  • 自动模式:后台安全分类器在执行前审查每个操作(研究预览版)
  • 后台任务:在不阻塞对话的情况下运行长时间操作
  • 权限模式:控制 Claude 的可执行范围(defaultacceptEditsplanautodontAskbypassPermissions
  • 打印模式:以非交互方式运行 Claude Code,用于自动化和 CI/CD(claude -p
  • 会话管理:管理多个工作会话
  • 交互功能:键盘快捷键、多行输入和命令历史
  • 语音听写:支持 20 种语言语音识别的按键通话语音输入
  • 频道:MCP 服务器将消息推送到正在运行的会话中(研究预览版)
  • 远程控制:从 Claude.ai 或 Claude 应用程序控制 Claude Code
  • Web 会话:在 claude.ai/code 的浏览器中运行 Claude Code
  • 桌面应用:用于可视化差异审查和多会话的独立应用
  • 任务列表:跨上下文压缩的持久任务跟踪
  • 提示建议:基于上下文的智能命令建议
  • Git 工作树:用于并行工作的隔离工作树分支
  • 沙盒:操作系统级文件系统和网络隔离
  • 托管设置:通过 plist、注册表或托管文件进行企业版部署
  • 配置:使用 JSON 配置文件自定义行为

计划模式

计划模式允许 Claude 在实施复杂任务之前进行思考,创建可供审查和批准的详细计划。

什么是计划模式?

计划模式是一种两阶段方法:

  1. 规划阶段:Claude 分析任务并创建详细的实现计划
  2. 执行阶段:获批准后,Claude 执行计划

何时使用计划模式

✅ 适合使用计划模式的场景:

  • 复杂的多文件重构
  • 新功能实现
  • 架构变更
  • 数据库迁移
  • 重大 API 重新设计

❌ 不适合使用计划模式的场景:

  • 简单的错误修复
  • 格式更改
  • 单文件编辑
  • 快速查询

激活计划模式

Slash 命令

bash
/plan Implement user authentication system

CLI 标志

bash
claude --permission-mode plan

设为默认

json
{
  "permissions": {
    "defaultMode": "plan"
  }
}

键盘快捷键

  • Shift + Tab - 切换权限模式(包括 plan 模式)
  • Alt + M - 切换权限模式(Windows/Linux)

计划模式的优势

  • 结构化实现方法:实现步骤的详细分解
  • 审查与批准:在执行前批准或调整计划
  • 风险识别:在实施前发现潜在问题
  • 清晰阶段:有组织的实现阶段和里程碑

示例:功能实现

用户:/plan Add a real-time notification system

Claude:我将为实时通知的实现创建一个计划。

## 实现计划

### 第一阶段:基础设施搭建
1. 安装 WebSocket 库(socket.io)
2. 设置 WebSocket 服务器
3. 配置连接管理

### 第二阶段:后端实现
4. 创建通知服务
5. 实现通知队列
6. 添加通知的数据库架构
7. 创建 API 端点

### 第三阶段:前端集成
8. 设置 WebSocket 客户端
9. 创建通知 UI 组件
10. 实现通知状态管理
11. 添加通知权限

### 第四阶段:测试与部署
12. 编写单元测试
13. 编写集成测试
14. 更新文档
15. 部署到预发布环境

预计时间:3-4 小时
需修改文件:12 个
需新建文件:8 个

是否继续?(yes/no/modify plan)

用户:yes

Claude:[按照计划开始实现]

修改计划

用户:Modify the plan - skip the queue for now, we'll add it later

Claude:更新后的计划:
[显示已删除队列的修改计划]

用户:Looks good, proceed

Claude:[执行修改后的计划]

计划模式配置

计划模式通过 CLI 标志或 slash 命令激活:

bash
# 通过 CLI 激活 plan 模式
claude --permission-mode plan

# 或在 REPL 中使用 /plan slash 命令
/plan Implement user authentication system

规划用模型别名:使用 opusplan 作为模型别名,以 Opus 进行规划、以 Sonnet 执行:

bash
claude --model opusplan "design and implement the new API"

外部编辑计划:按 Ctrl+G 在外部编辑器中打开当前计划进行详细修改。


深度思考

深度思考允许 Claude 在提供解决方案之前,花更多时间对复杂问题进行推理。

什么是深度思考?

深度思考是一种深思熟虑的逐步推理过程,Claude 会:

  • 分解复杂问题
  • 考虑多种方法
  • 评估权衡
  • 推理边缘情况

激活深度思考

键盘快捷键

  • Option + T(macOS)/ Alt + T(Windows/Linux)- 切换深度思考

自动激活

  • 默认对所有模型启用(Opus 4.6、Sonnet 4.6、Haiku 4.5)
  • Opus 4.6:自适应推理,具有努力级别:low(○)、medium(◐)、high(●)、max(仅 Opus 4.6)
  • 其他模型:固定预算,最多 31,999 个 token

配置方法

  • 切换:Alt+T / Option+T,或通过 /config
  • 查看推理过程:Ctrl+O(详细模式)
  • 设置努力程度:/effort 命令或 --effort 标志

自定义预算

bash
export MAX_THINKING_TOKENS=1024

努力级别(仅 Opus 4.6):

bash
export CLAUDE_CODE_EFFORT_LEVEL=high   # low (○), medium (◐), high (●), or max (Opus 4.6 only)

CLI 标志

bash
claude --effort high "complex architectural review"

Slash 命令

/effort high

注意: 在提示中使用关键词 "ultrathink" 可激活深度推理模式。努力级别 lowmediumhighmax(仅 Opus 4.6)控制 Claude 执行多少推理。

深度思考的优势

  • 深入推理:花更多时间思考复杂问题
  • 更好的架构决策:通过全面评估做出明智选择
  • 考虑边缘情况:思考潜在问题和场景
  • 深入分析:结构化的复杂问题解决方法

示例:架构决策

用户:/think Should we use microservices or a monolith for our e-commerce platform?

Claude:让我仔细思考这个架构决策……

<extended_thinking>
## 上下文分析
- 团队规模:5 名开发者
- 预期流量:初期每日 10k 用户
- 需要扩展到 100k+ 用户
- DevOps 资源有限
- MVP 截止时间:6 个月

## 方案 1:微服务
优点:
+ 独立扩展
+ 技术灵活性
+ 团队独立性
+ 故障隔离

缺点:
- 运维复杂性
- 网络开销
- 需要分布式追踪
- 需要 DevOps 专业知识
- 初始开发较慢

## 方案 2:单体
优点:
+ 部署更简单
+ 初始开发更快
+ 调试更容易
+ 运维开销更低
+ 单一代码库

缺点:
- 后期扩展挑战
- 全量部署
- 技术锁定
- 可能出现紧耦合

## 决策因素
1. 团队规模(5 名开发者)→ 倾向单体
2. DevOps 资源(有限)→ 倾向单体
3. 时间表(6 个月)→ 倾向单体
4. 未来规模(10 万用户)→ 单体 + 缓存可实现
5. 复杂度预算 → 有限

## 建议
采用**模块化单体**:
- 单一部署单元
- 清晰的模块边界
- 模块间的干净接口
- 为将来提取到微服务做准备

这样可以:
✓ 初期开发快速
✓ 运维复杂性低
✓ 可在后期提取服务
✓ 架构清晰

迁移路径:当用户达到 5 万+ 或特定模块需要独立扩展时,将这些模块提取为微服务。
</extended_thinking>

**建议**:采用具有清晰模块边界的模块化单体。

这种方法在当前限制条件(团队规模、时间表、DevOps 资源)与未来可扩展性需求之间取得了平衡。当有明确的业务需求时,可以将特定模块迁移到微服务。

深度思考配置

深度思考通过环境变量、键盘快捷键和 CLI 标志进行控制:

bash
# 设置思考 token 预算
export MAX_THINKING_TOKENS=16000

# 设置努力级别(仅 Opus 4.6):low (○), medium (◐), high (●), or max (Opus 4.6 only)
export CLAUDE_CODE_EFFORT_LEVEL=high

使用 Alt+T / Option+T 在会话期间切换,使用 /effort 设置努力程度,或通过 /config 进行配置。


自动模式

自动模式是一种研究预览版权限模式(2026 年 3 月),使用后台安全分类器在执行前审查每个操作。它允许 Claude 自主工作,同时阻止危险操作。

要求

  • 计划:Team 计划(企业版和 API 正在逐步推出)
  • 模型:Claude Sonnet 4.6 或 Opus 4.6
  • 分类器:在 Claude Sonnet 4.6 上运行(增加额外 token 费用)

启用自动模式

bash
# 使用 CLI 标志解锁自动模式
claude --enable-auto-mode

# 然后在 REPL 中使用 Shift+Tab 切换到该模式

或将其设为默认权限模式:

bash
claude --permission-mode auto

通过配置设置:

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

分类器的工作方式

后台分类器按以下决策顺序评估每个操作:

  1. 允许/拒绝规则 -- 首先检查显式权限规则
  2. 只读/编辑自动批准 -- 文件读取和编辑自动通过
  3. 分类器 -- 后台分类器审查操作
  4. 回退 -- 连续 3 次或共 20 次阻止后回退到提示用户

默认阻止的操作

自动模式默认阻止以下操作:

阻止的操作示例
管道到 shell 的安装curl | bash
向外部发送敏感数据API 密钥、凭据通过网络传输
生产部署以生产环境为目标的部署命令
批量删除对大目录执行 rm -rf
IAM 更改权限和角色修改
强制推送到 maingit push --force origin main

默认允许的操作

允许的操作示例
本地文件操作读取、写入、编辑项目文件
声明的依赖安装从清单文件执行 npm installpip install
只读 HTTPcurl 获取文档
推送到当前分支git push origin feature-branch

配置自动模式

以 JSON 形式打印默认规则

bash
claude auto-mode defaults

通过 autoMode.environment 托管设置配置受信任的基础设施,用于企业版部署。这允许管理员定义受信任的 CI/CD 环境、部署目标和基础设施模式。

回退行为

当分类器不确定时,自动模式回退到提示用户:

  • 连续 3 次分类器阻止后
  • 会话中共 20 次分类器阻止后

这确保当分类器无法自信地批准操作时,用户始终保持控制权。

在不需要 Team 计划的情况下模拟自动模式权限

如果您没有 Team 计划或希望使用不带后台分类器的更简单方法,可以在 ~/.claude/settings.json 中预设一套保守的安全权限规则基准。该脚本从只读和本地检查规则开始,然后在需要时让您选择开启编辑、测试、本地 git 写入、包安装和 GitHub 写入操作。

文件: 09-advanced-features/setup-auto-mode-permissions.py

bash
# 预览将添加的内容(不写入任何更改)
python3 09-advanced-features/setup-auto-mode-permissions.py --dry-run

# 应用保守基准
python3 09-advanced-features/setup-auto-mode-permissions.py

# 仅在需要时添加更多能力
python3 09-advanced-features/setup-auto-mode-permissions.py --include-edits --include-tests
python3 09-advanced-features/setup-auto-mode-permissions.py --include-git-write --include-packages

该脚本在以下类别中添加规则:

类别示例
核心只读工具Read(*), Glob(*), Grep(*), Agent(*), WebSearch(*), WebFetch(*)
本地检查Bash(git status:*), Bash(git log:*), Bash(git diff:*), Bash(cat:*)
可选编辑Edit(*), Write(*), NotebookEdit(*)
可选测试/构建Bash(pytest:*), Bash(python3 -m pytest:*), Bash(cargo test:*)
可选 git 写入Bash(git add:*), Bash(git commit:*), Bash(git stash:*)
Git(本地写入)Bash(git add:*), Bash(git commit:*), Bash(git checkout:*)
包管理器Bash(npm install:*), Bash(pip install:*), Bash(cargo build:*)
构建与测试Bash(make:*), Bash(pytest:*), Bash(go test:*)
常用 shellBash(ls:*), Bash(cat:*), Bash(find:*), Bash(cp:*), Bash(mv:*)
GitHub CLIBash(gh pr view:*), Bash(gh pr create:*), Bash(gh issue list:*)

危险操作(rm -rfsudo、强制推送、DROP TABLEterraform destroy 等)被有意排除在外。该脚本是幂等的——运行两次不会重复规则。


后台任务

后台任务允许长时间运行的操作在不阻塞对话的情况下异步执行。

什么是后台任务?

后台任务在您继续工作时异步运行:

  • 长时间运行的测试套件
  • 构建过程
  • 数据库迁移
  • 部署脚本
  • 分析工具

基本用法:

bash
用户:Run tests in background

Claude:已启动任务 bg-1234

/task list           # 显示所有任务
/task status bg-1234 # 检查进度
/task show bg-1234   # 查看输出
/task cancel bg-1234 # 取消任务

启动后台任务

用户:Run the full test suite in the background

Claude:正在后台启动测试(任务 ID:bg-1234)
测试运行期间您可以继续工作。

[您可以继续对话]

用户:Meanwhile, let's refactor the auth module

Claude:[在后台测试运行时处理 auth 模块重构]

[稍后,测试完成时]

Claude:📢 后台任务 bg-1234 已完成:
✅ 245 个测试通过
❌ 3 个测试失败
查看结果:/task show bg-1234

管理后台任务

列出活动任务

用户:/task list

活动后台任务:
1. [bg-1234] 运行测试(50% 完成,剩余 2 分钟)
2. [bg-1235] 构建 Docker 镜像(25% 完成,剩余 8 分钟)
3. [bg-1236] 部署到预发布环境(90% 完成,剩余 30 秒)

检查任务状态

用户:/task status bg-1234

任务 bg-1234:运行测试
状态:进行中
进度:120/245 个测试(49%)
开始时间:2025-11-08 10:30:15
预计完成:2025-11-08 10:34:22

查看任务输出

用户:/task show bg-1234

[显示测试运行的实时输出]

取消任务

用户:/task cancel bg-1234

已取消后台任务 bg-1234

示例:并行开发

用户:Run the build in the background

Claude:正在启动构建…(任务 ID:bg-5001)

用户:Also run the linter in background

Claude:正在启动 linter…(任务 ID:bg-5002)

用户:While those run, let's implement the new API endpoint

Claude:[在构建和 linter 运行期间实现 API 端点]

[10 分钟后]

Claude:📢 构建成功完成(bg-5001)
📢 Linter 发现 12 个问题(bg-5002)

用户:Show me the linter issues

Claude:[显示 bg-5002 的 linter 输出]

配置

json
{
  "backgroundTasks": {
    "enabled": true,
    "maxConcurrentTasks": 5,
    "notifyOnCompletion": true,
    "autoCleanup": true,
    "logOutput": true
  }
}

定时任务

定时任务让您可以按重复计划或一次性提醒自动运行提示。任务是会话范围的——在 Claude Code 活动时运行,会话结束后清除。自 v2.1.72+ 起可用。

/loop 命令

bash
# 显式指定间隔
/loop 5m check if the deployment finished

# 自然语言
/loop check build status every 30 minutes

也支持标准的 5 字段 cron 表达式进行精确调度。

一次性提醒

设置在特定时间触发一次的提醒:

remind me at 3pm to push the release branch
in 45 minutes, run the integration tests

管理定时任务

工具描述
CronCreate创建新的定时任务
CronList列出所有活动的定时任务
CronDelete删除定时任务

限制与行为

  • 每个会话最多 50 个定时任务
  • 会话范围——会话结束时清除
  • 重复任务在 3 天后自动过期
  • 任务仅在 Claude Code 运行时触发——不会补充错过的触发

行为详情

方面详情
重复抖动最多为间隔的 10%(最多 15 分钟)
单次抖动在 :00/:30 边界最多 90 秒
错过的触发不会补充——如果 Claude Code 未运行则跳过
持久性不会跨重启持久化

云端定时任务

使用 /schedule 创建在 Anthropic 基础设施上运行的云端定时任务:

/schedule daily at 9am run the test suite and report failures

云端定时任务在重启后持久存在,不需要 Claude Code 在本地运行。

禁用定时任务

bash
export CLAUDE_CODE_DISABLE_CRON=1

示例:监控部署

/loop 5m check the deployment status of the staging environment.
        If the deploy succeeded, notify me and stop looping.
        If it failed, show the error logs.

提示:定时任务是会话范围的。对于在重启后仍然存在的持久自动化,请使用 CI/CD 流水线、GitHub Actions 或桌面应用定时任务。


权限模式

权限模式控制 Claude 可以在没有明确批准的情况下执行哪些操作。

可用权限模式

模式行为
default仅读取文件;所有其他操作需提示
acceptEdits读取和编辑文件;命令需提示
plan仅读取文件(研究模式,无编辑)
auto所有操作,带后台安全分类器检查(研究预览版)
bypassPermissions所有操作,无权限检查(危险)
dontAsk仅执行预批准工具;其他所有工具被拒绝

在 CLI 中使用 Shift+Tab 循环切换模式。使用 --permission-mode 标志或 permissions.defaultMode 设置默认模式。

激活方式

键盘快捷键

bash
Shift + Tab  # 循环切换所有 6 种模式

Slash 命令

bash
/plan                  # 进入 plan 模式

CLI 标志

bash
claude --permission-mode plan
claude --permission-mode auto

设置

json
{
  "permissions": {
    "defaultMode": "auto"
  }
}

权限模式示例

默认模式

Claude 在重要操作时请求确认:

用户:Fix the bug in auth.ts

Claude:我需要修改 src/auth.ts 来修复该错误。
此更改将更新密码验证逻辑。

批准此更改?(yes/no/show)

Plan 模式

在执行前审查实现计划:

用户:/plan Implement user authentication system

Claude:我将创建实现认证系统的计划。

## 实现计划
[包含阶段和步骤的详细计划]

是否继续?(yes/no/modify)

接受编辑模式

自动接受文件修改:

用户:acceptEdits
用户:Fix the bug in auth.ts

Claude:[无需询问即进行更改]

使用场景

代码审查

用户:claude --permission-mode plan
用户:Review this PR and suggest improvements

Claude:[读取代码,提供反馈,但不修改]

结对编程

用户:claude --permission-mode default
用户:Let's implement the feature together

Claude:[在每次更改前请求批准]

自动化任务

用户:claude --permission-mode acceptEdits
用户:Fix all linting issues in the codebase

Claude:[自动接受文件编辑,无需询问]

无界面模式

打印模式(claude -p)允许 Claude Code 在没有交互输入的情况下运行,非常适合自动化和 CI/CD。这是非交互模式,取代了旧的 --headless 标志。

什么是打印模式?

打印模式支持:

  • 自动化脚本执行
  • CI/CD 集成
  • 批处理
  • 定时任务

在打印模式(非交互式)下运行

bash
# 运行特定任务
claude -p "Run all tests"

# 处理管道内容
cat error.log | claude -p "Analyze these errors"

# CI/CD 集成(GitHub Actions)
- name: AI Code Review
  run: claude -p "Review PR"

其他打印模式用法示例

bash
# 运行特定任务并捕获输出
claude -p "Run all tests and generate coverage report"

# 使用结构化输出
claude -p --output-format json "Analyze code quality"

# 从 stdin 接收输入
echo "Analyze code quality" | claude -p "explain this"

示例:CI/CD 集成

GitHub Actions

yaml
# .github/workflows/code-review.yml
name: AI Code Review

on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Claude Code Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p --output-format json \
            --max-turns 3 \
            "Review this PR for:
            - Code quality issues
            - Security vulnerabilities
            - Performance concerns
            - Test coverage
            Output results as JSON" > review.json

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

打印模式配置

打印模式(claude -p)支持多个自动化标志:

bash
# 限制自主轮次
claude -p --max-turns 5 "refactor this module"

# 结构化 JSON 输出
claude -p --output-format json "analyze this codebase"

# 带模式验证
claude -p --json-schema '{"type":"object","properties":{"issues":{"type":"array"}}}' \
  "find bugs in this code"

# 禁用会话持久化
claude -p --no-session-persistence "one-off analysis"

会话管理

有效管理多个 Claude Code 会话。

会话管理命令

命令描述
/resume通过 ID 或名称恢复对话
/rename为当前会话命名
/fork将当前会话分叉为新分支
claude -c继续最近的对话
claude -r "session"通过名称或 ID 恢复会话

恢复会话

继续上次对话

bash
claude -c

恢复命名会话

bash
claude -r "auth-refactor" "finish this PR"

重命名当前会话(在 REPL 中):

/rename auth-refactor

分叉会话

分叉会话以尝试替代方案,而不会丢失原始会话:

/fork

或从 CLI:

bash
claude --resume auth-refactor --fork-session "try OAuth instead"

会话持久化

会话自动保存并可以恢复:

bash
# 继续上次对话
claude -c

# 通过名称或 ID 恢复特定会话
claude -r "auth-refactor"

# 恢复并分叉以进行实验
claude --resume auth-refactor --fork-session "alternative approach"

交互功能

键盘快捷键

Claude Code 支持键盘快捷键以提高效率。以下是官方文档的完整参考:

快捷键描述
Ctrl+C取消当前输入/生成
Ctrl+D退出 Claude Code
Ctrl+G在外部编辑器中编辑计划
Ctrl+L清除终端屏幕
Ctrl+O切换详细输出(查看推理过程)
Ctrl+R反向搜索历史
Ctrl+T切换任务列表视图
Ctrl+B后台运行任务
Esc+Esc回退代码/对话
Shift+Tab / Alt+M切换权限模式
Option+P / Alt+P切换模型
Option+T / Alt+T切换深度思考

行编辑(标准 readline 快捷键):

快捷键操作
Ctrl + A移动到行首
Ctrl + E移动到行尾
Ctrl + K剪切到行尾
Ctrl + U剪切到行首
Ctrl + W向后删除一个单词
Ctrl + Y粘贴
Tab自动补全
↑ / ↓命令历史

自定义键绑定

通过运行 /keybindings 创建自定义键盘快捷键,该命令会打开 ~/.claude/keybindings.json 进行编辑(v2.1.18+)。

配置格式

json
{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null,
        "ctrl+k ctrl+s": "chat:stash"
      }
    },
    {
      "context": "Confirmation",
      "bindings": {
        "ctrl+a": "confirmation:yes"
      }
    }
  ]
}

将绑定设置为 null 可解除默认快捷键。

可用上下文

键绑定作用于特定的 UI 上下文:

上下文键操作
ChatsubmitcancelcycleModemodelPickerthinkingToggleundoexternalEditorstashimagePaste
ConfirmationyesnopreviousnextnextFieldcycleModetoggleExplanation
GlobalinterruptexittoggleTodostoggleTranscript
Autocompleteacceptdismissnextprevious
HistorySearchsearchpreviousnext
Settings特定于上下文的设置导航
Tabs标签切换和管理
Help帮助面板导航

共有 18 个上下文,包括 TranscriptTaskThemePickerAttachmentsFooterMessageSelectorDiffDialogModelPickerSelect

和弦支持

键绑定支持和弦序列(多键组合):

"ctrl+k ctrl+s"   → 两键序列:先按 ctrl+k,再按 ctrl+s
"ctrl+shift+p"    → 同时按下修饰键

按键语法

  • 修饰键ctrlalt(或 opt)、shiftmeta(或 cmd
  • 大写字母表示 ShiftK 等同于 shift+k
  • 特殊键escapeenterreturntabspacebackspacedelete、方向键

保留键和冲突键

状态备注
Ctrl+C保留不可重新绑定(中断)
Ctrl+D保留不可重新绑定(退出)
Ctrl+B终端冲突tmux 前缀键
Ctrl+A终端冲突GNU Screen 前缀键
Ctrl+Z终端冲突进程挂起

提示:如果快捷键不起作用,请检查与终端仿真器或多路复用器的冲突。

Tab 补全

Claude Code 提供智能 tab 补全:

用户:/rew<TAB>
→ /rewind

用户:/plu<TAB>
→ /plugin

用户:/plugin <TAB>
→ /plugin install
→ /plugin enable
→ /plugin disable

命令历史

访问之前的命令:

用户:<↑>  # 上一个命令
用户:<↓>  # 下一个命令
用户:Ctrl+R  # 搜索历史

(reverse-i-search)`test': run all tests

多行输入

对于复杂查询,使用多行模式:

bash
用户:\
> 长复杂的提示
> 跨越多行
> \end

示例:

用户:\
> Implement a user authentication system
> with the following requirements:
> - JWT tokens
> - Email verification
> - Password reset
> - 2FA support
> \end

Claude:[处理多行请求]

内联编辑

在发送前编辑命令:

用户:Deploy to prodcution<Backspace><Backspace>uction

[发送前就地编辑]

Vim 模式

为文本编辑启用 Vi/Vim 键绑定:

激活

  • 使用 /vim 命令或 /config 启用
  • 使用 Esc 切换到 NORMAL 模式,使用 i/a/o 切换到 INSERT 模式

导航键

  • h / l - 左/右移动
  • j / k - 上/下移动
  • w / b / e - 按词移动
  • 0 / $ - 移动到行首/行尾
  • gg / G - 跳转到文本开头/结尾

文本对象

  • iw / aw - 内部/周围单词
  • i" / a" - 内部/周围引号字符串
  • i( / a( - 内部/周围括号

Bash 模式

使用 ! 前缀直接执行 shell 命令:

bash
! npm test
! git status
! cat src/index.js

适用于无需切换上下文的快速命令执行。


语音听写

语音听写为 Claude Code 提供按键通话语音输入,让您可以通过说话而不是打字来输入提示。

激活语音听写

/voice

功能

功能描述
按键通话按住键录音,松开发送
20 种语言语音识别支持 20 种语言
自定义键绑定通过 /keybindings 配置按键通话键
账户要求STT 处理需要 Claude.ai 账户

配置

在键绑定文件(/keybindings)中自定义按键通话键绑定。语音听写使用您的 Claude.ai 账户进行语音转文字处理。


频道

频道(研究预览版)允许 MCP 服务器将消息推送到正在运行的 Claude Code 会话中,实现与外部服务的实时集成。

订阅频道

bash
# 启动时订阅频道插件
claude --channels discord,telegram

支持的集成

集成描述
Discord在您的会话中接收和回复 Discord 消息
Telegram在您的会话中接收和回复 Telegram 消息

配置

企业版部署的托管设置

json
{
  "allowedChannelPlugins": ["discord", "telegram"]
}

allowedChannelPlugins 托管设置控制整个组织中允许哪些频道插件。

工作原理

  1. MCP 服务器充当连接外部服务的频道插件
  2. 传入的消息被推送到活动的 Claude Code 会话中
  3. Claude 可以在会话上下文中读取和回复消息
  4. 频道插件必须通过 allowedChannelPlugins 托管设置获得批准

Chrome 集成

Chrome 集成将 Claude Code 连接到您的 Chrome 或 Microsoft Edge 浏览器,实现实时 Web 自动化和调试。这是自 v2.0.73+ 起可用的 beta 功能(Edge 支持在 v1.0.36+ 中添加)。

启用 Chrome 集成

启动时

bash
claude --chrome      # 启用 Chrome 连接
claude --no-chrome   # 禁用 Chrome 连接

在会话中

/chrome

选择"默认启用"可为所有未来会话激活 Chrome 集成。Claude Code 共享您浏览器的登录状态,因此可以与经过身份验证的 Web 应用进行交互。

功能

功能描述
实时调试读取控制台日志、检查 DOM 元素、实时调试 JavaScript
设计验证将渲染的页面与设计模型进行比较
表单验证测试表单提交、输入验证和错误处理
Web 应用测试与经过身份验证的应用程序交互(Gmail、Google Docs、Notion 等)
数据提取抓取和处理网页内容
会话录制将浏览器交互录制为 GIF 文件

站点级权限

Chrome 扩展管理每个站点的访问权限。通过扩展弹出窗口随时授予或撤销特定站点的访问权限。Claude Code 仅与您明确允许的站点交互。

工作原理

Claude Code 在可见窗口中控制浏览器——您可以实时观看操作。当浏览器遇到登录页面或 CAPTCHA 时,Claude 会暂停并等待您手动处理后再继续。

已知限制

  • 浏览器支持:仅限 Chrome 和 Edge——不支持 Brave、Arc 和其他基于 Chromium 的浏览器
  • WSL:在 Windows Subsystem for Linux 中不可用
  • 第三方提供商:不支持 Bedrock、Vertex 或 Foundry API 提供商
  • Service Worker 空闲:Chrome 扩展 service worker 在长时间会话中可能进入空闲状态

提示:Chrome 集成是 beta 功能。浏览器支持可能在未来版本中扩展。


远程控制

远程控制允许您从手机、平板电脑或任何浏览器继续本地运行的 Claude Code 会话。您的本地会话继续在您的机器上运行——没有任何内容移动到云端。适用于 Pro、Max、Team 和企业版计划(v2.1.51+)。

启动远程控制

从 CLI

bash
# 使用默认会话名称启动
claude remote-control

# 使用自定义名称启动
claude remote-control --name "Auth Refactor"

在会话中

/remote-control
/remote-control "Auth Refactor"

可用标志

标志描述
--name "title"便于识别的自定义会话标题
--verbose显示详细的连接日志
--sandbox启用文件系统和网络隔离
--no-sandbox禁用沙盒(默认)

连接到会话

从其他设备连接的三种方式:

  1. 会话 URL — 会话启动时打印到终端;在任何浏览器中打开
  2. 二维码 — 启动后按 spacebar 显示可扫描的二维码
  3. 按名称查找 — 在 claude.ai/code 或 Claude 移动应用(iOS/Android)中浏览您的会话

安全性

  • 不会在您的机器上打开入站端口
  • 仅通过 TLS 进行出站 HTTPS
  • 范围凭据 — 多个短期、范围狭窄的令牌
  • 会话隔离 — 每个远程会话是独立的

远程控制与 Web 上的 Claude Code

方面远程控制Web 上的 Claude Code
执行在您的机器上运行在 Anthropic 云上运行
本地工具完全访问本地 MCP 服务器、文件和 CLI无本地依赖
使用场景从其他设备继续本地工作从任何浏览器全新开始

限制

  • 每个 Claude Code 实例一个远程会话
  • 终端必须在主机机器上保持打开
  • 如果网络不可达,会话将在约 10 分钟后超时

使用场景

  • 离开桌面时从移动设备或平板电脑控制 Claude Code
  • 使用更丰富的 claude.ai UI,同时保持本地工具执行
  • 使用完整的本地开发环境进行随时随地的快速代码审查

Web 会话

Web 会话允许您直接在浏览器的 claude.ai/code 中运行 Claude Code,或从 CLI 创建 Web 会话。

创建 Web 会话

bash
# 从 CLI 创建新的 Web 会话
claude --remote "implement the new API endpoints"

这将在 claude.ai 上启动一个 Claude Code 会话,您可以从任何浏览器访问。

本地恢复 Web 会话

如果您在 Web 上启动了会话并希望在本地继续:

bash
# 在本地终端恢复 Web 会话
claude --teleport

或在交互式 REPL 中:

/teleport

使用场景

  • 在一台机器上开始工作,在另一台机器上继续
  • 与团队成员共享会话 URL
  • 使用 Web UI 进行可视化差异审查,然后切换到终端执行

桌面应用

Claude Code 桌面应用提供具有可视化差异审查、并行会话和集成连接器的独立应用程序。适用于 macOS 和 Windows(Pro、Max、Team 和企业版计划)。

安装

claude.ai 下载适合您平台的版本:

  • macOS:通用构建(Apple Silicon 和 Intel)
  • Windows:x64 和 ARM64 安装程序可用

设置说明请参阅 桌面快速入门

从 CLI 切换

将当前 CLI 会话转移到桌面应用:

/desktop

核心功能

功能描述
差异视图逐文件的可视化审查,带内联注释;Claude 读取注释并修改
应用预览自动启动带嵌入式浏览器的开发服务器进行实时验证
PR 监控GitHub CLI 集成,自动修复 CI 失败并在检查通过时自动合并
并行会话侧边栏中的多个会话,带自动 Git 工作树隔离
定时任务应用打开时运行的重复任务(每小时、每天、工作日、每周)
富文本渲染带语法高亮的代码、Markdown 和图表渲染

应用预览配置

.claude/launch.json 中配置开发服务器行为:

json
{
  "command": "npm run dev",
  "port": 3000,
  "readyPattern": "ready on",
  "persistCookies": true
}

连接器

连接外部服务以获取更丰富的上下文:

连接器功能
GitHubPR 监控、问题跟踪、代码审查
Slack通知、频道上下文
Linear问题跟踪、冲刺管理
Notion文档、知识库访问
Asana任务管理、项目跟踪
Calendar日程感知、会议上下文

注意:连接器不适用于远程(云端)会话。

远程和 SSH 会话

  • 远程会话:在 Anthropic 云基础设施上运行;即使应用关闭也可继续。可从 claude.ai/code 或 Claude 移动应用访问
  • SSH 会话:通过 SSH 连接到远程机器,完全访问远程文件系统和工具。Claude Code 必须安装在远程机器上

桌面应用中的权限模式

桌面应用支持与 CLI 相同的 4 种权限模式:

模式行为
请求权限(默认)审查并批准每个编辑和命令
自动接受编辑文件编辑自动批准;命令需手动批准
计划模式在进行任何更改之前审查方案
绕过权限自动执行(仅限沙盒,管理员控制)

企业版功能

  • 管理控制台:控制组织的 Code 标签访问和权限设置
  • MDM 部署:在 macOS 上通过 MDM 或在 Windows 上通过 MSIX 部署
  • SSO 集成:要求组织成员进行单点登录
  • 托管设置:集中管理团队配置和模型可用性

任务列表

任务列表功能提供持久的任务跟踪,在上下文压缩(当对话历史被修剪以适应上下文窗口时)后仍然存在。

切换任务列表

在会话期间按 Ctrl+T 可切换任务列表视图的开关。

持久任务

任务在上下文压缩后仍然存在,确保长时间运行的工作项在对话上下文被修剪时不会丢失。这对于复杂的多步骤实现特别有用。

命名任务目录

使用 CLAUDE_CODE_TASK_LIST_ID 环境变量创建跨会话共享的命名任务目录:

bash
export CLAUDE_CODE_TASK_LIST_ID=my-project-sprint-3

这允许多个会话共享同一个任务列表,对于团队工作流或多会话项目非常有用。


提示建议

提示建议根据您的 git 历史和当前对话上下文显示灰色示例命令。

工作原理

  • 建议以灰色文字显示在输入提示下方
  • Tab 接受建议
  • Enter 接受并立即提交
  • 建议具有上下文感知能力,从 git 历史和对话状态中提取

禁用提示建议

bash
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

Git 工作树

Git 工作树允许您在隔离的工作树中启动 Claude Code,无需暂存或切换即可在不同分支上并行工作。

在工作树中启动

bash
# 在隔离工作树中启动 Claude Code
claude --worktree
# 或
claude -w

工作树位置

工作树创建于:

<repo>/.claude/worktrees/<name>

单体仓库的稀疏检出

使用 worktree.sparsePaths 设置在单体仓库中执行稀疏检出,减少磁盘使用和克隆时间:

json
{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

工作树工具和钩子

项目描述
ExitWorktree退出并清理当前工作树的工具
WorktreeCreate创建工作树时触发的钩子事件
WorktreeRemove删除工作树时触发的钩子事件

自动清理

如果在工作树中没有进行任何更改,会话结束时将自动清理。

使用场景

  • 在保持主分支不变的情况下处理功能分支
  • 在不影响工作目录的情况下隔离运行测试
  • 在一次性环境中尝试实验性更改
  • 在单体仓库中稀疏检出特定包以加快启动速度

沙盒

沙盒为 Claude Code 执行的 Bash 命令提供操作系统级文件系统和网络隔离。这是对权限规则的补充,提供额外的安全层。

启用沙盒

Slash 命令

/sandbox

CLI 标志

bash
claude --sandbox       # 启用沙盒
claude --no-sandbox    # 禁用沙盒

配置设置

设置描述
sandbox.enabled启用或禁用沙盒
sandbox.failIfUnavailable如果沙盒无法激活则失败
sandbox.filesystem.allowWrite允许写入访问的路径
sandbox.filesystem.allowRead允许读取访问的路径
sandbox.filesystem.denyRead拒绝读取访问的路径
sandbox.enableWeakerNetworkIsolation在 macOS 上启用较弱的网络隔离

示例配置

json
{
  "sandbox": {
    "enabled": true,
    "failIfUnavailable": true,
    "filesystem": {
      "allowWrite": ["/Users/me/project"],
      "allowRead": ["/Users/me/project", "/usr/local/lib"],
      "denyRead": ["/Users/me/.ssh", "/Users/me/.aws"]
    },
    "enableWeakerNetworkIsolation": true
  }
}

工作原理

  • Bash 命令在具有受限文件系统访问的沙盒环境中运行
  • 可以隔离网络访问以防止意外的外部连接
  • 与权限规则配合工作,实现纵深防御
  • 在 macOS 上,使用 sandbox.enableWeakerNetworkIsolation 进行网络限制(macOS 上无法实现完全网络隔离)

使用场景

  • 安全运行不受信任或生成的代码
  • 防止意外修改项目外的文件
  • 在自动化任务期间限制网络访问

托管设置(企业版)

托管设置使企业版管理员能够使用平台原生管理工具在整个组织中部署 Claude Code 配置。

部署方式

平台方式起始版本
macOS托管 plist 文件(MDM)v2.1.51+
WindowsWindows 注册表v2.1.51+
跨平台托管配置文件v2.1.51+
跨平台托管插件(managed-settings.d/ 目录)v2.1.83+

托管插件

自 v2.1.83 起,管理员可以将多个托管设置文件部署到 managed-settings.d/ 目录中。文件按字母顺序合并,允许跨团队进行模块化配置:

~/.claude/managed-settings.d/
  00-org-defaults.json
  10-team-policies.json
  20-project-overrides.json

可用托管设置

设置描述
disableBypassPermissionsMode防止用户启用绕过权限
availableModels限制用户可选择的模型
allowedChannelPlugins控制允许哪些频道插件
autoMode.environment为自动模式配置受信任的基础设施
自定义策略组织特定的权限和工具策略

示例:macOS Plist

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>disableBypassPermissionsMode</key>
  <true/>
  <key>availableModels</key>
  <array>
    <string>claude-sonnet-4-6</string>
    <string>claude-haiku-4-5</string>
  </array>
</dict>
</plist>

配置与设置

配置文件位置

  1. 全局配置~/.claude/config.json
  2. 项目配置./.claude/config.json
  3. 用户配置~/.config/claude-code/settings.json

完整配置示例

核心高级功能配置:

json
{
  "permissions": {
    "mode": "default"
  },
  "hooks": {
    "PreToolUse:Edit": "eslint --fix ${file_path}",
    "PostToolUse:Write": "~/.claude/hooks/security-scan.sh"
  },
  "mcp": {
    "enabled": true,
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"]
      }
    }
  }
}

扩展配置示例:

json
{
  "permissions": {
    "mode": "default",
    "allowedTools": ["Bash(git log:*)", "Read"],
    "disallowedTools": ["Bash(rm -rf:*)"]
  },

  "hooks": {
    "PreToolUse": [{ "matcher": "Edit", "hooks": ["eslint --fix ${file_path}"] }],
    "PostToolUse": [{ "matcher": "Write", "hooks": ["~/.claude/hooks/security-scan.sh"] }],
    "Stop": [{ "hooks": ["~/.claude/hooks/notify.sh"] }]
  },

  "mcp": {
    "enabled": true,
    "servers": {
      "github": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-github"],
        "env": {
          "GITHUB_TOKEN": "${GITHUB_TOKEN}"
        }
      }
    }
  }
}

环境变量

使用环境变量覆盖配置:

bash
# 模型选择
export ANTHROPIC_MODEL=claude-opus-4-6
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-6
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

# API 配置
export ANTHROPIC_API_KEY=sk-ant-...

# 思考配置
export MAX_THINKING_TOKENS=16000
export CLAUDE_CODE_EFFORT_LEVEL=high

# 功能开关
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true
export CLAUDE_CODE_DISABLE_CRON=1
export CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true
export CLAUDE_CODE_DISABLE_1M_CONTEXT=true
export CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK=true
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
export CLAUDE_CODE_ENABLE_TASKS=true
export CLAUDE_CODE_SIMPLE=true              # 由 --bare 标志设置

# MCP 配置
export MAX_MCP_OUTPUT_TOKENS=50000
export ENABLE_TOOL_SEARCH=true

# 任务管理
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

# 代理团队(实验性)
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=true

# 子代理和插件配置
export CLAUDE_CODE_SUBAGENT_MODEL=sonnet
export CLAUDE_CODE_PLUGIN_SEED_DIR=./my-plugins
export CLAUDE_CODE_NEW_INIT=true

# 子进程和流式传输
export CLAUDE_CODE_SUBPROCESS_ENV_SCRUB="SECRET_KEY,DB_PASSWORD"
export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80
export CLAUDE_STREAM_IDLE_TIMEOUT_MS=30000
export ANTHROPIC_CUSTOM_MODEL_OPTION=my-custom-model
export SLASH_COMMAND_TOOL_CHAR_BUDGET=50000

配置管理命令

用户:/config
[打开交互式配置菜单]

/config 命令提供交互式菜单来切换设置,例如:

  • 深度思考开/关
  • 详细输出
  • 权限模式
  • 模型选择

每项目配置

在您的项目中创建 .claude/config.json

json
{
  "hooks": {
    "PreToolUse": [{ "matcher": "Bash", "hooks": ["npm test && npm run lint"] }]
  },
  "permissions": {
    "mode": "default"
  },
  "mcp": {
    "servers": {
      "project-db": {
        "command": "mcp-postgres",
        "env": {
          "DATABASE_URL": "${PROJECT_DB_URL}"
        }
      }
    }
  }
}

最佳实践

计划模式

  • ✅ 用于复杂的多步骤任务
  • ✅ 批准前审查计划
  • ✅ 必要时修改计划
  • ❌ 不要用于简单任务

深度思考

  • ✅ 用于架构决策
  • ✅ 用于复杂问题解决
  • ✅ 审查思考过程
  • ❌ 不要用于简单查询

后台任务

  • ✅ 用于长时间运行的操作
  • ✅ 监控任务进度
  • ✅ 优雅地处理任务失败
  • ❌ 不要启动太多并发任务

权限

  • ✅ 代码审查使用 plan(只读)
  • ✅ 交互式开发使用 default
  • ✅ 自动化工作流使用 acceptEdits
  • ✅ 带安全护栏的自主工作使用 auto
  • ❌ 非绝对必要时不要使用 bypassPermissions

会话

  • ✅ 不同任务使用单独的会话
  • ✅ 保存重要的会话状态
  • ✅ 清理旧会话
  • ❌ 不要在一个会话中混合不相关的工作

其他资源

有关 Claude Code 及相关功能的更多信息: