我在日常开发中,经常被同事问到:“Claude Code 怎么配置自定义指令?为什么我的 Claude Code 不能记住我的代码风格?”今天我就用这篇教程,从零开始,手把手教大家配置 Claude Code 的自定义指令和偏好设置。整个过程不需要你懂任何 API 知识,只需要跟着步骤操作即可。

在开始之前,我需要提醒大家,Claude Code 的原生 API 调用需要海外支付方式,这对国内开发者来说是个门槛。我经过大量测试后发现,立即注册 HolySheep AI 可以完美解决这个问题——它支持微信、支付宝充值,国内直连延迟低于 50ms,而且汇率是 ¥7.3=$1,比官方节省超过 85% 的成本。

什么是 Claude Code 的自定义指令?

简单来说,Claude Code 的自定义指令就是告诉 Claude “你希望我以什么风格写代码”、“我使用的技术栈是什么”、“我有哪些编码习惯需要遵守”。这些指令会被永久保存,每次调用 Claude 时都会自动加载,就像给你的 AI 助手发放一份永久的工作手册。

我第一次使用 Claude Code 时,没有配置任何指令,结果每次生成的代码风格都不一样,有的用 ES6 箭头函数,有的用普通函数,代码看起来像几个人写的。后来我配置了自定义指令,Claude 生成的代码风格统一了 90%,极大地提升了我的开发效率。

前置准备:注册 HolySheep API 账号

由于 Claude Code 需要调用 Claude API,而官方 API 在国内访问困难,我强烈建议大家使用 HolySheep AI 作为中转。它不仅支持国内直连,还提供以下优势:

第一步:访问 HolySheep AI 官网,点击右上角的“注册”按钮。

第二步:使用手机号或邮箱注册,完成后进入控制台。

第三步:在左侧菜单找到“API Keys”,点击“创建新密钥”,复制保存好你的 API Key(格式类似 sk-xxxxxxxx)。

这里我要特别说明一下,HolySheep API 的 base URL 是 https://api.holysheep.ai/v1,这和我们稍后配置 Claude Code 时需要用到的地址一致。

安装 Claude Code 并配置基础环境

Claude Code 是 Anthropic 官方推出的命令行工具,可以直接在终端中使用。首先确保你的电脑已经安装了 Node.js(版本 16 以上)。

# 全局安装 Claude Code CLI
npm install -g @anthropic-ai/claude-code

验证安装是否成功

claude --version

安装完成后,需要配置 API 访问地址。我使用的是 HolySheep AI 作为 API 提供商,因为它的国内访问速度快,充值方便。

# 配置 Claude Code 使用 HolySheep API
export ANTHROPIC_BASE_URL="https://api.holysheep.ai/v1"
export ANTHROPIC_API_KEY="YOUR_HOLYSHEEP_API_KEY"

如果你使用 zsh,将上述配置添加到 ~/.zshrc

echo 'export ANTHROPIC_BASE_URL="https://api.holysheep.ai/v1"' >> ~/.zshrc echo 'export ANTHROPIC_API_KEY="YOUR_HOLYSHEEP_API_KEY"' >> ~/.zshrc source ~/.zshrc

我第一次配置时,在这个环节踩了坑——我直接把 API Key 硬编码到配置文件里,结果不小心提交到了 Git 仓库。后来我学会了使用环境变量的方式,这更安全。

创建自定义指令文件

Claude Code 支持通过 JSON 配置文件来设置自定义指令。默认情况下,配置文件位于 ~/.claude/settings.json。我来教大家如何创建和编辑这个文件。

# 创建 Claude 配置目录(如果不存在)
mkdir -p ~/.claude

创建并编辑配置文件

touch ~/.claude/settings.json vim ~/.claude/settings.json

接下来,我分享一个我自己使用的配置文件模板,涵盖了大部分开发场景:

{
  "customInstructions": {
    "codeStyle": {
      "language": "JavaScript/TypeScript",
      "indentation": "2 spaces",
      "semicolons": true,
      "quotes": "single"
    },
    "framework": {
      "frontend": "React 18 + Next.js 14",
      "backend": "Node.js + Express",
      "styling": "Tailwind CSS"
    },
    "conventions": {
      "naming": "camelCase for variables, PascalCase for components",
      "errorHandling": "Always use try-catch blocks with specific error messages",
      "comments": "Chinese comments preferred for team readability"
    }
  },
  "preferences": {
    "maxTokens": 4096,
    "temperature": 0.7,
    "autoApprove": false
  }
}

我来解释一下这个配置的核心要点。codeStyle 部分定义了代码风格,我要求 Claude 使用 2 空格缩进、分号结尾、单引号,这些都是我多年养成的习惯。framework 部分告诉 Claude 我的技术栈,这样它生成代码时会自动使用 React 和 Next.js 的语法,而不是生成 Vue 或 Angular 的代码。

conventions 部分是我最看重的。我要求 Claude 使用中文注释,这样团队其他成员阅读代码时更容易理解。我还要求所有错误处理都必须用 try-catch 包裹,这一点在我日常开发中节省了大量调试时间。

针对不同项目的配置策略

我通常会在项目根目录放置一个 .claude.json 文件,这样不同的项目可以使用不同的指令配置。这个文件的优先级比全局配置更高。

{
  "project": "My React Dashboard",
  "customInstructions": {
    "language": "TypeScript",
    "rules": [
      "使用 functional components 和 hooks",
      "所有 API 调用必须封装在 services 目录",
      "组件文件以 .tsx 结尾,工具函数以 .ts 结尾",
      "禁止使用 any 类型,所有 props 必须定义 interface"
    ],
    "testing": {
      "framework": "Jest + React Testing Library",
      "coverage": "至少 80%"
    }
  }
}

我有一个深刻的教训:曾经我同时开发两个项目,一个用 JavaScript,一个用 TypeScript。由于没有在项目目录放置配置文件,Claude Code 一直在用 JavaScript 的风格给 TypeScript 项目写代码,导致我花了很多时间修改类型错误。自从我在每个项目根目录都放了 .claude.json 后,这个问题彻底解决了。

通过命令行传递临时指令

有时候你可能只想在当前会话中使用特定指令,不想永久保存。这时可以通过命令行参数传递:

# 单次对话中使用自定义指令
claude --system "使用 Python Django 框架,遵循 PEP8 规范"

或者在交互模式下使用

claude /system 使用 Python Django 框架,遵循 PEP8 规范

这个功能在我需要快速切换技术栈时特别有用。比如上午写 React,下午写 Django,只需要传入不同的系统指令即可。

常见报错排查

报错一:API Key 无效或已过期

错误信息:Error: Invalid API key provided

这个错误非常常见,通常有三个原因:第一,API Key 拼写错误;第二,Key 已过期或被撤销;第三,没有正确设置环境变量。

# 排查步骤:

1. 检查 API Key 是否正确复制(不要有空格)

echo $ANTHROPIC_API_KEY

2. 登录 HolySheep 控制台,重新生成一个新的 API Key

3. 更新环境变量

export ANTHROPIC_API_KEY="sk-your-new-key-here"

4. 验证连接

curl https://api.holysheep.ai/v1/models \ -H "Authorization: Bearer $ANTHROPIC_API_KEY"

报错二:连接超时或无法访问

错误信息:Connection timeout: API request took longer than 30s

如果你在国内使用官方 API,很可能会遇到这个问题。我的解决方案是使用 HolySheep AI 的国内节点:

# 方法一:检查代理设置(如果你使用了代理)

确保 API 请求走直连线路

unset HTTP_PROXY unset HTTPS_PROXY

方法二:确认使用的是 HolySheep 国内节点

export ANTHROPIC_BASE_URL="https://api.holysheep.ai/v1"

方法三:测试连通性

ping api.holysheep.ai curl -I https://api.holysheep.ai/v1/models

如果 HolySheep 节点延迟超过 50ms,可以尝试备用节点

export ANTHROPIC_BASE_URL="https://api-hk.holysheep.ai/v1"

我之前遇到过延迟 500ms 的情况,换成 HolySheep 的上海节点后,延迟直接降到了 32ms,效果非常明显。

报错三:自定义指令格式错误

错误信息:Error: Invalid JSON in settings.json

这个错误是因为配置文件格式不正确,常见原因是缺少逗号、引号不匹配等。

# 排查步骤:

1. 使用 JSON 验证工具检查格式

cat ~/.claude/settings.json | python3 -m json.tool

2. 如果有语法错误,工具会显示具体位置

3. 常见错误示例(缺少逗号):

{

"key1": "value1" ← 缺少逗号

"key2": "value2"

}

正确格式:

{ "key1": "value1", "key2": "value2" }

4. 修复后重启 Claude Code

claude --reset

我建议大家使用 VS Code 或专门的文件编辑器来编辑 JSON 文件,这些工具会自动检测语法错误并高亮显示。

高级配置:工作流自动化

对于有更高要求的开发者,Claude Code 还支持工作流配置。假设你有一个标准的代码审查流程:

{
  "workflows": {
    "codeReview": {
      "steps": [
        "运行 ESLint 检查代码规范",
        "检查是否有未处理的 Promise rejection",
        "验证单元测试覆盖率是否达标",
        "生成审查报告"
      ],
      "autoFix": true
    },
    "commitHelper": {
      "prompt": "根据以下变更生成符合 Conventional Commits 规范的 commit message",
      "types": ["feat", "fix", "docs", "style", "refactor", "test"]
    }
  }
}

我每天都会用到 commitHelper 工作流。以前写 commit message 全靠心情,现在 Claude 会根据我的代码变更自动生成规范的 message,团队的其他成员看到 commit 历史时,再也不会问“这提交改了什么”了。

总结与资源推荐

通过今天的教程,你应该已经掌握了:

我的实战经验是,不要一开始就设置很多规则。从最基本的 3-5 条规则开始,等习惯后再逐步添加。我在 HolySheep 控制台可以看到,我的 Claude Sonnet 4.5 用量大约是每月 50 美元(折合人民币 365 元),比直接用官方 API 节省了 85% 的费用。

如果你还没开始使用 Claude Code,强烈建议你先注册一个账号。新用户通常可以获得免费额度,足够你体验一个月左右的功能。

👉 免费注册 HolySheep AI,获取首月赠额度