# 把 DeepSeek 接进 Claude Code：让 AI 开始创建本地文件

> 第一集，AI 在终端里回答了一个问题；这一集，我们让它在电脑里真正留下一个文件。

![本集只做一件事：让本地工具通过 DeepSeek 创建一个网页文件](images/01-episode-guide.png)<!-- display-width:500 -->

**这一次，只做一件事**

让 DeepSeek 通过 Claude Code，在一个空文件夹里创建一个 HTML 网页文件，也就是双击后能在浏览器打开的网页。

- **预计用时**：已经装好基础环境约 10～15 分钟；从安装开始约 25～40 分钟。
- **需要准备**：Windows 电脑、稳定网络和第一集使用的 DeepSeek API Key。
- **成功标志**：文件夹里多出一个 `.html` 文件，双击后能在浏览器中打开。

工具名看起来有点多，但不用先背下来。缺哪个补哪个，今天不考试。

还有一个边界先说清楚：电脑里运行的是操作文件的工具，负责生成内容的模型仍在云端；这一集还不是“把大模型部署到本地”。

## 1. 开始前 2 分钟：先检查，不重复安装

**这一步要做什么：** 给实验准备一个干净、可控的工作区，再看看电脑里还缺哪些工具。

**完全新手先看这里：** 本集不需要 VS Code、Python 或手写网页。Windows 自带的文件资源管理器负责管理文件夹，Git Bash 负责输入命令，Node.js 提供运行环境，Claude Code 负责创建文件，最后用系统自带的 Edge 就能打开成果。

如果是公司电脑，先确认允许安装 Git、Node.js、Claude Code 和 CC-Switch；遇到软件准入限制时，不要绕过组织安全策略。

在桌面空白处右键，选择“新建 → 文件夹”，命名为 `ai-tool-demo`。第一次实验不要选公司项目、个人资料或保存着账号凭证的目录——先让它在一间空房间里工作，别急着把整个家门钥匙交出去。

### 1.1 在实验文件夹中打开 Git Bash

进入文件夹，在空白处点击右键，选择“显示更多选项”，再点击 **Open Git Bash here**。Git Bash 可以先理解为今天用来输入命令的终端窗口；后面的命令一次复制一行，粘贴后按 `Enter` 执行。

![在空实验文件夹中直接打开 Git Bash，终端会自动定位到这里](images/02-open-git-bash.png)<!-- display-width:420 -->

打开后，终端会自动定位到当前文件夹。稍后 Claude Code 创建的文件也会落在这里。

如果右键菜单里没有 Git Bash，请只从 [Git 官方 Windows 安装页面](https://git-scm.com/install/windows) 下载 Git for Windows，保持默认选项完成安装后再回来。

![裁切后的 Git 官方安装页：普通 Windows 电脑选择 x64 安装包](images/03-git-bash-download.png)<!-- display-width:560 -->

**成功标志：** 终端已经打开，并且当前路径指向刚创建的实验文件夹。

### 1.2 用四条命令检查现有环境

依次执行：

```bash
pwd
node -v
npm -v
claude --version
```

`pwd` 用来查看当前文件夹：输出末尾应该是 `ai-tool-demo`。如果后面三条命令都显示版本号，可以直接进入第 2 步；哪一条提示“找不到命令”，就只补对应的工具。

#### 缺少 `node` 或 `npm`

Node.js 是运行 Claude Code 所需的基础环境，npm 是随它安装的包管理工具。本次实测环境使用 Node.js 18 或更高版本，请从 [Node.js 官方下载页](https://nodejs.org/en/download) 获取当前 LTS 版本。

![裁切后的 Node.js 下载页：选择 Windows、x64 和安装程序（.msi）](images/04-node-download.png)<!-- display-width:560 -->

安装后关闭旧终端，重新在实验文件夹中打开 Git Bash，再运行 `node -v` 和 `npm -v`。两个命令都出现版本号，这一项就通过了。

#### 缺少 `claude`

Claude Code 是这次负责操作本地文件的工具。本次实测使用 npm 安装，在 Git Bash 中执行：

```bash
npm install -g @anthropic-ai/claude-code
```

安装完成后检查：

```bash
claude --version
```

看到版本号，就说明安装成功。安装方式可能随版本更新；如果 [Claude Code 官方安装文档](https://code.claude.com/docs/en/installation)与本文不同，请以官方当前说明为准。

安装任何一项后，都先关闭旧窗口，再从 `ai-tool-demo` 中重新打开 Git Bash，并重新运行上面的四条检查命令。

**到这里应该看到：** `pwd` 指向实验文件夹，`node`、`npm` 和 `claude` 都能返回版本号。具体版本数字不重要，能正常出现即可。

## 2. 装好配置切换器，把 DeepSeek 接进来

**这一步要做什么：** 告诉 Claude Code，接下来使用你的 DeepSeek API Key 请求云端模型。

本篇使用 **CC-Switch** 完成配置。它可以理解为一个模型配置切换器：Claude Code 不换，只把背后连接的模型服务切到 DeepSeek。

CC-Switch 是第三方开源工具，不属于 Anthropic 或 DeepSeek。请只从项目的 [GitHub Releases 页面](https://github.com/farion1231/cc-switch/releases) 下载与你系统匹配的版本。

![裁切后的 Releases 列表：普通 Windows x64 选择不带 arm64、也不带 .sig 的 .msi](images/05-cc-switch-release.png)<!-- display-width:560 -->

不要从要求付费、充值或索取账号密码的仿冒网站下载。CC-Switch 是第三方工具，安全性和兼容性需要由使用者自行评估。

### 2.1 添加 DeepSeek 供应商

打开 CC-Switch，切换到顶部的 **Claude Code** 页面，点击右上角的 `+`，选择 DeepSeek；如果已经添加过，也可以点击供应商卡片上的编辑按钮。

![先填写供应商名称、实验专用 API Key 和官网链接，截图中的 Key 已完全隐藏](images/06-provider-masked.png)<!-- display-width:600 -->

先填写三项：

- 供应商名称：`DeepSeek`
- API Key：新建一枚仅用于本次实验、可以随时撤销的 DeepSeek Key
- 官网链接：`https://platform.deepseek.com`

截图中的 Key 已经完全隐藏，但圆点只代表画面没有展示密钥，不代表工具没有在本机保存和使用它。不要把真实 Key 放进文章、聊天记录、Git 仓库或可分享的截图。

### 2.2 核对接口和模型预设

如果 CC-Switch 已经自动填好 DeepSeek 预设，保持默认值即可，不需要背接口名称。

![优先使用 DeepSeek 预设；接口地址和认证字段只用于核对](images/07-endpoint-config.png)<!-- display-width:600 -->

只确认请求地址、API 格式和模型映射都不是空白，然后保存。若预设没有自动填充，先不要凭旧截图猜字段；打开 [DeepSeek 官方 Claude Code 接入文档](https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code)，按当前说明填写。

确认后保存，回到供应商列表启用 DeepSeek。

![DeepSeek 供应商显示为“使用中”](images/08-deepseek-active.png)<!-- display-width:600 -->

**成功标志：** DeepSeek 卡片显示“使用中”。这说明配置已经切换完成，但还没有真正发出请求。

## 3. 先让它回一句，确认连接

**这一步要做什么：** 发出一次最小请求，确认 Claude Code 能通过 DeepSeek 收到回复。

回到刚才的 Git Bash，确保当前路径仍是实验文件夹，然后执行：

```bash
claude
```

首次进入这个目录时，Claude Code 可能询问是否信任该文件夹。只有目录是你刚刚创建或确认安全时，才选择信任。

供应商切换后不要沿用旧会话；如果 Claude Code 之前已经打开，请完全退出后重新启动。启动页应显示当前配置的 DeepSeek 模型，然后输入：

```text
hi，你是什么模型？
```

![启动页显示目标模型，并已收到正常回复；模型自述不作为唯一身份依据](images/09-dialogue-result.png)<!-- display-width:600 -->

判断连接成功，请同时看三个信号：

1. 启动页显示配置的模型名称。
2. Claude Code 收到了正常回复。
3. CC-Switch 中 DeepSeek 的用量发生变化。

模型在回答里自称什么，只能作为参考，不能单独证明实际调用身份。

**第一次成功：** 到这里，调用链已经跑通。能回复 `hi`，只能证明它来上班了；文件真的出现，才算开始干活。

## 4. 给它一个任务：创建本地 HTML 文件

**这一步要做什么：** 把“回答问题”升级成“在当前文件夹创建一个文件”。

在 Claude Code 中输入：

```text
请在当前文件夹创建一个单文件 HTML 页面，简单介绍 Claude Code 的主要能力。
页面要有卡片布局和一个可交互的小区域。完成后告诉我文件名和打开方式。
```

Claude Code 会分析任务、生成代码，并准备把 HTML 文件写到当前目录。如果它询问是否允许创建或修改文件，先确认目标路径确实位于刚才的实验文件夹，再同意本次操作。

**你应该看到：** Claude Code 告诉你已经创建了一个以 `.html` 结尾的文件，并给出文件名或打开方式；回到文件夹，也能看到这个新文件。

如果只收到一段代码、文件夹里没有新文件，可以继续说：

```text
请不要只展示代码，直接把内容写入当前文件夹中的 HTML 文件。
```

**成功标志：** 空文件夹里第一次出现了由 AI 工具创建的本地文件。

## 5. 双击打开，验收本集成果

双击刚才生成的 HTML 文件。你的页面颜色、文字和排版很可能与我的不同，这是正常的——AI 不是复印机。

如果双击后打开的是文本编辑器，右键文件，选择“打开方式 → Microsoft Edge 或 Chrome”。Windows 默认可能隐藏扩展名；看到名为 `claude-intro-demo`、类型为“HTML 文档”的文件，也可能就是教程里的 `.html` 文件。

页面中的产品介绍也由模型生成，可能不准确或已经过时。这里不检查它说得是否权威，只检查两个事实：本地文件是否出现，以及双击后能否打开。

![地址栏显示本地路径：刚创建的 HTML 文件已经成功打开，个人路径已脱敏](images/10-demo-result.png)<!-- display-width:640 -->

注意截图顶部的地址栏：它显示的是类似 `C:/demo/claude-intro-demo.html` 的本地路径，而不是一个网站地址。这证明浏览器打开的是刚才创建在电脑里的文件。

> 到这里，本集主线已经完成：Claude Code 已经通过 DeepSeek 创建了一个可以在本地打开的 HTML 文件。

现在停下来完全没问题。下面先给想多试一步的读者留一个小挑战，再回头解释刚才的调用链。

## 6. 选做挑战：让它修改同一个文件

这一步不影响本集是否通关。还有几分钟的话，可以继续输入：

```text
请只修改刚才创建的 HTML 文件：把背景换成浅色，
并在页面顶部增加一句“第二次修改成功”。不要新建文件。
```

刷新浏览器，如果颜色和文字发生变化，就说明工具不仅能创建文件，也能围绕同一个成果继续修改。

选做失败也没关系，前面的“创建并打开本地文件”已经是完整成功。

## 7. 回头看：刚才到底发生了什么

现在有了真实文件，再来看这张图会容易很多。

![回头看调用链：Claude Code 在本地操作文件，DeepSeek 在云端理解与生成](images/11-tool-model-diagram.png)<!-- display-width:500 -->

可以用三句话记住分工：

- **Claude Code** 是本地的“手和脚”，负责读取、创建和修改当前工作目录中的文件。
- **DeepSeek** 是云端的“大脑”，负责理解任务和生成内容。
- **API Key** 是调用身份的门票，也可能与计费相关。

这也是 **Agent** 能力的第一层：它不只返回一段回答，还能围绕目标调用工具并交付结果。终端里写着 Claude Code，并不代表底层一定在调用 Claude 模型；当前模型要以启动页、供应商配置和实际请求记录共同判断。

所以，本集完成的是“本地工具调用云端模型”，不是“本地部署大模型”。

## 8. 如果结果不一样，先检查最近的一层

### Git Bash 中找不到 `node` 或 `claude`

先关闭所有旧终端，再从实验文件夹重新打开 Git Bash。如果仍然找不到，执行：

```bash
which node
which claude
```

没有返回路径的命令，才是需要重新安装或检查 PATH 的那一项。

### Claude Code 仍然显示原来的模型

先确认 CC-Switch 中 DeepSeek 显示“使用中”，再完全退出当前 Claude Code 会话并重新启动。已经运行的旧会话可能仍然保留之前的配置。

### 出现 401 或 403

先确认报错来自哪个地址。若响应确实来自 DeepSeek，401 通常表示 API Key 认证失败；[DeepSeek 官方错误码表](https://api-docs.deepseek.com/quick_start/error_codes/)没有把 403 列为标准 API 错误，因此遇到 403 时应保留完整错误内容，再检查请求地址、代理或第三方工具。不要打印或发送完整 Key。

### 出现 400 或 Thinking 相关错误

先看响应里指出的是哪个字段，再核对当前 DeepSeek 官方文档与 CC-Switch 预设。只有确认是旧版本兼容问题时，才更新 Claude Code 或 CC-Switch；不要继续复制旧教程里的模型映射。

### 它没有创建文件，或准备访问其他目录

先确认 Claude Code 当前位于实验文件夹，并把要求缩小为“只创建一个 HTML 文件”。如果目标路径不在你确认安全的工作区，不要授权；回到空实验文件夹后重新尝试。

## 9. 今天你已经完成了什么

现在，你已经亲手完成了三件事：

1. 在一个安全的空文件夹中启动 Claude Code。
2. 让本地工具通过 DeepSeek 收到回复。
3. 让它创建并打开了第一个本地 HTML 文件。

![本集完成：启动本地工具、接通 DeepSeek、创建并打开 HTML 文件](images/12-episode-summary.png)<!-- display-width:500 -->

这一集，模型仍然在云端，但本地工具已经有了“手和脚”。下一集，我们会把任务再放大一点：只给 WorkBuddy 一个目标，看它能不能自己拆步骤并交付一个完整网页。
