⚙ 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 *)"
    ]
  }
}

配置项说明

配置项可选值说明
modeldeepseek-v4-pro[1m], claude-sonnet-4-6, claude-haiku-4-6默认模型
effortlow, medium, high, max思考深度。越深越聪明但越贵越慢
permissions.allow工具列表自动允许的操作
permissions.ask工具列表每次询问的操作
permissions.deny工具列表禁止的操作

💡 模型选择指南

任务推荐模型原因
简单问答、代码解释claude-haiku-4-6deepseek-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 #配置