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_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 。我试过在一台 2C2G 的 Ubuntu 20.04 上从零走一遍最容易翻车的不是 OpenClaw 本身而是 Node 版本和 npm 源。下面按顺序来每一步都给命令和预期输出。2. 前置准备Node 22.22.3、npm 镜像与 TaoToken Key2.1 系统依赖先补齐纯终端环境缺编译工具会导致后面 npm 装包失败先跑一遍sudo apt update sudo apt upgrade -y sudo apt install -y build-essential curl git python3 libssl-dev pkg-configlibssl-dev和pkg-config是很多 Node 原生模块编译时要用的别省。2.2 Node 必须 ≥ 22.22.3OpenClaw 对 Node 版本有硬要求低于 22.22.3 会在启动时报版本不满足。用国内镜像下载 amd64 包cd ~ wget https://npmmirror.com/mirrors/node/v22.22.3/node-v22.22.3-linux-x64.tar.xzwget 超时就换 curlcurl -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 -vnode -v必须输出v22.22.3不是这个版本就别往下走。npm 源也换成国内镜像否则装 OpenClaw 会卡在拉包npm config set registry https://registry.npmmirror.com2.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_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。3. 可复制配置OpenClaw 指向 TaoToken 的 settings 片段3.1 安装 OpenClaw 并初始化npm install -g openclaw openclaw --version如果提示command not found执行source ~/.bashrc或重开终端。版本能打印出来就继续初始化openclaw onboard --install-daemon向导里用方向键选择、回车确认安装 systemd 网关选 yesQuickStart 快速配置选 QuickStart模型来源这一步先随便选一个占位后面我们直接改配置文件覆盖Discord/Telegram 通道直接跳过确认生成默认工作区~/.openclaw/workspace。3.2 把模型 endpoint 和 Key 统一改到 TaoTokenOpenClaw 的模型配置在~/.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/apiKey 是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 restartWorkboard 是插件形式启用后 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 与 Workboardopenclaw 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 卡片IDWeb 面板在http://localhost:18789服务器无图形界面时用 SSH 端口转发到本地浏览器看ssh -L 18789:localhost:18789 你的用户服务器IP本地浏览器打开http://localhost:18789左侧能看到 Workboard 标签和任务卡片就说明整套部署完成。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth5.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 swapsudo 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/fstabNode 版本不满足就回到 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_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 接入细节和字段说明在文档里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。最后留一个实用习惯每次改完配置先跑curl打一次v1/models再openclaw doctor最后openclaw gateway restart。这个顺序能把「Key 问题」和「OpenClaw 配置问题」分开排障时间能省一大半。