在 WSL/Linux 上将 Claude Code 与 DeepSeek 搭配使用:安装、配置、测试与常见错误修复
了解如何在 WSL 或 Linux 上安装 Claude Code,通过 DeepSeek 的 Anthropic 兼容端点进行路由,验证连接,并修复常见的 401、403 和 404 错误。本实用指南涵盖 npm 安装、~/.claude/settings.json、环境变量、模型选择,以及面向受限地区开发者的更安全配置路径。

Claude Code 与 DeepSeek 封面
如果你想让 Claude Code 在 WSL 或 Linux 中运行,而不依赖 Anthropic 的直接端点,目前最简洁的路径就是将它指向 DeepSeek 的 Anthropic 兼容 API。
这就是原教程背后的核心操作,说实话,它解决了许多开发者不断遇到的确切问题:Claude Code 安装正常,但第一次真正会话会因为区域访问、端点路由或模型配置而失败。
所以,与其把这篇文章变成一篇含糊的“AI 编程工具概览”,不如保持实用。我们会做四件事:
在 WSL 或 Linux 上安装 Claude Code
通过 DeepSeek 路由它
在浪费时间调试 CLI 之前先测试端点
修复通常最先出现的常见错误
Claude Code 和 DeepSeek 设置流程
为什么这个设置很重要
从表面看,Claude Code 只是另一个基于终端的编程助手。实际使用中,它真正有用的地方在于它可以读取你的仓库、运行命令、检查文件,并停留在真实的开发工作流中,而不是像一个碰巧懂点代码的聊天框。
当连接问题出现时,摩擦就开始了。
对于在受限网络环境中工作的开发者来说,官方默认路径可能会成为真正的阻碍。这就是 DeepSeek 方案有吸引力的原因:你保留 Claude Code 的工作流,但将后端路径切换到 DeepSeek 暴露的 Anthropic 兼容端点。
这也是本指南比随便一篇“复制这些命令”的文章更有用的地方。一个看起来正确的设置和一个实际可用的设置之间,差异通常取决于:
你设置了哪些环境变量
你把它们持久化到哪里
你使用哪个模型名称
你是否在启动 claude 之前测试了端点
步骤 1:在 WSL 或 Linux 上安装 Claude Code
源文章使用的是基于 npm 的安装路径,当你已经在 WSL 或 Linux 中准备好 Node 时,这种方式仍然很好用。
如果你的网络不稳定,先切换到官方 npm registry,全局安装 Claude Code,然后再切回你常用的镜像:
# 切换到官方 npm registry
npm config set registry https://registry.npmjs.org
# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
# 切回你偏好的镜像
npm config set registry https://registry.npmmirror.com
如果你的网络没问题,简短版本就足够了:
npm install -g @anthropic-ai/claude-code
然后确认安装:
claude --version
如果你得到一个版本号,说明 CLI 本身已经正确安装。这并不意味着模型端点已经准备好,但确实意味着本地安装步骤已经完成。
关于官方安装路径的简短说明
Anthropic 当前的文档还推荐 macOS、Linux 和 WSL 使用原生安装器:
curl -fsSL https://claude.ai/install.sh | bash
这是目前更“官方”的路线,但对于已经在 WSL 中使用基于 Node 的工具链的开发者来说,npm 路径仍然完全合理,并且能很好地对应原文章中的工作流。
步骤 2:准备 Claude 配置目录
原文指出了一个非常真实的烦恼:有时你尝试编辑 Claude Code 的本地配置,却立刻遇到权限问题。
如果 vim 或其他编辑器无法写入 ~/.claude,请先修复所有权和权限:
mkdir -p ~/.claude
chown -R "$USER":"$USER" ~/.claude
chmod -R 755 ~/.claude
这并不酷炫,但很省时间。数量惊人的“Claude Code 设置问题”其实都是文件权限问题。
步骤 3:将 Claude Code 指向 DeepSeek
有两种合理的做法:
临时 shell 环境变量
持久化的 ~/.claude/settings.json
源文章使用的是第二种方式,而对于重复使用来说,我认为这是更好的日常设置。
打开设置文件:
vim ~/.claude/settings.json
然后粘贴一个像这样的最小可用配置:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-deepseek-api-key",
"ANTHROPIC_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash"
}
}
这延续了源指南的思路:简单、持久,并且足以开始使用。
基于最新 DeepSeek 文档的更完整版本
DeepSeek 官方的 Claude Code 集成文档现在展示了更丰富的设置,分别为 Opus、Sonnet、Haiku、子代理和 effort level 提供默认配置。如果你想要更完整的配置,请使用这个:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "your-deepseek-api-key",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
}
}
你到底应该使用哪个模型?
简单规则如下:
如果你想要更低成本、更快的日常编码体验,请使用 deepseek-v4-flash
如果你想要更强的推理能力和更重的长上下文工作,请使用 deepseek-v4-pro[1m]
如果你只是想让第一次设置成功,请从 Flash 开始。等流程稳定后,你可以切换到 Pro 来处理更困难的任务。
第 4 步:在启动 Claude Code 之前测试端点
理论上这一步是可选的,但在现实中它能避免你瞎猜。
在启动 CLI 之前,直接请求 DeepSeek 的 Anthropic 兼容端点:
curl -X POST https://api.deepseek.com/anthropic/v1/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-deepseek-api-key" \
-d '{
"model": "deepseek-v4-flash",
"max_tokens": 10,
"messages": [
{
"role": "user",
"content": "test"
}
]
}'
如果你收到了正常的 JSON 响应,说明 你的端点和密钥都是可用的。
这一点很重要,因为它能区分两类故障:
API 路由问题
Claude Code CLI 问题
如果 curl 测试已经失败,就不要浪费时间责怪 CLI。
第 5 步:启动 Claude Code
安装和端点测试都通过后,正常启动 Claude Code:
claude
到这一步,从 CLI 侧来看体验应该基本正常。主要区别只是 模型流量现在通过 DeepSeek 的 Anthropic 兼容接口进行路由。
你最可能遇到的错误
这正是大多数“设置教程”变得过于客气、开始失去实用性的地方,所以我们直说。
1. E212: Can't open file for writing
这通常不是 Claude 的问题,而是文件系统权限问题。
修复方法:
mkdir -p ~/.claude
chown -R "$USER":"$USER" ~/.claude
chmod -R 755 ~/.claude
2. Unable to connect to Anthropic services 或 403 Forbidden
这通常意味着 Claude Code 仍在尝试访问默认路由,或者你的端点配置有误。
检查以下内容:
ANTHROPIC_BASE_URL 必须完全等于 `https://api.deepseek.com/anthropic`
你的配置文件是有效的 JSON
你没有不小心把文件保存到错误路径下
3. 401 Unauthorized
这几乎总是以下原因之一:
API 密钥错误
复制密钥时带上了多余的空格或引号
DeepSeek 账户存在账单或余额问题
不要把这个问题想得太复杂。401 通常是密钥问题,不是模型问题。
4. 404 Not Found
这通常是模型名称错误或路径错误。
先检查:
端点路径:https://api.deepseek.com/anthropic
测试请求路径:/v1/messages
模型字符串:deepseek-v4-flash 或 deepseek-v4-pro[1m]
如果你输入了旧的或格式错误的模型名称,即使其他所有内容都正确,请求也可能失败。
理解这个设置的更好思路
理解这件事最有帮助的方式,不是“我在魔改 Claude Code”。
更接近这样:
Claude Code 是前端工作流。DeepSeek 是后端模型路由。
一旦你这样理解,调试设置就会更容易:
如果 claude --version 失败,那就是安装问题
如果 curl 测试失败,那就是 API 路由或认证问题
如果两者都成功但会话仍然崩溃,那就是 Claude 侧的配置问题
仅仅这种区分就能省掉大量无意义的反复试错。
相比旧教程发生了什么变化
这一点值得单独说明,因为生态一直在变化。
原始教程专注于一个最小可用设置,并使用 settings.json 加 deepseek-v4-flash,这仍然有用。但最新官方文档增加了一些细节,让整体图景更清晰:
Claude Code 现在在 Anthropic 文档中已有官方原生安装程序
DeepSeek 提供了明确的 Claude Code 集成指南
DeepSeek 记录了 Claude 风格模型系列的模型映射
推荐的完整环境变量集合比早期社区片段更全面
因此,如果你正在重写自己的设置笔记,不要把指南停留在第一次碰巧能用的配置上。保留结构,但更新具体内容。
We0 AI 的定位
如果你正在使用 Claude Code、DeepSeek、WSL 和终端优先工作流等工具进行构建,那么通常在设置完成后马上会出现第二个问题:
你可以把东西做出来,但你的网站仍然没有足够清楚地解释它,无法吸引合适的用户。
这正是 We0 AI 所专注的方向。
We0 AI 帮助创始人、创作者、顾问、代理机构和技术团队构建展示型网站,用清晰方式说明产品功能、获得搜索排名,并将好奇心转化为潜在客户。换句话说,不只是“把一个页面放到网上”,而是真正让产品变得可理解、可发现。
所以,如果你的技术栈越来越强,但分发仍然混乱,那么这就是下一个需要解决的瓶颈。
结论
原文有一点说得很对:突破点并不是安装 Claude Code 本身,而是让完整路径在真实的 WSL/Linux 工作流中可用。
如果你想走最短路径:
安装 Claude Code
设置 DeepSeek 的 Anthropic 兼容端点
安全地保存你的密钥
先测试 API
然后启动 claude
这就是全部关键。
如果出现故障,不要惊慌,也不要重装一切。大多数情况下,问题只是以下四类之一:权限、端点路径、API 密钥或模型名称。
参考资料
相关文章和工具