1. 为什么要在 Linux 服务器上折腾 OpenClaw
OpenClaw 是一个可以跑在服务器上的 AI 网关/控制台类工具,简单说就是给你一个 Web UI,把大模型的对话、渠道、技能这些配置集中管理起来。它适合谁?适合手里有一台闲置 Linux 服务器、想自己搭一个 AI 控制台、又不想在每台电脑上重复配置模型 Key 的人。我这次用的是一台 Ubuntu 24.04 64 位、2 核 2G 的云服务器,纯新机器,什么都没装过,正好用来演示从零部署到干净卸载的全流程。
很多人第一次装 OpenClaw 会卡在依赖上。官方安装脚本curl -fsSL https://openclaw.ai/install.sh | bash会自动帮你装 Node.js、Git 这些,但在部分精简系统上,缺少build-essential和python3会导致编译环节失败,而且失败日志可能是空的,让人一头雾水。我实测下来,先补系统依赖再跑安装脚本,成功率会高很多。
部署完成之后还有一个关键动作:模型接入。OpenClaw 本身不生产模型,它需要你填一个兼容 OpenAI 协议的 Base URL 和 API Key。这里我用 TaoToken 作为统一通道,一个 Key 就能对接多种模型,省得在 OpenClaw 里来回切换配置。TaoToken 的 API 地址是https://taotoken.net/api,官网在https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,注册后在控制台生成 Key 即可。
这篇文章会按「装依赖 → 跑安装 → 配模型 → 验证连通 → 卸载清理」的顺序走一遍,每一步都给可复制的命令和配置片段。卸载部分我会额外做残留检查,因为npm rm -g之后有些配置目录还在,重装时可能读到旧配置导致行为异常。如果你只是想快速体验,也可以直接跳到第 3 节的配置部分,但建议按顺序来,避免踩我踩过的坑。
2. 部署前的环境准备与 TaoToken Key 获取
先说服务器环境。我用的镜像是 Ubuntu 24.04 64 位,登录方式用 root 或带 sudo 的普通用户都行。第一步永远是更新包索引,这一步别省,否则后面apt install可能找不到包:
sudo apt update && sudo apt upgrade -y接着装编译工具链和 Python3。OpenClaw 安装过程中有些 npm 包需要本地编译,缺build-essential会直接失败,而失败日志有时是空的,很难排查:
sudo apt install -y build-essential python3 curl git装完可以验证一下版本,确认环境就绪:
node -v 2>/dev/null || echo "node 未安装,安装脚本会处理" python3 --version gcc --version | head -n 1如果node没装不用慌,官方安装脚本会自动装 Node.js。但 Python3 和 gcc 建议提前装好,这是我从三次失败里总结出来的经验:第一次直接跑脚本,卡在编译;第二次换了 npm 镜像源还是失败;第三次先补build-essential python3才成功。
然后是 TaoToken 的 Key。打开官网https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,注册登录后进入控制台,在 API Keys 页面创建一个新 Key。这个 Key 就是后面填进 OpenClaw 的凭证,格式通常是一串sk-开头的字符串。创建后先复制保存,页面刷新后可能不再完整显示。
TaoToken 在这里扮演的是「统一模型通道」的角色。OpenClaw 支持配置多个模型提供商,但如果你每个提供商都要单独申请 Key、单独填 Base URL,管理起来很碎。用 TaoToken 的话,Base URL 统一填https://taotoken.net/api,Key 填你刚创建的那一个,模型 ID 按需选择即可。这样 OpenClaw 里只需要维护一份凭证。
需要提前确认的信息我列个表,方便你对照准备:
| 项目 | 值 | 说明 |
|---|---|---|
| Base URL | https://taotoken.net/api | 兼容 OpenAI 协议 |
| API Key | 控制台生成 | sk-开头 |
| Model ID | 按需选择 | 如对话类、编码类模型 |
| 服务器端口 | 18789 | OpenClaw 默认 Web UI 端口 |
| 系统依赖 | build-essential、python3 | 编译必需 |
把这些准备好,后面的安装和配置就会顺很多。特别提醒:Key 不要直接提交到 Git 仓库,后面我会用环境变量的方式引用。
3. 可复制的安装命令与模型接入配置
环境就绪后,执行官方安装脚本:
curl -fsSL https://openclaw.ai/install.sh | bash脚本运行过程中会出现几个交互选项。第一个选项问是否继续,用左右方向键选yes回车。第二个选项选QuickStart,这是最省事的模式。接着会让你选择大模型提供商,这里先随便选一个跳过也行,因为我们后面要手动改成 TaoToken 的配置。渠道和 skills 那一步选Skip for now,最后选Open the web UI。
安装完成后,终端会打印一段 Dashboard 链接和 SSH 隧道命令,类似这样:
Dashboard link (with token): http://127.0.0.1:18789/#token=XXXXXXXXXXXXXXXX ssh -N -L 18789:127.0.0.1:18789 root@xxx.xx.xx.xxx注意这里的 IP 是私网 IP,在本地 Windows 上是连不通的,需要把root@后面的地址改成服务器的公网 IP。改完后在本地终端执行这条 SSH 隧道命令,输入 root 密码,隧道就建好了。然后浏览器打开http://127.0.0.1:18789/#token=...就能看到 Web UI。
接下来是关键的模型接入配置。OpenClaw 的配置文件通常位于~/.openclaw/config.json或安装目录下的config文件夹,具体路径以安装脚本提示为准。我用的是 JSON 格式,把模型提供商指向 TaoToken:
{ "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "${TAOTOKEN_API_KEY}", "models": [ { "id": "your-model-id", "name": "TaoToken 统一通道模型", "provider": "taotoken" } ] } }, "defaultModel": "your-model-id" }这里apiKey用了环境变量${TAOTOKEN_API_KEY},避免明文写进配置文件。在服务器上设置环境变量:
export TAOTOKEN_API_KEY="sk-你的Key" echo 'export TAOTOKEN_API_KEY="sk-你的Key"' >> ~/.bashrc source ~/.bashrc如果你更习惯用 TOML 格式,OpenClaw 部分版本也支持,等价写法如下:
[providers.taotoken] baseUrl = "https://taotoken.net/api" apiKey = "${TAOTOKEN_API_KEY}" [[providers.taotoken.models]] id = "your-model-id" name = "TaoToken 统一通道模型" provider = "taotoken" [default] model = "your-model-id"配置里的三件套必须齐全:Base URL 填https://taotoken.net/api,Key 填 TaoToken 控制台生成的,Model ID 填你要用的模型标识。三者缺一,请求就会报错。改完配置后重启 OpenClaw 服务让配置生效:
openclaw restart如果命令不存在,用openclaw --help看下可用子命令,或者直接pkill -f openclaw后重新启动。重启后在 Web UI 里应该能看到新配置的模型出现在下拉列表里。
4. 验证请求与成功结果确认
配置改完,最怕的是「看起来配好了但请求不通」。所以别急着在 UI 里点对话,先用命令行做一次最小化验证。OpenClaw 一般会提供 CLI 调用方式,或者你可以直接用 curl 打 TaoToken 的接口,确认 Key 和 Base URL 本身是通的:
curl -s https://taotoken.net/api/v1/models \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" | head -c 500如果返回一段包含模型列表的 JSON,说明 Key 和通道没问题。如果返回 401,说明 Key 错了或没生效;如果返回连接超时,检查服务器出网是否正常。
接着在 OpenClaw 里发一条测试消息。打开 Web UI,在对话框输入「你好,请回复一句话」,观察返回。成功的话你会看到模型正常回复,同时服务器终端可能有请求日志。我实测下来,第一次请求偶尔会慢几秒,因为要建立连接,之后就正常了。
如果你想更严谨地验证,可以看 OpenClaw 的日志文件,通常在~/.openclaw/logs/下:
tail -f ~/.openclaw/logs/*.log在 UI 里发消息的同时观察日志,能看到请求的 URL、状态码和耗时。如果日志里出现reading choices相关的报错,多半是返回结构解析问题,通常是 Base URL 末尾多了或少了/v1导致的。TaoToken 的 Base URL 用https://taotoken.net/api即可,OpenClaw 会自动拼接路径。
成功的结果应该满足这几点:UI 里模型下拉框能选到 TaoToken 的模型;发消息有正常回复;日志里状态码是 200;没有local proxy failed之类的报错。这四条都过了,说明部署和接入都成功了。
顺便说下端口和防火墙。OpenClaw 默认监听127.0.0.1:18789,只允许本机访问,这是安全的默认值。我们通过 SSH 隧道访问,不需要在云服务器安全组里开放 18789 端口。如果你非要直接暴露,务必加认证,否则等于把控制台公开在公网上,风险很大。
5. 卸载 OpenClaw 与残留清理排查
学习阶段难免要重装,卸载干净很重要。官方文档给的两个命令是:
openclaw uninstall npm rm -g openclaw先执行openclaw uninstall,它会停掉服务、清理部分运行时数据。然后npm rm -g openclaw卸载全局 npm 包。但这两步之后,配置目录和缓存往往还在,重装时可能读到旧配置,导致「明明卸载了但行为还是旧的」。
我建议手动检查这几个位置:
ls -la ~/.openclaw 2>/dev/null ls -la ~/.config/openclaw 2>/dev/null ls -la /root/.openclaw 2>/dev/null npm ls -g --depth=0 | grep openclaw如果~/.openclaw还在,里面通常有config.json、logs/、data/等。确认不需要后删除:
rm -rf ~/.openclaw rm -rf ~/.config/openclaw再检查有没有残留进程:
ps aux | grep -i openclaw | grep -v grep有的话用kill -9 <PID>结束。端口也要确认释放:
ss -tlnp | grep 18789没有输出说明端口已释放。最后确认全局包真的没了:
which openclaw || echo "openclaw 已卸载"这里列几个卸载和重装时常见的报错,对照排查:
| 报错/现象 | 原因 | 处理 |
|---|---|---|
401 Unauthorized | Key 错误或未生效 | 重新source ~/.bashrc,确认环境变量 |
local proxy failed | 出网异常或 Base URL 错 | 检查https://taotoken.net/api是否可达 |
reading choices解析失败 | 返回结构不匹配 | 确认 Base URL 不带多余/v1 |
| OAuth 授权卡住 | 选错了提供商模式 | 改用 API Key 模式,填 TaoToken |
| 重装后配置仍旧 | 残留目录未删 | 删~/.openclaw后重装 |
| 端口 18789 被占用 | 旧进程未退出 | kill旧进程再启动 |
卸载完想重装,直接回到第 3 节的安装命令即可,流程一致。我建议每次重装前都跑一遍上面的残留检查,能省掉很多「为什么配置不生效」的困惑。
6. 长期使用建议与统一 Key 接入入口
如果你只是偶尔体验,按前面的流程走一遍就够了。但如果打算长期在服务器上跑 OpenClaw,把它当成日常的 AI 控制台,有几个点值得注意。
第一,Key 的管理。用 TaoToken 统一通道的好处是一个 Key 管所有模型,但也要注意别把 Key 写死在配置文件里。用环境变量或系统的 secret 管理方式,换 Key 时只改一处。第二,日志和磁盘。OpenClaw 的日志会持续增长,2 核 2G 的小机器磁盘有限,建议定期清理~/.openclaw/logs/下的旧日志,或者配置日志轮转。第三,服务保活。默认启动方式在 SSH 断开后可能退出,长期运行建议用systemd或tmux托管,具体方式看 OpenClaw 文档里的服务化说明。
模型接入这块,TaoToken 的入口我整理一下,方便你按需取用。需要生成和管理 Key 的去 API Keys 页面;想先在线试试模型效果的用模型对话;打算长期跑编码或 Agent 任务的看 Coding Plan;接入过程中遇到问题查接入文档。这几个入口分别对应不同阶段的需求,不用一上来就全配齐。
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
- 模型对话体验:https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
- Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
最后说个实用技巧:重装 OpenClaw 之前,先把~/.openclaw/config.json备份出来,卸载清理完再放回去,这样模型配置不用重新填。但前提是你确认旧配置没问题,否则会把之前的错误一起带回来。我一般会在备份文件名里加日期,比如config.json.bak.20250101,方便回溯。整套流程走下来,从裸机到可用大概十几分钟,卸载清理也就两三分钟,关键是别漏掉残留目录那一步。