高级特性
Claude Code 高级功能综合指南,涵盖计划模式、深度思考、自动模式、后台任务、权限模式、打印模式(非交互式)、会话管理、交互功能、语音听写、频道、语音控制、远程控制、Web 会话、桌面应用、任务列表、提示建议、Git 工作树、沙盒、托管设置及配置。
目录
- 概览
- 计划模式
- 深度思考
- 自动模式
- 后台任务
- 定时任务
- 权限模式
- 无界面模式
- 会话管理
- 交互功能
- 语音听写
- 频道
- Chrome 集成
- 远程控制
- Web 会话
- 桌面应用
- 任务列表
- 提示建议
- Git 工作树
- 沙盒
- 托管设置(企业版)
- 配置与设置
- 最佳实践
- 相关概念
概览
Claude Code 的高级功能通过规划、推理、自动化和控制机制扩展了核心能力。这些功能为复杂开发任务、代码审查、自动化和多会话管理提供了精密的工作流支持。
主要高级功能包括:
- 计划模式:在编码前创建详细的实现计划
- 深度思考:针对复杂问题进行深入推理
- 自动模式:后台安全分类器在执行前审查每个操作(研究预览版)
- 后台任务:在不阻塞对话的情况下运行长时间操作
- 权限模式:控制 Claude 的可执行范围(
default、acceptEdits、plan、auto、dontAsk、bypassPermissions) - 打印模式:以非交互方式运行 Claude Code,用于自动化和 CI/CD(
claude -p) - 会话管理:管理多个工作会话
- 交互功能:键盘快捷键、多行输入和命令历史
- 语音听写:支持 20 种语言语音识别的按键通话语音输入
- 频道:MCP 服务器将消息推送到正在运行的会话中(研究预览版)
- 远程控制:从 Claude.ai 或 Claude 应用程序控制 Claude Code
- Web 会话:在 claude.ai/code 的浏览器中运行 Claude Code
- 桌面应用:用于可视化差异审查和多会话的独立应用
- 任务列表:跨上下文压缩的持久任务跟踪
- 提示建议:基于上下文的智能命令建议
- Git 工作树:用于并行工作的隔离工作树分支
- 沙盒:操作系统级文件系统和网络隔离
- 托管设置:通过 plist、注册表或托管文件进行企业版部署
- 配置:使用 JSON 配置文件自定义行为
计划模式
计划模式允许 Claude 在实施复杂任务之前进行思考,创建可供审查和批准的详细计划。
什么是计划模式?
计划模式是一种两阶段方法:
- 规划阶段:Claude 分析任务并创建详细的实现计划
- 执行阶段:获批准后,Claude 执行计划
何时使用计划模式
✅ 适合使用计划模式的场景:
- 复杂的多文件重构
- 新功能实现
- 架构变更
- 数据库迁移
- 重大 API 重新设计
❌ 不适合使用计划模式的场景:
- 简单的错误修复
- 格式更改
- 单文件编辑
- 快速查询
激活计划模式
Slash 命令:
bash
/plan Implement user authentication systemCLI 标志:
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" 可激活深度推理模式。努力级别
low、medium、high和max(仅 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"
}
}分类器的工作方式
后台分类器按以下决策顺序评估每个操作:
- 允许/拒绝规则 -- 首先检查显式权限规则
- 只读/编辑自动批准 -- 文件读取和编辑自动通过
- 分类器 -- 后台分类器审查操作
- 回退 -- 连续 3 次或共 20 次阻止后回退到提示用户
默认阻止的操作
自动模式默认阻止以下操作:
| 阻止的操作 | 示例 |
|---|---|
| 管道到 shell 的安装 | curl | bash |
| 向外部发送敏感数据 | API 密钥、凭据通过网络传输 |
| 生产部署 | 以生产环境为目标的部署命令 |
| 批量删除 | 对大目录执行 rm -rf |
| IAM 更改 | 权限和角色修改 |
| 强制推送到 main | git push --force origin main |
默认允许的操作
| 允许的操作 | 示例 |
|---|---|
| 本地文件操作 | 读取、写入、编辑项目文件 |
| 声明的依赖安装 | 从清单文件执行 npm install、pip install |
| 只读 HTTP | curl 获取文档 |
| 推送到当前分支 | 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:*) |
| 常用 shell | Bash(ls:*), Bash(cat:*), Bash(find:*), Bash(cp:*), Bash(mv:*) |
| GitHub CLI | Bash(gh pr view:*), Bash(gh pr create:*), Bash(gh issue list:*) |
危险操作(rm -rf、sudo、强制推送、DROP TABLE、terraform 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 上下文:
| 上下文 | 键操作 |
|---|---|
| Chat | submit、cancel、cycleMode、modelPicker、thinkingToggle、undo、externalEditor、stash、imagePaste |
| Confirmation | yes、no、previous、next、nextField、cycleMode、toggleExplanation |
| Global | interrupt、exit、toggleTodos、toggleTranscript |
| Autocomplete | accept、dismiss、next、previous |
| HistorySearch | search、previous、next |
| Settings | 特定于上下文的设置导航 |
| Tabs | 标签切换和管理 |
| Help | 帮助面板导航 |
共有 18 个上下文,包括 Transcript、Task、ThemePicker、Attachments、Footer、MessageSelector、DiffDialog、ModelPicker 和 Select。
和弦支持
键绑定支持和弦序列(多键组合):
"ctrl+k ctrl+s" → 两键序列:先按 ctrl+k,再按 ctrl+s
"ctrl+shift+p" → 同时按下修饰键按键语法:
- 修饰键:
ctrl、alt(或opt)、shift、meta(或cmd) - 大写字母表示 Shift:
K等同于shift+k - 特殊键:
escape、enter、return、tab、space、backspace、delete、方向键
保留键和冲突键
| 键 | 状态 | 备注 |
|---|---|---|
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 托管设置控制整个组织中允许哪些频道插件。
工作原理
- MCP 服务器充当连接外部服务的频道插件
- 传入的消息被推送到活动的 Claude Code 会话中
- Claude 可以在会话上下文中读取和回复消息
- 频道插件必须通过
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 | 禁用沙盒(默认) |
连接到会话
从其他设备连接的三种方式:
- 会话 URL — 会话启动时打印到终端;在任何浏览器中打开
- 二维码 — 启动后按
spacebar显示可扫描的二维码 - 按名称查找 — 在 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
}连接器
连接外部服务以获取更丰富的上下文:
| 连接器 | 功能 |
|---|---|
| GitHub | PR 监控、问题跟踪、代码审查 |
| 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=falseGit 工作树
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 命令:
/sandboxCLI 标志:
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+ |
| Windows | Windows 注册表 | 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>配置与设置
配置文件位置
- 全局配置:
~/.claude/config.json - 项目配置:
./.claude/config.json - 用户配置:
~/.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 及相关功能的更多信息: