概述
关于AI IDE/插件,请参考:
- Vibe Coding、AI IDE/插件
- Claude Code生态
- AI IDE/插件(二)
- AI IDE/插件(三)
GitHub,36.3K Star,2.3K Fork,Anthropic推出的智能编程助手(代理式编程工具),简称CC,可直接集成到终端环境中,并通过自然语言命令实现更快编程。
技术底层,CC采用推理-验证-优化三级架构:
- 逻辑推理层:通过递归链分解复杂需求;
- 安全验证层:调用CodeQL引擎进行漏洞扫描,自动生成SAST报告;
- 代码优化层:结合OpenTelemetry标准注入监控埋点,提升系统可观测性。
特点:
- 直接集成终端:无需额外服务器或复杂配置
- 理解整个代码库:能够分析项目结构和代码逻辑
- 自然语言交互:用普通话描述需求,Claude帮你实现
- 安全隐私设计:直连Anthropic API,无中间服务器
- 实际操作能力:真正执行文件编辑、Git操作等任务
CC提供多种认证选项:CC
- Anthropic Console:通过OAuth登录控制台
- Claude Pro/Max订阅:使用Chat端
- 企业平台:配置Amazon Bedrock或Google Vertex AI
这里有两个概念:控制台,Chat端,下面会再次出现。
| 命令 | 功能 | 示例 |
|---|---|---|
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 |
/clear | 清除对话历史 | > /clear |
/help | 显示帮助 | > /help |
exit或Ctrl+C | 退出 | > exit |
安装
npminstall-g@anthropic-ai/claude-code claude安装成功后,如果出现command not found:
解决方法:
将D:\Program Files\nodejs\node_global加入PATH环境变量。
又出现新问题:
或打开https://claude.ai,出现如下提示:
解决方法:切换地区
出现如下界面,则表示离成功只差一步。
注意,在切换区域时,可能遇到的一个问题是Chat端能正常访问并发起Query,但打开控制台(因为要获取API Key)失败。
分析:claude.ai和console.anthropic.com有不同的访问策略:
- chat:聊天界面,地区限制相对宽松
- console:API控制台,地区限制更严格
解决方法:尝试不同的代理节点!比如新加坡。
通过Google授权登录claude.ai/chat成功,并没有自动登录console.anthropic.com一说,毕竟两个域名不同源,还是要再次通过Google发起OAuth登录请求。
又遇到新问题:
添加环境变量CLAUDE_CODE_GIT_BASH_PATH=D:\Program Files\Git\bin解决问题。
出现付费界面,5美元。
放弃一段时间后,继续回来折腾。
Claude Code是框架,Claude模型是引擎。现在CC已经安装成功,Claude系列模型无法使用(其实更主要是太贵),那能不能使用国内的性价比更高的模型呢?
当然能。还是Windows平台,以DeepSeek为例,配置系统环境变量:
ANTHROPIC_AUTH_TOKEN=sk-xxx ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic重启或新开终端,测试命令:claude --debug-file C:\temp\claude-debug.log --model sonnet "回复:测试"
测试效果:
再打开DeepSeek开发者平台,看到API使用量是今天
测试成功。
使用
claude update:更新到最新版本claude -c:继续最近会话claude -r:进入会话历史claude "查询":启动带有初始提示的REPLclaude -p "查询":以非交互模式运行一次性查询后退出claude -r [id]:恢复指定会话或从列表中选择--add-dir:添加额外的工作目录供Claude访问--allowedTools:允许无需提示即可使用的工具列表--disallowedTools:禁止使用的工具列表--model:为当前会话设置特定模型--output-format:指定非交互模式的输出格式(json/text)--dangerously-skip-permissions:跳过所有权限提示,谨慎使用!!
# 设置opus 4.1为默认模型claude configsetmodel claude-opus-4-1-20250805# 查看所有设置claude config list# 更改设置值claude configset<键><值># 全局启用深色主题claude configset-gtheme dark# 添加到数组设置claude configadd<键><值># 创建带分支的新工作树gitworktreeadd../app-feature-bfeature main# 列出所有工作树gitworktree list# 删除工作树gitworktree remove<路径># 权限绿通模式(跳过权限检查)claude --dangerously-skip-permissions示例
# 分析项目summarize this project# 提交commit the generated CLAUDE.mdfile# 解释文件结构explain the folder structure# 修复Bugthere is a NPEinline77, fix it# 重构代码refactor the authentication module to use async/await instead of callbacks# 解决冲突helpme resolve merge conflicts# 编写测试writeunit testsforthe calculator functions# 性能优化analyze the performance of this code and suggest optimizations# 代码审查review my changes and suggest improvements# 添加注释addJSDoc comments to the undocumented functionsinauth.js# 触发深度思考I need to implement OAuth2 authentication. Think deeply about the best approach.# 加强思考深度think harder about edge cases we should handle# 思考安全问题think about potential security vulnerabilitiesinthis approach# 创建优化命令echo"Analyze the performance of this code and suggest three specific optimizations:">.claude/commands/optimize.md# 使用自定义命令/project:optimize# 使用Git worktrees运行多个CC实例# 创建新工作树gitworktreeadd../project-feature-a-bfeature-a# 在新工作树中运行 Claudecd../project-feature-a# 管道操作catbuild-error.txt|claude-p'explain the root cause of this error'# 添加到构建脚本npmrun"lint:claude":"claude -p 'look at changes vs main and report issues'"# 结构化输出claude-p'analyze this code'--output-format json>analysis.json# ~/.claude/settings.json全局设置{"permissions":{"allow":["Bash(npm run lint)","Bash(npm run test:*)"],"deny":["Bash(curl:*)"]}}命令
和OpenAI Codex类似,支持如下Slash命令:
/init:生成cloud.md,后续对话都会带上,AI对项目理解更全面/compact:压缩对话上下文,丢掉不重要的历史内容,省Token、更专注/clear:清空对话,开启新任务前用,避免上下文干扰/think,/thinkhard,/thinkharder,/ultrathink:控制Claude思考深度/help:查看所有命令/status:检查当前状态/reload:重新加载配置或记忆文件/config:查看或修改配置(如主题、模型)/review:请求对PR、文件或代码块进行审查/model:切换当前会话的AI模型/bug:报告错误,会将对话发送给Anthropic/cost:显示当前会话的Token使用量和预估成本/memory:编辑CLAUDE.md内存文件/permissions:查看或更新权限规则/doctor:检查CC安装的健康状况/resume:恢复历史会话/vim:Vim模式/agents:管理子代理/mcp:MCP服务器/output-format:指定输出风格
快捷键
| 快捷键 | 功能说明 |
|---|---|
! | Bash模式前缀,切换到命令行模式,如!npm run dev,结果也会写入上下文 |
# | 记忆模式,可写入项目级或用户级的长期记忆 |
@ | 提及文件/文件夹 |
\ | 换行(反斜杠 + 回车) |
Esc | 中断Claude |
Ctrl+R | 完整输出/上下文 |
Ctrl+V | 粘贴图片 |
Esc+Esc | 历史导航 |
Shift+Tab | 自动接受,yolo模式 |
Shift+Tab+Tab | 计划模式 |
Ctrl+Esc | 在IDE中快速启动 |
Ctrl+Alt+K | 插入文件引用 |
MCP
claude mcpaddplaywright npx @playwright/mcplatest claude mcpadd--transporthttp context7 https://mcp.context7.com/mcp钩子
支持的钩子事件
- PreToolUse:工具使用前
- PostToolUse:工具使用后
- UserMessageIt:用户消息时
- Stop:停止时
- SessionStart:会话开始
- SessionEnd:会话结束
上下文管理
三类典型上下文场景:标准对话模式、扩展思考模式、扩展思考+工具调用模式
标准上下文窗口
多轮会话,线性累积
在最基本的对话场景中,模型的上下文窗口以线性方式增长。每轮用户输入与模型输出都会完整地加入到上下文中,并在后续被再次读取,用于生成新的响应。
特点:
- 上下文窗口是一个固定容量的滑动窗口(如 200K token)
- 内容以“先进先出”方式更新,超出容量的最早内容将被截断
- 每一轮输入输出都会被完整记录,使对话保持连贯性。
适用场景:标准多轮对话助手、问答任务等。
限制点:在长对话或内容密集型任务中容易触及 token 上限,导致上下文截断,影响模型表现。
启用扩展思考
推理能力增强,Token使用量提升
在某些高级模型架构中,引入扩展思考(Extended Thinking)机制,允许模型在生成最终输出前先进行一次内部推理或规划(即思考块)。
技术上,该机制在每轮对话的输出阶段,会额外生成一段思考文本块(Thinking Block),用于模型内部结构化思考。在Claude的设计中这段内容虽然计入输出 Token,但不会在后续对话中继续保留在上下文中。
关键特性:
- 思考块仅计费一次,在下一轮中自动从上下文中剔除,释放上下文空间;
- 提高模型复杂推理时的Token利用率;
- 上下文计算公式被优化为:
context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens
适用场景:涉及复杂逻辑链、规划、多轮分析任务等。
技术注意:使用该机制时,无需手动管理思考块的移除,一般模型API自动处理。
扩展思考+工具调用
多阶段推理与信息获取协同
第三种更复杂的场景结合扩展思考与外部工具调用。常用于模型需要借助外部工具调用获取信息后,再进行推理生成的任务中。
处理流程如下:
- 第一轮:用户输入→模型生成扩展思考+工具调用请求;
- 第二轮:将上一轮工具结果和原始思考块一并带入,模型基于工具结果输出最终响应;
- 第三轮起:清除前一次的思考块,继续下一个对话或任务回合。
上下文处理规则:
- 工具调用阶段必须保留对应的思考块,以保持推理一致性;
- API使用签名机制验证思考块的完整性;若修改,将导致响应错误;
- 思考块完成任务后即可自动剔除,恢复常规上下文结构。
适用场景:外部知识调用、代码执行等工具调用的LLM应用。
实际价值:该机制实现深度推理与外部操作的无缝协作,同时保持上下文高效利用。
总结
上下文窗口不仅仅是模型可见的输入历史,更是一种资源调度机制,决定模型能处理的内容广度和深度。理解并善用它,是构建高质量LLM应用的关键。
| 场景 | 特点 | 优势 | 适用场景 |
|---|---|---|---|
| 标准对话 | 线性累积,先进先出 | 简单直观,连贯性强 | 普通多轮对话 |
| 扩展思考 | 思考块临时存在 | 推理深度高,但Token量增大 | 深度分析 |
| 扩展思考+工具 | 跨步骤协作,调用工具 | 工具调用与推理协同,但token使用量增大 | 业务Agent |
最佳实践
- 配置文件:为不同项目设置专门的配置文件
- 模型切换:根据任务复杂度选择合适的模型,平衡性能和成本
- MCP:合理使用MCP服务器扩展功能
- 文件引用:使用
@符号可以快速引用项目中的文件 - 健康状态:定期使用
/doctor检查系统健康状态 - 批量操作:结合Bash模式
!可执行系统命令 - 利用钩子功能实现工作流自动化
进阶
原理
CC的设计基于对LLM擅长什么和不擅长什么的深刻理解,提示词和工具弥补模型的不足,并帮助其在核心优势区大放异彩。
问题
之前安装成功,突然没了??
解决方法:重新安装。
没有任何输出
解决方法:
启动报错:
拓展
参考Claude Code生态
推荐阅读
- decoding-claude-code