多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Claude Code 日常操作速查表:权限模式、配置文件与会话管理一页通

Claude Code 日常操作速查表:权限模式、配置文件与会话管理一页通 1. Claude Code 权限模式怎么切从默认询问到自动编辑的完整对照Claude Code 是 Anthropic 推出的终端 AI 编程助手能直接读写项目文件、执行 shell 命令、跑测试。它和普通聊天式 AI 最大的区别在于「有手」——能真的改你的代码。也正因为如此权限模式成了日常使用里第一个必须搞懂的东西放太松怕它乱删文件放太紧又每次都要点确认效率全耗在审批上。适合谁看刚把 Claude Code 装好、准备在真实项目里跑起来的开发者。这篇速查表围绕三条主线展开——权限模式、配置文件、会话管理每条都给命令、给配置片段、给验证方法你可以边看边在终端里敲。先说权限模式的四种状态。Claude Code 默认是「询问模式」每次要写文件或执行命令都会停下来问你。启动时可以用参数直接指定模式# 默认每次编辑和命令都询问 claude # 自动批准文件编辑shell 命令仍需确认 claude --permission-mode acceptEdits # 启用智能分类器自动审批低风险操作 claude --enable-auto-mode # 跳过所有权限检查高风险仅限隔离环境 claude --dangerously-skip-permissionsacceptEdits是我日常最常用的档位。它把「改文件」这类高频低危操作放行但保留 shell 命令的确认——因为rm -rf、git push --force这种真正危险的动作都藏在命令里。--enable-auto-mode更进一步用一个分类器判断操作风险低风险的自动过高风险的还是拦下来。至于--dangerously-skip-permissions名字里的 dangerously 不是吓唬人它意味着 AI 可以在你完全不知情的情况下执行任何命令只建议在一次性容器或临时目录里用。会话进行中想切换模式不用退出重开。按ShiftTab会在几种模式间循环切换终端底部会显示当前处于哪个档位。这个快捷键值得记牢因为很多时候你是写着写着才发现「这个任务其实可以放开一点」。验证权限模式是否生效最简单的办法是让它做一次文件编辑观察是否弹出确认。如果设了acceptEdits却还在问多半是配置文件里的defaultMode覆盖了启动参数或者你根本没在项目根目录启动。下一节讲配置文件时会把优先级说清楚。一个容易踩的坑--permission-mode的值是大小写敏感的acceptedits这种写法不会报错但也不生效会静默回落到默认模式。建议直接从文档复制别手敲。2. 配置文件定位与优先级settings.json 到底该放哪Claude Code 的配置散落在几个位置新手最容易懵的就是「我改了配置怎么没反应」。核心规则是项目级配置覆盖全局配置启动参数覆盖两者。理解这个层级后面所有配置问题都能自己排查。全局配置在用户目录下~/.claude/settings.json项目配置在项目根目录项目根目录/.claude/settings.json项目级配置适合放和这个仓库强相关的东西比如默认权限模式、MCP 服务器、状态栏命令。全局配置放你所有项目都想生效的偏好。团队协作时项目配置可以提交到 git让所有人共享同一套行为个人习惯则留在全局配置里。一个典型的项目settings.json长这样{ permissions: { defaultMode: acceptEdits }, statusLine: { type: command, command: npx -y cc-context-check } }permissions.defaultMode就是设默认权限模式的地方值可以是default、acceptEdits、plan等。设成acceptEdits后每次在这个项目里启动 Claude Code 都自动进入自动编辑模式不用再敲启动参数。statusLine这块很实用。配了之后终端底部会实时显示上下文占用比例你能一眼看到还剩多少空间。cc-context-check是个社区小工具通过 npx 拉取不需要提前安装。改完配置怎么验证生效两个办法。一是启动后输入/status它会打印当前生效的配置和模型信息。二是直接观察行为——如果设了acceptEdits编辑文件时不再弹确认就说明配置吃进去了。排查配置不生效的顺序先确认文件路径对不对.claude是隐藏目录ls默认看不到用ls -a再确认 JSON 语法没写错多一个逗号就会整个文件失效Claude Code 不会报错只会忽略最后确认没有启动参数把它覆盖掉。我试过在项目配置里设了acceptEdits结果启动时手滑带了--permission-mode default排查了半天才发现是参数优先级更高。还有一点配置文件是启动时读取的改完要重启 Claude Code 或新建会话才生效热改不会即时应用。3. 会话管理速查恢复、命名、回溯与清理会话管理是 Claude Code 里最容易被低估的一块。很多人不知道会话可以恢复、可以命名、可以回溯结果每次都从零开始上下文白白浪费。启动和恢复相关的命令# 普通启动开新会话 claude # 恢复最近一次会话 claude -c claude --continue # 列出历史会话并选择恢复 claude --resume # 恢复指定会话 claude --resume 会话名或ID # 启动时给会话命名 claude -n feature-loginclaude -c是第二天继续昨天工作的标准动作。它会接着最近一次会话的上下文往下走之前聊过的需求、改过的文件都还在记忆里。claude --resume不带参数时会列出所有历史会话显示 ID 和名称你挑一个恢复。给会话命名-n是个好习惯尤其是同时推进多个任务时feature-login、fix-payment-bug这种名字比一串 UUID 好认太多。会话进行中的操作/rename 新名称 重命名当前会话 /clear 清空当前上下文不删会话文件 /rewind 回溯到历史节点 /compact 手动压缩上下文 /context 查看上下文占用详情 /usage 查看 Token 用量与成本/rewind和双击Esc是同一个功能用来回退到之前的某个节点。当你发现 AI 走偏了不用重开会话直接回溯到出错之前重新引导。/clear则是彻底清空当前上下文但保留会话文件适合一个会话里切换到完全不相关的新任务。会话文件存在哪这是手动清理时要知道的Windows: %USERPROFILE%\.claude\projects macOS/Linux: ~/.claude/projects/每个会话是一个.jsonl文件文件名就是会话 ID。想删某个会话直接删对应文件# Linux/macOS rm ~/.claude/projects/会话ID.jsonl # Windows del %USERPROFILE%\.claude\projects\会话ID.jsonl上下文窗口是 100 万 Token自动压缩阈值在 80%。也就是说用到 80 万 Token 左右时Claude Code 会自动压缩历史来腾空间。但自动压缩会丢细节重要节点建议手动/compact并配合/context观察各模块占比心里有数。4. 模型切换、Skills 与 MCP 配置扩展能力的三个入口Claude Code 的能力不止于内置功能模型切换、Skills、MCP 是三个主要扩展点。模型切换很简单会话里输入/model会弹出可选模型列表按提示选。/status查看当前模型和运行状态。不同模型在速度和推理深度上有差异日常改 bug 用快的架构设计用强的按任务切换。Skills 是给 Claude Code 装「专项技能」的机制。存放路径全局: ~/.claude/skills/ 项目: 项目根目录/.claude/skills/每个技能是一个文件夹里面放一个SKILL.md格式是 frontmatter 加 Markdown 正文--- name: 技能名称 description: 技能描述 --- 具体的指令内容Markdown 格式name和description让 Claude Code 知道这个技能是干什么的、什么时候该调用。正文就是具体的指令模板。查看已安装技能用/skills。如果你用 CC Switch 桌面端可以在 Skills 标签页粘贴 GitHub 地址一键安装省去手动建文件夹的麻烦。MCPModel Context Protocol服务器让 Claude Code 能连接外部工具和数据源。配置文件位置全局: ~/.claude/mcp.json 项目: 项目根目录/.claude/mcp.json配置示例{ mcpServers: { 服务器名称: { command: npx, args: [-y, 包名], env: { 环境变量: 值 } } } }command是启动命令args是参数env传环境变量比如 API Key。改完 MCP 配置必须重启 Claude Code 或新建会话才生效热改不认。查看 MCP 连接状态用/mcp。这里要提醒一句MCP 服务器如果连的是生产数据库或线上服务务必在配置里限制权限别让 AI 直接对生产环境做写操作。开发阶段连本地或测试环境就够了。如果你在找一个稳定的模型接入点来配合 Claude Code 使用TaoToken 提供了统一的 API 入口Base URL 是https://taotoken.net/api模型对话、Coding Plan、API Keys 管理都有对应页面。配置时把 Base URL、Key、Model ID 三件套填齐即可。5. 常见报错排查401、local proxy failed 与 OAuth 问题这一节按真实报错来对遇到问题直接搜关键词。401 Unauthorized最常见的原因是 API Key 没配、配错或过期。检查顺序先确认环境变量或配置文件里的 Key 是否正确注意别有多余空格或换行再确认 Key 对应的账户还有额度最后确认 Base URL 和 Key 是配套的——用 A 家的 Key 打 B 家的地址必然 401。如果用的是 TaoToken去 API Keys 页面重新生成一个替换掉旧的。local proxy failed / connection refused这类错误通常是本地代理进程没起来或者端口被占。Claude Code 某些配置下会走本地代理转发请求如果代理没启动就会连不上。排查确认代理进程在跑确认端口没被其他程序占用确认配置文件里的代理地址和实际监听端口一致。如果你根本没配代理却报这个错检查一下是不是环境变量里残留了HTTP_PROXY之类的设置。reading choices 相关报错这通常出现在请求返回格式不符合预期时比如返回的不是标准的 chat completion 结构。原因可能是 Base URL 指向了不兼容的端点或者模型 ID 写错了导致服务端返回了错误页而非 JSON。解决确认 Base URL 是https://taotoken.net/api这种标准端点确认 Model ID 拼写正确用/status看当前模型是否是你以为的那个。OAuth 相关报错如果你用的是需要 OAuth 登录的方式报错多半是 token 过期或回调失败。重新走一遍登录流程确认浏览器回调地址和配置一致。如果一直卡在回调检查本地是否有防火墙拦截了回调端口。配置改了不生效回到第 2 节的优先级规则——启动参数 项目配置 全局配置。另外确认 JSON 语法正确一个多余的逗号会让整个文件被静默忽略。用cat ~/.claude/settings.json | python -m json.tool可以快速校验 JSON 合法性。会话恢复后上下文丢失/clear会清空上下文但保留文件如果你误用了它上下文就没了。恢复会话用claude -c或claude --resume别用/clear。另外自动压缩在 80% 阈值触发后也会丢细节重要节点手动/compact前先/context看看。排查通用思路先看报错原文抓关键词再确认配置三件套Base URL、Key、Model ID是否齐全且配套最后看是不是配置优先级或缓存问题重启会话往往能解决一半的玄学问题。6. 把速查表用起来接入配置与验证清单前面几节把权限、配置、会话、扩展、排障都过了一遍。这一节给一份可以直接照着做的接入与验证清单把散落的点串成一条线。第一步确认接入配置。如果你通过 TaoToken 接入需要三件套Base URL: https://taotoken.net/api API Key: 在 console 的 API Keys 页面生成 Model ID: 按你选的模型填写把这三项填到对应的配置位置。Claude Code 的模型接入配置通常在settings.json或环境变量里具体字段名以你使用的版本为准。填完后用/status验证当前模型和端点是否正确。第二步验证请求能通。最简单的办法是启动一个会话让它做一个只读操作比如「读一下当前目录的 README 并总结」。如果它能正常返回说明请求链路是通的。如果报 401回到第 5 节排查 Key如果报连接错误检查 Base URL。第三步配置权限模式。在项目settings.json里设permissions.defaultMode为acceptEdits重启会话然后让它改一个文件观察是否还弹确认。不弹就说明生效了。第四步配状态栏。加上statusLine配置重启后看终端底部是否出现上下文占比。这个能帮你养成关注上下文用量的习惯。第五步按需装 Skills 和 MCP。Skills 放~/.claude/skills/或项目目录MCP 配mcp.json改完重启。用/skills和/mcp确认加载成功。第六步会话管理习惯。开工时用claude -n 任务名命名收工时直接退出第二天claude -c继续。任务切换用/clear走偏了用/rewind回溯。这套流程走一遍Claude Code 的日常操作基本就顺了。剩下的就是在实际项目里积累自己的 Skills 和 MCP 配置把重复的指令模板沉淀下来。遇到报错先抓关键词再按第 5 节的顺序排查大部分问题都能自己解决。需要看模型对话效果或管理 API Keys去 TaoToken 对应页面操作即可长期跑编码任务的话Coding Plan 会更省心。
返回列表