☰
Windows 下安全安装 OpenClaw(龙虾):WSL + Docker 隔离部署与 TaoToken 配置实战
2026/9/26 3:30:50 网站建设 项目流程

1. 为什么 Windows 装 OpenClaw 要先套两层壳

OpenClaw(龙虾)是一个能读写文件、执行命令、调用外部工具的智能体框架,能力越强,权限越大。如果你直接在 Windows 主系统里跑它,一旦配置出错或者某个工具调用失控,它动的是你真实的桌面、真实的文档目录、真实的浏览器数据。这不是危言耸听,而是权限模型决定的:智能体拿到的权限,就是它运行环境的权限。

所以这篇教程的核心思路是「套两层壳」。第一层是 WSL2 里的 Ubuntu 22.04 子系统,它本身就是一个轻量虚拟机,和 Windows 主系统有明确边界;第二层是在 Ubuntu 里再跑一个 Docker 容器,把 OpenClaw 关进容器里。这样即使龙虾在容器里折腾,最坏情况也只是容器内文件被改,删掉容器重建即可,你的 Windows 桌面毫发无伤。

这套方案适合三类人:一是想尝鲜 OpenClaw 但担心安全的新手;二是需要在 Windows 上长期跑智能体、又不想专门买一台机器的开发者;三是想用统一 API Key 管理多个模型调用、避免到处填密钥的团队用户。整个过程我会给出可复制的命令,包括 WSL 安装、Docker Compose 骨架、TaoToken 统一 Key 接入,以及容器逃逸检查和端口验证动作。

需要提前说明:Windows 版本尽量在 Windows 11,部分 Windows 10 老版本对 WSL2 支持不完整。你可以先打开 PowerShell 输入wsl -l -v看看有没有已安装的发行版,如果提示「适用于 Linux 的 Windows 子系统没有已安装的分发」,那就从零开始跟着走。

2. TaoToken 前置准备:一个 Key 管住所有模型调用

OpenClaw 要工作,必须接一个大模型。传统做法是每个模型厂商单独申请 Key、单独配地址,配置文件里一堆baseUrl和apiKey,换模型就得改配置重启。TaoToken 的价值在于把这些统一成一个入口:你只需要一个 Key、一个 API 地址,就能在 OpenClaw 里切换不同模型。

具体操作分三步。第一步,打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 注册账号。第二步,进入控制台创建 API Key,地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,创建后立刻复制保存,页面关闭后 Key 不再完整显示。第三步,如果你不确定该用哪个模型,可以先到模型对话页面 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite 试聊几句,确认模型可用再写进配置。

这里有个关键点:OpenClaw 的配置文件里baseUrl要填 TaoToken 的 API 地址https://taotoken.net/api,注意这个地址不带任何查询参数,是纯 API 端点。apiKey填你刚创建的那串 Key。id填模型名称,比如qwen-plus或者你在对话页面测试过的其他模型。

注意:API Key 属于敏感凭证,不要提交到 Git 仓库,也不要贴在公开的配置文件里。容器里建议用环境变量注入,后面 Compose 部分我会给出写法。

如果你后续要做长期编码任务或者跑 Agent 工作流,可以了解一下 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ,它针对高频调用场景做了额度优化。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,遇到参数疑问可以对照查。

3. 可复制配置:WSL2 + Docker 隔离部署全流程

3.1 安装 Ubuntu 22.04 子系统

在 PowerShell(管理员模式)里执行:

wsl --install -d Ubuntu-22.04

等待下载安装完成,系统会提示你创建用户。这里不要用root,会提示用户已存在。我习惯用longxialab这个名字,你随意。设置密码时有个新手坑:光标不会移动,看起来像没输入,其实已经输入了,直接回车确认,然后再输一次确认。

安装完成后,默认装在 C 盘。如果你 C 盘紧张,可以迁移到 D 盘:

wsl --shutdown wsl --manage Ubuntu-22.04 --move D:\wsl\Ubuntu2204

迁移完成后去 D 盘对应目录能看到ext4.vhdx文件,说明迁移成功。

3.2 在子系统里装 Docker

重新进入子系统:

wsl -d Ubuntu-22.04

先换阿里镜像源加速下载。备份原文件后写入新源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo tee /etc/apt/sources.list > /dev/null << 'EOF' deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse EOF

然后安装 Docker:

sudo apt update sudo apt install -y docker.io sudo systemctl enable docker sudo systemctl start docker sudo usermod -aG docker $USER

最后一行是把当前用户加入 docker 组,避免每次都要 sudo。执行完exit退出子系统,再重新进入让组权限生效。

3.3 用 Docker Compose 收敛权限

直接docker run能跑,但参数一多就难维护,而且容易不小心开太多权限。用 Compose 文件把配置固化下来更安全。在子系统里创建目录并写文件:

mkdir -p ~/openclaw && cd ~/openclaw vim docker-compose.yml

写入以下骨架:

version: "3.8" services: openclaw: image: ubuntu:22.04 container_name: opc restart: unless-stopped ports: - "127.0.0.1:18789:18789" - "127.0.0.1:18790:18790" volumes: - /mnt/d/longxialab/opc_data:/root environment: - TAOTOKEN_API_KEY=${TAOTOKEN_API_KEY} cap_drop: - ALL security_opt: - no-new-privileges:true stdin_open: true tty: true command: /bin/bash

这里有几个安全设计值得说明。ports前面加了127.0.0.1,意思是端口只绑定本机回环地址,局域网其他机器访问不到,收敛了网络暴露面。cap_drop: ALL丢弃所有 Linux capabilities,容器里没法做特权操作。no-new-privileges:true防止容器内进程通过 setuid 提权。volumes把 Windows 的 D 盘目录映射进容器,方便你在 Windows 下用编辑器改配置。

启动前先导出 Key:

export TAOTOKEN_API_KEY="你的Key" docker compose up -d docker exec -it opc /bin/bash

进入容器后换源并装基础工具:

apt update && apt install -y vim wget curl

3.4 安装 OpenClaw 并写配置

在容器内下载安装脚本并执行:

cd ~ wget https://longxialab.com/tutorials/openclaw/download/openclaw-install.sh chmod +x openclaw-install.sh && ./openclaw-install.sh

安装完成后编辑配置文件,路径在你映射的目录里,Windows 下也能直接打开:

vim /root/openclaw.json

改三个字段:

{ "baseUrl": "https://taotoken.net/api", "apiKey": "你的TaoToken Key", "id": "qwen-plus" }

baseUrl用 TaoToken 的 API 地址,apiKey用你创建的 Key,id填模型名。保存退出。

4. 验证请求:从启动到聊天跑通

4.1 启动网关

OpenClaw 默认只允许本机访问,容器场景下需要监听所有网卡:

source ~/.bashrc openclaw gateway --bind lan --port 18789 --verbose

生产环境建议后台跑并记日志:

nohup openclaw gateway --bind lan --port 18789 > /tmp/openclaw-gateway.log 2>&1 &

4.2 页面连接与设备配对

在 Windows 浏览器打开http://localhost:18789/overview,默认显示离线。去配置文件里找token字段,复制到页面输入框点连接。此时会提示设备配对。

回到容器终端,按 Ctrl+C 停掉前台进程,执行:

openclaw devices list

拿到 requestId 后授权:

openclaw devices approve <requestId>

授权成功后再点连接,状态变正常。

4.3 聊天验证

打开http://localhost:18789/chat?session=agent%3Amain%3Amain发一条消息。如果没反应或提示LLM request timed out,大概率是模型配置问题,检查baseUrl、apiKey、id三项后重启网关。

4.4 容器逃逸与端口检查

验证隔离是否生效,在容器内执行:

cat /proc/1/status | grep Cap

如果CapEff显示0000000000000000,说明 capabilities 已全部丢弃。再在 Windows PowerShell 里执行:

netstat -ano | findstr 18789

确认监听地址是127.0.0.1而不是0.0.0.0,说明端口没有暴露到局域网。

5. 本篇常见错排查

报错一:wsl --install提示不支持。检查 Windows 版本,设置里开启「虚拟机平台」和「适用于 Linux 的 Windows 子系统」两个功能,重启后再试。

报错二:docker: command not found。多半是usermod后没重新进入子系统,exit再wsl -d Ubuntu-22.04即可。

报错三:容器里openclaw命令找不到。执行source ~/.bashrc刷新环境变量。

报错四:页面一直离线。检查 token 是否复制完整,设备是否已 approve,网关是否在跑。

报错五:LLM request timed out。优先查baseUrl是否写成https://taotoken.net/api(不要带斜杠后缀),apiKey是否过期,id是否是有效模型名。可以先去模型对话页面确认模型可用。

报错六:端口被占用。改 Compose 里的端口映射,比如127.0.0.1:28789:18789,同时改启动命令的--port。

6. 后续接入与 Key 管理

跑通之后,你可能会想接更多模型或者做长期编码任务。这时候统一 Key 的优势就体现出来了:不用改 OpenClaw 配置,直接在 TaoToken 控制台切换模型即可。控制台地址 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,API Keys 管理页 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 可以创建多个 Key 做权限隔离,比如给测试环境一个、生产环境一个。

如果你用 Claude Code 或者 Anthropic 风格的接口,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有对应的端点说明。长期跑 Agent 的话,Coding Plan 页面 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite 有额度方案可以参考。

最后提醒一句:容器重建后,/root下的配置因为映射到 Windows 目录会保留,但容器内安装的软件会丢。所以每次重建后重新跑一遍安装脚本即可,配置文件不用重写。这套流程我反复重建过几次,最省事的做法是把安装命令写成一个setup.sh放在映射目录里,重建后一条命令恢复。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询