⚙️ Claude Code 配置与认证
第 2 篇 — 装好之后怎么配,才能用得爽
🎯 这篇讲什么
装好 Claude Code 只是第一步。配好之后,它才知道:
🔐 认证方式详解
1. Anthropic 官方 API
# 获取 Key:https://console.anthropic.com/settings/keys
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxxxxx"
# 验证
claude -p "hello" --max-turns 1
优点: Claude 原生模型,质量最高
缺点: 需要境外手机号注册 + 境外支付
2. DeepSeek API(国内最推荐 ✨)
# 获取 Key:https://platform.deepseek.com/api_keys
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_API_KEY="sk-xxxxxxxxxxxxx"
# 验证
claude auth status --text
优点: 国内直接注册、支付宝/微信付款、极便宜
缺点: 模型能力略弱于 Claude 原版
3. OpenRouter(中转站)
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-xxxxxxxxxxxxx"
优点: 统一付费用多个模型,国内可访问
缺点: 多加一层费用
🎛️ settings.json 完整配置
~/.claude/settings.json:
{
"model": "deepseek-v4-pro[1m]",
"effort": "max",
"permissions": {
"allow": [
"Bash(npm run lint:*)",
"Bash(npm test:*)",
"Read"
],
"ask": [
"Bash(git push*)"
],
"deny": [
"Read(.env)",
"Read(.env.local)",
"Bash(rm -rf *)"
]
}
}
配置项说明
| 配置项 | 可选值 | 说明 |
|---|---|---|
model | deepseek-v4-pro[1m], claude-sonnet-4-6, claude-haiku-4-6 | 默认模型 |
effort | low, medium, high, max | 思考深度。越深越聪明但越贵越慢 |
permissions.allow | 工具列表 | 自动允许的操作 |
permissions.ask | 工具列表 | 每次询问的操作 |
permissions.deny | 工具列表 | 禁止的操作 |
💡 模型选择指南
| 任务 | 推荐模型 | 原因 |
|---|---|---|
| 简单问答、代码解释 | claude-haiku-4-6 或 deepseek-v4-flash | 便宜快速 |
| 日常编程 | deepseek-v4-pro[1m] | 性价比最高 |
| 复杂重构、长文件 | deepseek-v4-pro[1m] | 1M 上下文 |
| 精细代码审查 | claude-sonnet-4-6 | 质量最优 |
⚠️ 注意: DeepSeek 的 V4 Flash 不加 [1m] 后缀,V4 Pro 必须加!
📝 CLAUDE.md — 给 Claude 的「使用说明书」
CLAUDE.md 是 Claude Code 的「记忆文件」,告诉它关于你和项目的所有事。
全局记忆 ~/.claude/CLAUDE.md
# 关于我
- 我是一名全栈开发者,主要用 TypeScript 和 Python
- 偏好简洁代码,不喜欢过度设计
- 请全部用中文回复
- 代码注释也用中文
# 我的环境
- macOS + VS Code
- Node.js 20, Python 3.12
- 使用 pnpm 管理 Node 依赖
- 使用 poetry 管理 Python 依赖
项目记忆 项目根目录/CLAUDE.md
# 项目:我的电商后台
## 技术栈
- 前端:React 18 + TypeScript + Tailwind CSS
- 后端:FastAPI + SQLAlchemy + PostgreSQL
- 测试:pytest + Playwright
## 规范
- 2 空格缩进
- 函数必须加类型注解
- API 端点统一用 /api/v1/ 前缀
- 报错信息用中文
## 命令
- `pnpm dev` — 启动开发服务器
- `pnpm test` — 运行测试
- `pnpm lint` — 代码检查
💡 写好 CLAUDE.md 的技巧
🎮 权限模式详解
# 启动时指定权限模式
claude --permission-mode plan
| 模式 | 效果 | 适用场景 |
|---|---|---|
default | 危险操作需确认 | 日常使用 |
acceptEdits | 自动接受编辑,其他确认 | 信任 Claude 改代码 |
plan | 先列计划再执行 | 复杂任务 |
dontAsk | 几乎不询问 | 老手专用 |
bypassPermissions | 全部自动允许 | CI/自动化(危险⚠️) |
快捷切换:交互模式下按 Shift+Tab
⚡ 性能与费用优化
省钱技巧
# 1. 简单任务用便宜模型
claude -p "格式转换" --model deepseek-v4-flash
# 2. 限制思考轮数,防止跑飞
claude -p "重构代码" --max-turns 10
# 3. 设预算上限
claude -p "复杂任务" --max-budget-usd 1.0
# 4. 限制可用工具
claude -p "分析代码" --allowedTools "Read" --max-turns 3
速度优化
# 跳过插件和 MCP 加载(加快启动)
claude --bare -p "快速任务"
# 简单任务降低思考深度
claude -p "小改动" --effort low
🔒 安全配置
# 禁止读取敏感文件
# 在 settings.json 的 permissions.deny 里加:
"deny": [
"Read(.env)",
"Read(.env.local)",
"Read(*secret*)",
"Read(*credential*)",
"Bash(rm -rf *)",
"Bash(git push --force*)"
]
🚦 下一步
❓ 常见问题 (FAQ)
Q1: Anthropic 和 DeepSeek 用哪个?
国内用户无脑选 DeepSeek。 注册不需要境外手机号,支付宝/微信付款,价格便宜 10 倍。等你用熟了、对代码质量有极致要求时,再考虑 Anthropic。
Q2: API Key 在哪获取?
DeepSeek:https://platform.deepseek.com/api_keys。Anthropic:https://console.anthropic.com/settings/keys。OpenRouter:https://openrouter.ai/keys。
Q3: settings.json 改了不生效?
需要新开一个 Claude Code 会话(退出重进)。配置在启动时加载,运行中改不会即时生效。
Q4: CLAUDE.md 写什么最有用?
按优先级:① 项目技术栈和命令(怎么跑测试、怎么启动);② 代码规范(缩进、命名、类型注解);③ 你的偏好(语言、风格)。越具体越好。
Q5: effort 设多少合适?
日常用 max(DeepSeek 下几乎不额外收费)。简单问答用 low(更快)。拿不准就 max。
Q6: 权限模式怎么选才不会删我代码?
新手推荐 default(危险操作会弹确认)。在 settings.json 里把 Bash(rm -rf *) 加到 deny 列表,双重保险。
Q7: 怎么确认配置没问题?
跑 claude auth status --text 看认证状态,跑 claude -p "你现在用的是什么模型?" --max-turns 1 看模型是否正确加载。
Q8: 多个项目怎么管理不同配置?
每个项目根目录放一个 .claude/settings.json(项目配置)和 .claude/CLAUDE.md(项目说明)。全局配置放 ~/.claude/。Claude Code 会自动合并。
Q9: OpenRouter 和直接连有什么区别?
OpenRouter 是「中转站」:一个 Key 调所有模型,但加一层中转费(约 5%)。直接连延迟更低、更省钱。有 DeepSeek Key 就直接连。
Q10: API Key 额度用完了会发生什么?
Claude Code 会报错停止。去对应平台充值即可。DeepSeek 充值最低 ¥1 起,非常友好。
⚠️ 配置过程中的高频翻车点
| 翻车现场 | 正确姿势 |
|---|---|
| 把 API Key 写到 settings.json 里 | Key 写 .env 或环境变量,settings.json 只放模型名和权限 |
deepseek-v4-flash 也加了 [1m] 后缀 | Flash 不加后缀!只有 Pro 加 [1m],加错了会报 Model not found |
| CLAUDE.md 写了一堆废话 | "好好写代码"没用。"用 2 空格缩进,不用分号"才有用 |
| effort 设成 max 后发现太慢 | max 适合复杂任务。日常小改动试试 medium,速度翻倍 |
permissions.deny 写了 "Read(.env)" 但还能读 | deny 只对 Claude 自动操作生效,如果你明确让它读它还是会读。再加一条 ask |
以为 --dangerously-skip-permissions 是「跳过危险」 | 它是「跳过所有确认,包括危险操作」。新手别用 |
标签:#AI #教程 #ClaudeCode #配置