OpenClaw Zero Token: 通过浏览器免费使用 DeepSeek/Claude/ChatGPT 的 API

2026年3月6日

难度:⭐⭐⭐☆☆(中等) | 时长:15-20 分钟 | 收获:掌握零成本调用 DeepSeek/Claude/ChatGPT 等主流 AI 模型的方法


目标读者

本文面向 1-3 年开发经验的技术人员,你不需要是大模型专家,只需要:

  • 熟悉命令行基本操作
  • 了解 Node.js 基础
  • 想知道如何不花一分钱调用 AI 模型

核心依赖与环境

在开始之前,我们先准备好开发环境。你需要安装以下软件:

依赖版本要求说明
Node.js>= 22.12.0项目运行基础
pnpm>= 9.0.0包管理工具
Chrome最新版浏览器自动化

TIP

推荐使用 nvm(Node Version Manager)来管理 Node.js 版本,一条命令就能切换:

nvm install 22 && nvm use 22

操作系统支持:macOS、Linux、Windows (WSL2)。如果你用 Windows,直接装 WSL2 最省心,一条命令 wsl --install 就能搞定。


项目结构

克隆下来之后,你会发现项目结构非常清晰:

openclaw-zero-token/
├── src/
│   ├── providers/           # 各平台的认证模块和 API 客户端
│   │   ├── deepseek-web-auth.ts
│   │   ├── deepseek-web-client.ts
│   │   ├── claude-web-auth.ts
│   │   └── doubao-web-client.ts
│   ├── agents/             # 流式响应处理
│   ├── commands/           # 认证流程命令
│   └── browser/            # Chrome 自动化核心
├── ui/                     # Web UI (Lit 3.x)
├── .openclaw-state/       # 本地状态(凭证存放处)
│   ├── openclaw.json      # 配置文件
│   └── agents/main/agent/
│       └── auth.json      # 敏感凭证
├── scripts/                # 辅助脚本
├── onboard.sh             # 配置向导
├── server.sh              # 服务管理脚本
└── start-chrome-debug.sh # Chrome 调试启动

手把手教程

接下来,我们一步步完成整个配置流程。

步骤 1:克隆项目并安装依赖

首先把项目拉到本地,然后装依赖:

# 克隆仓库
git clone https://github.com/linuxhsj/openclaw-zero-token.git
cd openclaw-zero-token

# 安装依赖(pnpm 会自动处理所有子依赖)
pnpm install

WARNING

如果你用的是 M 系列 Mac,需要确保 Node.js 是 ARM 版本,否则可能遇到编译问题。nvm ls 确认一下当前使用的架构。

步骤 2:编译项目

项目用 TypeScript 写的,需要先编译成 JavaScript 才能运行:

# 编译 TypeScript
pnpm build

编译完成后,你会看到 dist 目录被创建了。这里就是编译后的代码。

接下来构建 Web UI(可选但推荐,因为访问 http://127.0.0.1:3001 时需要):

pnpm ui:build

步骤 3:启动 Chrome 调试模式

这是最关键的一步——我们需要一个被远程调试的 Chrome 浏览器。项目的脚本会自动帮你搞定:

./start-chrome-debug.sh

运行之后,你会看到一个 Chrome 窗口弹出来。这个窗口是专门用来登录各大 AI 平台的,它的调试端口 9222 是打开的。

TIP

如果你是第一次运行,脚本可能会提示你创建用户数据目录(User Data Directory),直接确认就行。所有登录信息都会保存在这个目录里。

步骤 4:登录 AI 平台

在刚才弹出的 Chrome 浏览器里,打开你想要使用的 AI 平台网址:

用你的账号密码或扫码登录。每个平台都需要单独登录一次

WARNING

登录顺序有讲究:先登录除 DeepSeek 之外的其他平台,最后再登录 DeepSeek。这是项目设计的小技巧,能让凭证捕获更稳定。

步骤 5:运行配置向导(onboard)

现在回到终端,运行配置向导来捕获浏览器中的登录凭证:

./onboard.sh

或者如果你更喜欢手动运行编译后的版本:

node openclaw.mjs onboard

配置向导会提示你选择认证提供商。这里我们以 DeepSeek 为例:

? Auth provider: DeepSeek (Browser Login)

? DeepSeek Auth Mode:
  > Automated Login (Recommended)  # 自动捕获凭证
    Manual Paste                      # 手动粘贴凭证

选择「自动捕获」,然后等待几秒钟。向导会自动:

  1. 连接到 Chrome 的调试端口
  2. 访问 DeepSeek 页面
  3. 捕获你的登录凭证(Cookie、Bearer Token 等)
  4. 保存到 auth.json 文件

如果你想配置多个平台,可以多次运行 ./onboard.sh,每次选择不同的平台。

步骤 6:启动 Gateway 服务

认证配置好之后,我们启动核心服务 Gateway:

./server.sh start

或者直接运行:

node openclaw.mjs gateway

服务启动后,Gateway 会在 3001 端口 监听请求。你可以打开浏览器访问 http://127.0.0.1:3001,看到 Web UI 界面。

TIP

日常使用时,管理 Gateway 服务的命令很简单:

./server.sh start   # 启动
./server.sh stop    # 停止
./server.sh restart # 重启
./server.sh status  # 查看状态

步骤 7:API 调用实战

现在到了最激动人心的时刻——我们通过 API 来调用免费的 AI 模型!

# 调用 DeepSeek 模型
curl http://127.0.0.1:3001/v1/chat/completions \
  -H "Authorization: Bearer YOUR_GATEWAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-web/deepseek-chat",
    "messages": [{"role": "user", "content": "你好,请用一句话介绍自己"}]
  }'

WARNING

记得把 YOUR_GATEWAY_TOKEN 换成你实际的 Token。你可以在 .openclaw-state/openclaw.json 文件里找到它。

步骤 8:切换不同模型

在 Web UI 中,你可以用 /model 命令切换不同的 AI 模型:

# 切换到 Claude Web
/model claude-web

# 切换到豆包
/model doubao-web

# 或者指定具体的模型版本
/model claude-web/claude-3-5-sonnet-20241022
/model doubao-web/doubao-seed-2.0

查看所有可用模型:

/models

输出类似:

Model                                      Input      Ctx      Local Auth  Tags
doubao-web/doubao-seed-2.0                 text       63k      no    no    default,configured,alias:Doubao Browser
claude-web/claude-3-5-sonnet-20241022      text+image 195k     no    no    configured,alias:Claude Web
deepseek-web/deepseek-chat                 text       64k      no    no    configured

支持的模型一览

目前项目已经测试通过的平台和模型相当丰富:

平台模型状态
DeepSeekdeepseek-chat, deepseek-reasoner✅ 已测试
Claude Webclaude-3-5-sonnet, claude-3-opus, claude-3-haiku✅ 已测试
ChatGPT WebGPT-4, GPT-4 Turbo✅ 已测试
Gemini WebGemini Pro, Gemini Ultra✅ 已测试
KimiMoonshot v1 8K/32K/128K✅ 已测试
千问国际版Qwen 3.5 Plus, Qwen 3.5 Turbo✅ 已测试
千问国内版Qwen 3.5 Plus, Qwen 3.5 Turbo✅ 已测试
豆包doubao-seed-2.0, doubao-pro✅ 已测试
GLM Webglm-4-Plus, glm-4-Think✅ 已测试
Grok WebGrok 1, Grok 2✅ 已测试
Manus APIManus 1.6, Manus 1.6 Lite✅ 已测试

常见问题排查

问题 1:Chrome 调试模式连不上

症状:运行 ./start-chrome-debug.sh 后,onboard 提示无法连接浏览器。

解决方案

  1. 检查 Chrome 进程是否真的启动了:ps aux | grep Chrome
  2. 确认端口 9222 是否在监听:lsof -i :9222
  3. 如果端口被占用,先杀掉占用进程:kill -9 <PID>

问题 2:凭证捕获失败

症状:onboard 过程一直等待,但最后提示超时。

解决方案

  1. 确保已经在 Chrome 中完成了登录
  2. 刷新一下目标 AI 平台的页面
  3. 重新运行 ./onboard.sh,这次选择「Manual Paste」模式手动复制 Cookie

问题 3:API 调用返回 401 错误

症状:curl 请求返回 unauthorized。

解决方案

  1. 检查 Token 是否正确:在 .openclaw-state/openclaw.json 中找到 gateway.auth.token
  2. 确认 Gateway 服务是否在运行:./server.sh status
  3. 重启服务试试:./server.sh restart

问题 4:会话过期

症状:API 调用突然失败,返回登录相关错误。

解决方案

  1. 打开之前启动的 Chrome 调试窗口
  2. 重新登录对应的 AI 平台
  3. 再次运行 ./onboard.sh 重新捕获凭证

问题 5:模型切换不生效

症状:切换模型后,API 返回的还是之前的模型结果。

解决方案

  1. 重启 Gateway 服务:./server.sh restart
  2. 检查模型名称是否写对(注意大小写和斜杠)
  3. /models 命令确认模型确实在列表中

问题 6:端口 3001 被占用

症状:启动 Gateway 时提示「Port 3001 already in use」。

解决方案

  1. 找到占用端口的进程:lsof -i :3001
  2. 杀掉它:kill -9 <PID>
  3. 或者修改配置文件换一个端口

进阶方向

搞定了基础用法之后,你可以探索这些更高级的功能:

1. 工具调用(Tool Calling)

目前所有支持的工具调用模型都支持执行本地命令、读写文件、浏览器自动化等操作。这意味着 AI 不仅能回答你,还能真的帮你做事——比如写代码、操作文件、甚至控制浏览器。

2. 多平台同时配置

你可以在一次 onboard 过程中配置多个平台,然后随时用 /model 命令切换。比如上午用 Claude 写代码,下午用 DeepSeek 做推理,晚上用 Kimi 读长文档。

3. 自定义 Provider

项目是开源的,你可以在 src/providers/ 目录下添加新的平台支持。只要按照现有模板实现认证和 API 客户端,就能接入任何有 Web 版的 AI 模型。

4. 安全加固

WARNING

给 AI 本地终端和文件权限是有风险的。建议:

  • 使用独立的工作区目录,限制 AI 的文件访问范围
  • 开启人工确认机制,对于危险操作(如删除文件、执行删除命令)需要手动确认
  • 定期检查 .openclaw-state 目录下的日志

工作原理浅析

你可能会好奇,这东西到底是怎么做到「免 Token」调用的?核心原理其实不复杂:

  1. 浏览器自动化:通过 Playwright 控制 Chrome,用 CDP(Chrome DevTools Protocol)协议连接
  2. 凭证捕获:监听网络请求,从 HTTP Header 中提取 Authorization 信息,从 Cookie 中获取会话 ID
  3. API 转发:用捕获到的凭证向目标平台的 Web API 发起请求,把响应转成 OpenAI 兼容的格式

这就是为什么你必须保持 Chrome 调试窗口运行——所有的请求都是从这个浏览器上下文里发出的。

Updated 2026年3月6日