1. Ubuntu 部署 OpenClaw 到底选哪种方式一键脚本还是 DockerOpenClaw 是一个可以跑在自己机器上的 AI 智能体网关它能对接 Anthropic、OpenAI 以及兼容 OpenAI 协议的模型服务把对话、工具调用、工作区管理集中到一个 Web 控制面板里。你可以在 Ubuntu 上把它当成一个常驻服务浏览器打开就能用也能通过 API 被其他程序调用。适合谁想在自己服务器上跑一个可控 AI 入口的开发者、需要把模型能力接进内部工具链的团队以及单纯想折腾一个私有智能体面板的新手。在 Ubuntu 上装 OpenClaw官方主推两条路一键脚本安装和 Docker 安装。这两个不是谁替代谁的关系而是面向不同阶段和不同诉求。一键脚本胜在快几条命令下去Node.js 依赖、配置向导、守护进程它都帮你串起来十几分钟能看到 Web 界面。Docker 胜在隔离和可迁移容器把运行环境封死宿主机上装了什么、Node 是哪个版本都不影响它生产环境滚动升级、备份、换机器都更省心。我自己的判断标准很简单如果你只是本地或测试机上快速验证选一键脚本如果这台机器要长期跑、要给多人用、要跟其他服务共存选 Docker。源码/npm 安装属于第三条路适合需要锁特定版本或者要改代码的人但它对 Node 版本和全局包管理有要求新手容易在依赖上卡住所以这篇重点讲前两种。还有一个绕不开的点是模型接入。OpenClaw 本身只是壳真正干活的是背后的模型 API。不管用哪种安装方式你都要在配置向导里填一个模型提供商的 Key 和 Base URL。这里可以用 TaoToken 做统一通道一个 Key 走多家模型省得每个提供商单独管密钥。下面按安装方式拆开讲每一步都给可复制的命令。2. 装之前先把 Ubuntu 环境和 TaoToken 通道准备好系统层面建议 Ubuntu 22.04 或 24.04 LTS这两个版本的软件源和依赖最稳。先更新包索引并升级已有包避免旧依赖和新装的组件打架sudo apt update sudo apt upgrade -y然后装基础工具链curl、wget、git、build-essential 后面都会用到一次性装上sudo apt install -y curl wget git build-essential如果你走 Docker 路线还要额外装 Docker Engine 和 Compose 插件这个放到第 3 节讲。走一键脚本的话脚本会自己检测并安装 Node.js你不用手动装。接下来是 TaoToken 通道的准备。OpenClaw 的配置向导里会让你选模型提供商并填 API Key如果你用 TaoToken就把它当成一个 OpenAI 兼容的提供商来填。先去控制台创建一个 API Key控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteAPI Key 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite创建好 Key 之后记下两个值Base URL 用https://taotoken.net/apiKey 就是你刚生成的那串。模型 ID 按你要用的填比如claude-sonnet-4-20250514或者gpt-4o这类具体以你账号里可用的模型列表为准。这三个值——Base URL、Key、Model ID——就是后面配置的核心三件套缺一个都连不上。注意API 地址不要加 UTM 参数直接写https://taotoken.net/api就行加了反而可能被某些客户端当成非法路径。如果你不确定该用哪个模型可以先去模型对话页面试一下确认 Key 能正常出结果再往 OpenClaw 里填https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite这一步花两分钟能省掉后面在 OpenClaw 里反复排查 401 的时间。环境准备好之后就可以选安装方式了。3. 一键脚本安装与 Docker 安装的可复制配置3.1 一键脚本安装最快看到界面一键脚本是官方推荐给新手的方式它会自动处理 Node.js 依赖检测、安装然后直接拉起配置向导。在终端执行curl -fsSL https://openclaw.ai/install.sh | bash脚本跑完会进入交互式配置流程。如果你中途退出了或者想重新配置手动启动向导openclaw onboard --install-daemon--install-daemon会把 OpenClaw 注册成后台守护进程支持开机自启这样你关掉终端它也在跑。向导里几个关键选择模型提供商选 OpenAI 兼容因为 TaoToken 走的是 OpenAI 协议然后填三件套。Base URL 填https://taotoken.net/apiAPI Key 填你创建的那串Model ID 填你要用的模型名。工作区路径保持默认~/.openclaw/workspace即可用来存配置和数据。配置写完后核心文件在~/.openclaw/openclaw.json。你可以直接看里面的模型段确认三件套写对了{ models: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, model: claude-sonnet-4-20250514 }, gateway: { bind: 127.0.0.1, port: 18789 } }这段 JSON 是配置的核心路径和字段名以你实际生成的为准。改完配置后重启网关生效openclaw gateway restart3.2 Docker 安装环境隔离与生产部署Docker 路线适合要长期跑、要隔离、要迁移的场景。先装 Docker 和 Compose 插件sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable --now docker把当前用户加进 docker 组免得每条命令都 sudo加完要重新登录生效sudo usermod -aG docker $USER然后拉官方仓库并跑设置脚本mkdir -p ~/openclaw cd ~/openclaw git clone https://github.com/openclaw/openclaw.git . ./docker-setup.sh这个脚本会自动构建镜像、生成访问令牌、启动服务。如果你要自己写 compose 配置核心片段长这样services: openclaw: image: openclaw/openclaw:latest container_name: openclaw ports: - 127.0.0.1:18789:18789 volumes: - ./data:/root/.openclaw environment: - OPENCLAW_MODEL_PROVIDERopenai-compatible - OPENCLAW_BASE_URLhttps://taotoken.net/api - OPENCLAW_API_KEYsk-你的TaoToken密钥 - OPENCLAW_MODELclaude-sonnet-4-20250514 restart: unless-stopped这里把端口绑在127.0.0.1上只允许本机访问生产环境更安全。数据卷挂到./data容器重建数据不丢。环境变量里的三件套跟一键脚本是同一套值Base URL 依然是https://taotoken.net/api。启动docker compose up -d两种方式对比一下维度一键脚本Docker上手速度快十几分钟中等需装 Docker环境隔离依赖宿主机 Node完全隔离生产部署一般推荐迁移备份手动卷拷贝即可版本锁定较弱镜像 tag 可控选哪个看你的场景测试机一键脚本生产机 Docker这个组合最省事。4. 验证 OpenClaw 请求是否真正跑通装完不算完得确认网关起来了、模型能出结果。先看网关状态openclaw gateway status显示running就说明守护进程活着。如果是一键脚本装的这一步直接能过Docker 装的用docker compose ps看到容器状态是Up即可。接着拿访问令牌Web 界面登录要用grep -A1 token ~/.openclaw/openclaw.jsonDocker 装的令牌在./data/openclaw.json里路径换成你的挂载目录。拿到令牌后浏览器打开http://127.0.0.1:18789填入令牌进控制面板。真正验证模型通道最直接的是发一条测试请求。OpenClaw 的网关本身提供 API你可以用 curl 打一下curl -s http://127.0.0.1:18789/v1/chat/completions \ -H Authorization: Bearer 你的网关令牌 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 只回复两个字通了}] }如果返回的 JSON 里choices[0].message.content是「通了」说明从 OpenClaw 到 TaoToken 再到模型的整条链路都通了。这一步很关键它把「网关活着」和「模型能答」两件事分开验证出问题好定位。如果返回里choices是空的或者报reading choices之类的错多半是模型 ID 写错或者 Key 没权限。这时候回到 TaoToken 的模型对话页面用同一个 Key 和模型 ID 手动发一条确认 Key 本身没问题再回来查 OpenClaw 的配置。实测下来大部分「连不上」都是三件套里某一个值填错尤其是 Base URL 多加了斜杠或者路径。局域网其他设备要访问的话改绑定openclaw config set gateway.bind lan openclaw gateway restart但别把 18789 直接暴露到公网要远程就套一层带身份验证的反向代理。5. 常见报错排查401、local proxy failed 与 OAuth装 OpenClaw 踩的坑八成集中在模型通道和网络绑定这两块。下面按真实报错对照排查。401 Unauthorized最常见。原因就三个——Key 填错、Key 过期、Base URL 不对。先确认openclaw.json里的apiKey跟你 TaoToken 控制台里创建的一致注意别把前后空格复制进去。Base URL 必须是https://taotoken.net/api不要写成带/v1或其他后缀的变体。改完记得openclaw gateway restart配置不重启不生效。local proxy failed / connection refused这个通常出现在 Docker 场景。容器里的127.0.0.1指的是容器自己不是宿主机。如果你在容器里配了指向宿主机的地址得用host.docker.internal或者宿主机的局域网 IP。但如果你用的是 TaoToken 这种外部 API就不存在这个问题直接走公网。出现这个错先检查是不是把 Base URL 写成了本地地址。reading choices 报错 / choices 为空说明请求发出去了但返回结构不对。多半是模型 ID 不被识别或者提供商协议选错了。OpenClaw 里要选 OpenAI 兼容协议模型 ID 用你账号里实际可用的名字。去模型对话页面确认这个模型 ID 能出结果再填回来。OAuth 相关报错如果你在配置向导里误选了需要 OAuth 登录的提供商比如某些官方直连会卡在授权环节。用 TaoToken 的话不需要 OAuth选 OpenAI 兼容 API Key 就行。已经选错的重新跑openclaw onboard覆盖配置。端口占用 / 18789 起不来检查是不是有别的进程占了端口sudo lsof -i :18789有的话杀掉或者改 OpenClaw 的端口配置。Docker 场景还要确认 compose 里的端口映射没跟宿主机其他服务冲突。守护进程没自启一键脚本装的时候如果没加--install-daemon重启机器后服务不会自己起来。补装openclaw onboard --install-daemon排查顺序建议固定成先gateway status看进程再 curl 打网关看返回最后拿同一个 Key 去模型对话页面验证。三层逐层排除比一上来就改配置高效得多。如果你在接入阶段反复卡住可以直接翻接入文档对照字段https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite6. 装完之后把 OpenClaw 接进日常开发流OpenClaw 跑起来只是起点真正省时间的是把它接进你已有的工作流。如果你用 Claude Code 这类编码工具可以把 OpenClaw 当成统一的模型出口Base URL 指向https://taotoken.net/apiKey 用同一个模型 ID 按任务切换。这样编码工具和 OpenClaw 面板共用一套凭证换模型不用改两处。长期跑编码任务或者 Agent 的话建议走 Coding Plan额度模型更划算也省得每次单独算 tokenhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteClaude Code 的接入配置也类似Base URL 和 Key 是同一套具体字段参考 Anthropic 兼容那节https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewrite生产环境还有两个实操建议。一是 Docker 部署时把数据卷定期备份./data目录直接打包就行换机器解压即用。二是别把网关端口暴露公网需要远程访问就上 Caddy 或 Nginx 做反向代理加 Basic AuthOpenClaw 自己的令牌只保护 Web 界面不保护 API 端口。把这两件事做了OpenClaw 就能安安稳稳当你的私有 AI 入口装一次管很久。