3.7 Claude Code 常见问题与排查(FAQ)

3.7.1 安装类问题

Q1:安装时报 ENOENT: no such file or directory

根因:npm 本地缓存文件损坏

修复方案:执行 npm cache clean --force 清理缓存,重新执行安装命令

Q2:安装成功,但终端输入 claude 提示命令不存在

根因:npm 全局安装目录未写入系统 PATH 环境变量

修复方案:运行 npm config get prefix 获取全局路径,将输出路径添加至系统 PATH

Q3:Windows 终端提示「无法加载文件,因为在此系统上禁止运行脚本」

根因:PowerShell 默认执行安全策略拦截脚本

修复方案:右键以管理员身份打开 PowerShell,执行 Set-ExecutionPolicy RemoteSigned

3.7.2 连接 / API 类问题

Q4:启动提示 Invalid API Key

根因:API Key 填写错误、密钥过期、环境变量未生效

修复方案:

核对环境变量 ANTHROPIC_API_KEY 是否正确配置;

Mac/Linux 验证命令:echo $ANTHROPIC_API_KEY;

Windows PowerShell 验证命令:echo $env:ANTHROPIC_API_KEY。

Q5:配置中转代理后出现连接超时

根因:中转服务地址填写错误、代理服务离线 / 不可访问

排查方向:核对代理地址、端口、鉴权配置,测试中转服务连通性

解决:

核对环境变量 ANTHROPIC_BASE_URL 配置是否正确

浏览器访问中转地址,确认服务正常运行

使用 curl 命令直接测试 API 连通性

Q6:提示 Rate limit exceeded

原因:短时间请求量超出密钥限流配额

解决:等待 1 分钟后重试;若频繁触发,升级 API 付费套餐

3.7.3 使用类问题

Q7:AI 修改了不该改动的文件

原因:需求描述模糊,AI 自行扩大修改范围

解决:

执行 git checkout . 撤销全部变更

重新下发需求,明确限定仅修改指定文件

在 CLAUDE.md 中写入文件禁区规则,永久拦截

Q8:AI 陷入「改 A 破坏 B、改 B 破坏 A」循环

原因:单次上下文缺少全局视角,修复一处缺陷引入新 bug

解决:

git checkout . 回退至稳定代码版本

执行 /clear 清空历史对话

一次性完整描述需求与全部约束,让 AI 全局统筹修改

Q9:对话过长 AI 遗忘早期需求

原因:上下文 token 窗口接近满载,早期内容被截断

解决:执行 /compact 压缩对话历史,或新建干净会话

Q10:AI 编造不存在的 npm 包、API 接口

原因:模型幻觉,生成未真实存在的代码依赖

解决:使用 AI 给出的包 / 接口前,前往 npmjs.com 检索核验是否真实存在

3.7.4 费用类问题

Q11:费用消耗过快

原因:当前使用高价 Opus 模型,或是对话上下文过长、token 持续累积

解决方案:

执行 /cost 指令查看当前会话费用明细

切换成本更低的模型降低单价

精简对话,减少无效轮次,定期用 /compact 压缩上下文

登录 Anthropic Console 后台设置月度预算上限,防止超额扣费

Q12:中转服务计费规则说明

计费逻辑:按实际消耗 Token 数量计费

终端单价 = Anthropic 官方基础单价 × 中转服务倍率

倍率区间:市面中转倍率普遍在 1.0x ~ 1.5x

提示:各中转服务商定价存在差异,以对应平台价格页面为准。

3.8 自定义斜杠命令(Custom Slash Commands)

一、功能说明

可自定义斜杠快捷指令,把高频标准化操作封装成一键执行脚本,简化重复操作。

二、创建目录与文件

在项目根目录新建文件夹:.claude/commands/

在该目录新建 Markdown 文件,文件名即为斜杠指令名

示例文件路径:.claude/commands/date.md

自定义的触发命令,放在cmmands文件夹下,仅对当前项目起效。如果想要全局,需要放在根目录下。

项目

commands/xxx.md(你的 date.md)

skills/xxx/(标准 Skill)

存放位置

.claude/commands/ 单 md 文件

.claude/skills/ 独立文件夹

触发方式

手动输入 /date 主动调用

两种触发:①手动 /xxx;②自然对话匹配自动激活,不用打斜杠

结构

仅 1 个 md,文件名就是命令名

文件夹 + SKILL.md,可附带脚本、模板、配置文件

用途

高频简短提示词快捷入口(查日期、生成注释、提交文案)

完整复杂工作流、领域能力(代码审计、需求拆解、规范校验)

归属关系

新版文档说明:Commands 已被整合进 Skills 大体系,是轻量版 Skill

完整模块化 Skill,权限 / 工具配置更丰富

3.9 Claude Code 使用模式:Plan Mode 与三种权限模式

前置说明

新手常见疑问:使用 Claude Code 应当先整体规划再执行,还是分模块逐步修改?

官方方案:内置 Plan Mode(规划模式),属于原生只读运行模式,并非提示词技巧,支持快捷键 / 斜杠命令随时切换,模式下 AI 仅能分析,无法修改代码。

3.9.1 三种官方互斥运行模式

模式

核心行为

适用场景

状态栏标识

Normal(默认模式)

每一次文件修改、命令执行均需手动确认

日常小需求、需要逐行审查变更

无特殊标记

Auto-Accept(自动接受)

跳过弹窗确认,直接执行放行列表内操作

已完整规划的批量任务、可信标准化操作

accept edits on

Plan Mode(规划模式)

仅只读检索,仅可分析代码、提问、输出改造方案,禁止任何修改写入

复杂重构、陌生代码库、架构方案评审

plan mode on

3.9.2 Plan Mode 能力边界

该模式仅能调用全部只读工具,禁用文件编辑、写入、高危 bash 修改类命令,仅用于前置方案勘探,无破坏性操作风险。

工具名

功能说明

Read

读取查看文件完整内容

Glob

通过通配符模式批量检索匹配文件

Grep

正则匹配检索文件内文本内容

LS

列出目录下文件与文件夹结构

WebSearch / WebFetch

联网检索、拉取网页参考资料

Task

启动只读子代理,执行大范围调研任务

AskUserQuestion

向用户提问、给出选项澄清需求边界

写入 / 修改文件、执行 Shell 命令、运行单元 / 集成测试、文件删除、代码提交推送等。

保障在你确认改造方案前,AI 不会改动项目任意代码,零误操作风险。

3.9.3 四种进入 Plan Mode 的方式

1.快捷键:Shift+Tab 连按两次(Windows 部分终端替代:Alt+M)

2.斜杠命令:/plan(Claude Code v2.1.0+)

3.启动参数:claude --permission-mode plan

4.全局永久配置:.claude/settings.json 设置 permissions.defaultMode = "plan"

方式一:键盘快捷键(最常用,临时切换)

连续敲击 Shift + Tab 循环切换三种模式:

第一次 Shift+Tab → Auto-Accept 自动模式,状态栏显示 accept edits on

第二次 Shift+Tab → Plan Mode 规划模式,状态栏显示 plan mode on

第三次 Shift+Tab → 切回 Normal 默认模式

Windows 终端兼容提示

部分 PowerShell 终端配置下,Shift+Tab 只能在 Normal / Auto-Accept 切换,无法进入 Plan Mode,改用快捷键 Alt + M 直接切入规划模式,该问题为官方已知兼容问题。

方式二:会话内斜杠命令(中途临时切换)

版本要求:Claude Code v2.1.0 及以上

在对话输入框执行:

> /plan

会话立刻切换至 Plan Mode,适合聊天到中途,临时需要整体梳理代码、做方案规划的场景。

方式三:启动命令直接进入 Plan Mode

适用于提前确定本次是复杂调研、重构任务,启动会话时直接切入只读规划模式,分两种使用场景:

1. 交互式终端会话

claude --permission-mode plan

2. 无头模式(CI 流水线、自动化脚本调用)

claude --permission-mode plan -p "分析认证模块并提出优化建议"

方式四:配置为项目永久默认模式

若该项目长期需要「先规划、再修改」流程,修改项目根目录 .claude/settings.json,设置全局默认权限模式:

{

  "permissions": {

    "defaultMode": "plan"

  }

}

配置生效规则:在该项目目录下任意执行 claude 启动会话,会自动进入 Plan Mode,无需每次手动切换

3.9.4 推荐完整标准工作流(复杂重构 / 新功能开发)

完整执行步骤

启动进入规划模式

claude --permission-mode plan

阶段 1:Explore 代码勘探

指令示例:读一下 src/auth 目录,梳理现有完整认证逻辑

作用:AI 仅只读检索,摸清目录结构、业务逻辑、现有边界。

阶段 2:Plan 方案输出

指令示例:输出完整改造计划,列明需修改文件、执行顺序、全部边界异常场景

作用:AI 输出完整变更方案,你人工审核、反复沟通打磨至方案满意。

切换执行模式

快捷键 Shift+Tab 切换至 Auto-Accept 自动放行模式,退出 Plan Mode。

阶段 3:Implement 落地实现

指令示例:按照上面确认好的完整改造计划执行代码修改

阶段 4:Commit 规范提交

指令示例:生成标准化commit描述并完成提交

实践建议

复杂业务重构、陌生代码库开发,务必从 Plan Mode...

3.9.5 何时启用 Plan Mode、何时不用

核心判断准则

一句话判定:能用一句话描述完整变更 diff 就不用规划;需求模糊、改动范围不可控,优先开 Plan Mode

兜底原则:分不清场景时,使用 Plan Mode 更安全,无代码误改风险。

任务类型

推荐模式

选用原因

新项目从零搭建

Plan Mode 优先

需要整体架构全盘考量

新增复杂功能(认证、订阅、软删除等)

Plan Mode 优先

改动牵连文件多,回滚成本极高

修复单一、定位明确的 Bug

Normal 默认模式

修改范围清晰,目标确定

简单修改:函数重命名、变量调整

Normal 默认模式

变更 diff 一句话即可说清

大型跨文件重构、模块迁移

Plan Mode 优先

必须提前评估全量影响范围

已有成熟方案,批量生成相似代码

Auto-Accept 自动模式

方案已确认,执行阶段避免频繁弹窗打断

阅读、梳理陌生新项目代码库

Plan Mode

纯只读调研场景,禁止任何写入操作

总结使用逻辑

简单小需求直接 Normal 快速处理;

复杂、大范围、未知代码库任务,先 Plan Mode 勘探出完整方案,审核通过再切 Auto-Accept 执行落地。

3.9.6 混合模型策略:Opus Plan + Sonnet Implement

一、参数别名 --model opusplan 机制

执行命令:

claude --model opusplan

该参数会自动分阶段切换模型,实现分层算力成本优化:

1.规划阶段(Plan):使用 Opus 模型

优势:推理、架构分析、复杂逻辑推演能力更强;短板:单价更高、消耗 token 费用贵。

2.落地实现阶段(Implement):自动切换 Sonnet 模型

优势:代码生成速度快、单位 token 计费更低,适合批量文件修改、代码填充等重复性编码工作。

二、策略定位

核心思路:高价强推理模型做方案思考,低价高效模型执行编码落地。

专为大型重构、复杂新功能开发等高成本任务设计,在保证方案严谨完整的前提下,大幅降低整体 token 消耗费用。

3.9.7 快捷决策树

3.10 案例实操:Web 记账工具(finance-cli)—— 热身练习

正式项目前,补充VS code安装,集成CLAUDE CODE,使用VS Code进行项目开发。

下载地址:https://code.visualstudio.com/

下载后进行安装即可,

切换成简体中文,下载后右下角重启即可

安装Claude code

可能会有一个登入页面,让你登入官方的网站,但是我们已经全局配置了,因此过一会加载完之后自动就会消失。

提问什么模型,可以正常回答,说明之前配置是生效的

3.10.1 项目简介

项目说明

本项目为使用 Claude Code 从零搭建的 Python Web 小型项目。在学习复杂商城项目前,可通过本案例熟悉完整开发流程与 /plan 规划模式使用方法。

核心业务功能

搭建带网页可视化界面的记账工具,浏览器端完成收支记录、数据统计,功能清单:

添加账目:表单录入金额、收支分类、日期、备注信息

记录列表查询:支持按月份、收支分类筛选,表格展示全部流水

分类数据统计:柱状可视化图表 + 汇总统计表

单条记录删除:输入记录 ID 即可完成删除

技术栈

Python + Streamlit(纯 Python Web 可视化框架)+ sqlite3(Python 内置零配置轻量数据库)

选型优势:Streamlit 仅依靠 Python 代码即可生成完整网页,无需学习 HTML/CSS/JavaScript。

完整项目目录结构

项目总文件仅 4 个,代码总量不足 350 行

finance-cli/

├─ pyproject.toml          # 项目配置、依赖包声明文件

└─ finance/                # Python业务包目录

   ├─ __init__.py          # 空文件,标识文件夹为Python包

   ├─ models.py            # 数据实体类定义(dataclass)

   ├─ database.py          # SQLite库:建表、增删改查、统计查询逻辑

   └─ web.py               # Streamlit 网页入口主程序

3.10.2 详细步骤-0基础也可完成

第0步:创建文件及文件夹

先创建3个文件夹/文件,

1.finance_cli

2.finance_cli/.claude

3.复制之前的setting.local.json文件

第1步:用/plan做架构设计

使用VS code打开对应项目文件夹,切换成/plan模式,

切换高级模型,高级模型做规划,低级模型写代码

输入以下提示词

我要做一个 Python web 记账工具,功能包括:

- 添加账目(金额、分类、日期、备注)——在网页表单里填写

- 查看列表(按月份和分类筛选)——表格展示

- 删除账目——输入 ID 删除

- 分类统计--柱状图 + 统计表

技术栈用 Python + streamlit + sqlite3。

预设 6 个分类:餐饮、交通、购物、娱乐、居住、其他。

我是编程新手,请先出方案再动手。

会给一些方案,可以选择适当的方案,或者不满意,也可以直接和它对话,提示词(所有的代码都在一个app.py中,不利于后续的管理和查看,请对代码进行模块化的拆分划分成不同的文件。)

第2步:生产Claude.md文档

根据计划生成一个claude.md文档,提示词:(计划可以,根据计划生产一个claude.md文档 当做项目初始化操作)

计划模式是没有写操作的,因此会让你确认使用其他模式,

第3步:选择模式并直接完成软件开发

选择后,也可以在这里再切换模式

项目比较小,点击确认后直接就做完了。就没有切换模型

第4步:验证开发的软件

访问地址,并测试功能。(如果打不开,可能是因为项目启动后又自动关闭,可以在终端自己再启动下)

新版本的deepseek支持多模态,可以将图片直接复制,并告诉它你需要修改的地方

优化后的页面

第5步:生成.gitignore文件

第6步:提交到本地git上

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐