Ubuntu 20.04 LTS 纯终端部署 OpenClaw + Workboard 工作看板:TaoToken 统一 Key 接入与验证

发布时间:2026/10/25 15:47:50
Ubuntu 20.04 LTS 纯终端部署 OpenClaw + Workboard 工作看板:TaoToken 统一 Key 接入与验证

1. 先把问题说清楚:纯终端里跑 OpenClaw + Workboard 到底卡在哪

Ubuntu 20.04 LTS 服务器没有桌面环境,很多人第一次装 OpenClaw 会卡在三个地方:Node 版本不够、npm 拉包超时、模型 endpoint 和 Key 散落在多个配置文件里改不干净。这篇就按「能复制、能自检、能跑起来」的思路,把 OpenClaw 和它内置的 Workboard 工作看板在纯终端里部署完,并且把模型调用统一收敛到 TaoToken 的 endpoint 和 Key 上。

OpenClaw 是一个带网关(gateway)的本地智能体运行环境,自带 Workboard 任务看板插件,适合把「待办 → 执行 → 复核 → 完成」这条链路放在一个 Web 面板里管理。Workboard 就是它的看板模块,可以在浏览器里拖任务卡片,也能用openclaw workboard命令行操作。适合谁?适合手上有一台 2G 内存以上的 Ubuntu 服务器、想用命令行把智能体工作流跑起来、又不想在每台机器上分别维护多家模型 Key 的人。

TaoToken 在这里的角色很单纯:它提供统一的模型调用 endpoint 和 API Key,你只要把 OpenClaw 里指向模型服务的那一段改成 TaoToken 的地址和 Key,后面换模型、加模型都不用动 OpenClaw 本体。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。

我试过在一台 2C2G 的 Ubuntu 20.04 上从零走一遍,最容易翻车的不是 OpenClaw 本身,而是 Node 版本和 npm 源。下面按顺序来,每一步都给命令和预期输出。

2. 前置准备:Node 22.22.3、npm 镜像与 TaoToken Key

2.1 系统依赖先补齐

纯终端环境缺编译工具会导致后面 npm 装包失败,先跑一遍:

sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential curl git python3 libssl-dev pkg-config

libssl-dev和pkg-config是很多 Node 原生模块编译时要用的,别省。

2.2 Node 必须 ≥ 22.22.3

OpenClaw 对 Node 版本有硬要求,低于 22.22.3 会在启动时报版本不满足。用国内镜像下载 amd64 包:

cd ~ wget https://npmmirror.com/mirrors/node/v22.22.3/node-v22.22.3-linux-x64.tar.xz

wget 超时就换 curl:

curl -L https://npmmirror.com/mirrors/node/v22.22.3/node-v22.22.3-linux-x64.tar.xz -o node-v22.22.3-linux-x64.tar.xz

解压并放到系统目录:

tar -xf node-v22.22.3-linux-x64.tar.xz sudo mv node-v22.22.3-linux-x64 /usr/local/node22 echo 'export PATH=/usr/local/node22/bin:$PATH' >> ~/.bashrc source ~/.bashrc node -v npm -v

node -v必须输出v22.22.3,不是这个版本就别往下走。npm 源也换成国内镜像,否则装 OpenClaw 会卡在拉包:

npm config set registry https://registry.npmmirror.com

2.3 拿 TaoToken 的 Key 和 endpoint

登录 TaoToken 控制台,在 API Keys 页面创建一个 Key,记下形如sk-xxxx的字符串。模型调用基址统一用https://taotoken.net/api。这里有两个地址要分清:官网是带 UTM 的推广入口,API 基址不带 UTM,配置里只写 API 基址。

注意:Key 只显示一次,创建后立刻复制到本地密码管理器,别贴在聊天窗口里。

模型 ID 在模型对话页面能看到当前可用的列表,先记一个你打算用的,比如对话类或代码类模型 ID,后面写进配置。控制台入口:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ;API Keys 页面:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。

3. 可复制配置:OpenClaw 指向 TaoToken 的 settings 片段

3.1 安装 OpenClaw 并初始化

npm install -g openclaw openclaw --version

如果提示command not found,执行source ~/.bashrc或重开终端。版本能打印出来就继续初始化:

openclaw onboard --install-daemon

向导里用方向键选择、回车确认:安装 systemd 网关选 yes;QuickStart 快速配置选 QuickStart;模型来源这一步先随便选一个占位(后面我们直接改配置文件覆盖);Discord/Telegram 通道直接跳过;确认生成默认工作区~/.openclaw/workspace。

3.2 把模型 endpoint 和 Key 统一改到 TaoToken

OpenClaw 的模型配置在~/.openclaw/下的配置文件里。先看目录结构:

ls -la ~/.openclaw/

找到模型相关的配置文件(通常是config.json或settings.json,以实际文件名为准),用编辑器打开,把 provider 段改成下面这种结构。下面是一个可复制的 JSON 片段,字段名按你本地文件里已有的键对齐,值换成 TaoToken 的:

{ "models": { "default": "你的模型ID", "providers": { "taotoken": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "你的模型ID" } } } }

三个关键件必须同时写全,缺一个都会在请求时报错:Base URL 是https://taotoken.net/api,Key 是sk-开头那串,Model ID 是你在模型对话页面看到的那个标识。如果你的配置文件是 TOML 格式,等价写法是:

[models] default = "你的模型ID" [models.providers.taotoken] baseUrl = "https://taotoken.net/api" apiKey = "sk-你的TaoTokenKey" model = "你的模型ID"

改完保存,重启网关让配置生效:

openclaw gateway restart systemctl --user status openclaw-gateway

看到绿色active (running)就说明网关起来了。如果状态是 failed,先跑openclaw doctor看它报哪一段。

3.3 启用 Workboard 看板

openclaw plugins enable workboard openclaw gateway restart

Workboard 是插件形式,启用后 Web 管理面板左侧会出现看板标签。纯终端里也能直接用命令行管任务,不依赖浏览器。

4. 验证请求:curl 打通模型调用与看板自检

4.1 先用 curl 验证 TaoToken 这条链路

在动 OpenClaw 之前,先用 curl 确认 Key 和 endpoint 是通的,这样出问题能快速定位是网络、Key 还是 OpenClaw 配置:

curl -s https://taotoken.net/api/v1/models \ -H "Authorization: Bearer sk-你的TaoTokenKey"

返回里能看到模型列表就说明 Key 有效、endpoint 可达。如果返回 401,就是 Key 写错或过期;如果超时,先检查服务器出网和 DNS。

再发一条最小的对话请求验证模型真的能回:

curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{"model":"你的模型ID","messages":[{"role":"user","content":"ping"}]}'

返回 JSON 里有choices字段且内容非空,就说明模型调用链路完全打通。这一步过了,OpenClaw 里再报错就基本是它自己的配置问题。

4.2 验证 OpenClaw 与 Workboard

openclaw doctor

这条是环境自检,任何报错优先看它的输出。然后验证看板命令:

openclaw workboard list openclaw workboard create "自动化脚本开发" --notes "读取 CSV 并输出报表" --priority high openclaw workboard list

创建后list能看到新卡片就说明 Workboard 正常。再试状态流转:

openclaw workboard move <卡片ID> --status doing openclaw workboard show <卡片ID>

Web 面板在http://localhost:18789,服务器无图形界面时用 SSH 端口转发到本地浏览器看:

ssh -L 18789:localhost:18789 你的用户@服务器IP

本地浏览器打开http://localhost:18789,左侧能看到 Workboard 标签和任务卡片,就说明整套部署完成。

5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth

5.1 401 Unauthorized

最常见。先确认 curl 那条v1/models是否也 401。如果 curl 通、OpenClaw 报 401,说明配置文件里的 Key 没生效:检查 JSON 里apiKey是否被引号包住、有没有多余空格、改完是否执行了openclaw gateway restart。如果 curl 也 401,去 API Keys 页面确认 Key 状态,必要时新建一个。

5.2 local proxy failed

这个报错通常出现在网关尝试转发模型请求时。先看systemctl --user status openclaw-gateway的日志尾部,再确认baseUrl写的是https://taotoken.net/api而不是官网地址。把官网推广链接误填进 baseUrl 是高频错误,两者不是一回事。

5.3 reading choices 相关报错

返回体里读不到choices,一般是模型 ID 写错或该模型不支持当前请求格式。用 curl 单独打一次chat/completions,对比返回结构;如果 curl 正常而 OpenClaw 报错,检查配置文件里model字段和default是否一致。

5.4 OAuth 相关报错

OpenClaw 某些通道会走 OAuth 流程,纯终端里没有浏览器回调会失败。部署阶段先把 Discord/Telegram 通道跳过,只保留本地网关和 Workboard,等模型链路稳定后再单独配通道。遇到 OAuth 报错不要反复重试,先确认当前步骤是否真的需要它。

5.5 内存不足与 Node 版本

2G 内存机器在 npm 安装阶段可能被 OOM kill,加 2G swap:

sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Node 版本不满足就回到 2.2 节确认node -v输出,别用系统 apt 自带的旧版本。

6. 后续怎么用:把 Key 收敛到一处,看板长期跑

部署完成后,日常维护其实就三件事:网关保活、看板任务流转、模型 Key 统一管理。网关开机自启用loginctl enable-linger $USER加systemctl --user enable openclaw-gateway,这样退出 SSH 也不停。看板任务用openclaw workboard系列命令或 Web 面板都行,团队里多人协作时 Web 面板更直观。

模型这块,因为 endpoint 和 Key 都收敛到 TaoToken 一处,后面想换模型只改配置文件里的model字段,不用碰 OpenClaw 本体。需要长期跑编码类或 Agent 类任务时,可以看 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= 。

最后留一个实用习惯:每次改完配置,先跑curl打一次v1/models,再openclaw doctor,最后openclaw gateway restart。这个顺序能把「Key 问题」和「OpenClaw 配置问题」分开,排障时间能省一大半。