
1. 为什么要在单台 Lighthouse 上跑 OpenClaw 全栈工作流OpenClaw 是 2026 年开源 AI Agent 框架里热度最高的一个GitHub Star 已经突破 31 万。它能做什么简单说它把「消息通道 大模型 工具调用 定时任务」串成一条流水线你对着聊天窗口说一句话背后可以触发模型推理、文件读写、浏览器操作、邮件发送。适合谁适合手里有一台闲置云服务器、想把日常重复劳动交给 Agent 的开发者也适合想低成本验证 AI 工作流的产品同学。但网上大多数教程停在「安装完成」这一步。装完之后怎么和腾讯云生态打通、怎么把 QClaw Bot 和 LKEAP 接进来、怎么让整条链路稳定跑两个月几乎没人写。我手里正好有一台腾讯云 Lighthouse 轻量应用服务器2 核 2G、50G SSD、Ubuntu 24.04就用它把 OpenClaw 全栈工作流跑了起来OpenClaw 做中枢QClaw Bot 做 IM 入口LKEAP 做低延迟模型源再挂上 QQ Bot、WebHook、cron 定时任务支撑 20 多个站点和 10 多个后端服务。这篇文章交付的是可复制路径Lighthouse 初始化脚本、OpenClaw 配置片段、QClaw Bot 接入命令、LKEAP 挂载 JSON、端到端验证动作以及我踩过的真实报错。你照着做能在自己的实例上复现从环境准备到工作流跑通的全过程。先说硬件账。2G 内存跑 Node.js Gateway MySQL Nginx 刚好够50G SSD 放日志、配置和浏览器缓存也没问题。两个月下来的真实占用Gateway 进程约 777MBNode.js v22.22.1Chromium 实例约 150MBPlaywright7 个子进程MySQL 约 50MBNginx PHP-FPM 约 30MB可用内存还剩 469Mi。这个数字说明一件事单台 Lighthouse 撑 AI 全栈工作流不是勉强是够用。架构上分三层。底层是腾讯云 Lighthouse 实例提供计算和网络中间是 OpenClaw Gateway监听 20071 端口做 Token 认证和消息路由上层是通道和模型QClaw Bot 接腾讯 IMQQ Bot 接 QQ 开放平台LKEAP 走腾讯云内网提供模型推理DeepSeek 和豆包做兜底。整条链路里QClaw 的消息通过 Gateway 路由到 LKEAP 模型全程在腾讯云体系内延迟极低。2. TaoToken 前置模型接入与 Key 管理在把 OpenClaw 跑起来之前得先解决模型从哪来的问题。OpenClaw 本身不生产模型它是个调度中枢需要你给它配模型源。我试过几种方案最后收敛成「主力 备选 低延迟」三引擎并行。这里要提一个很多教程忽略的环节模型 API 的 Key 管理和统一接入。如果你同时用多个模型源每个源一套 Key、一套 Base URL、一套模型 ID配置散落在不同文件里排查问题时非常痛苦。我的做法是用 TaoToken 做统一接入层把模型对话、Coding Plan、API Key 管理集中在一个控制台里。TaoToken 官网是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。它的定位是模型接入与 Key 管理平台不是替代编辑器也不是灰色中转。你可以把它理解成一个「模型网关」上游接多个模型源下游给你的应用一个统一的 Base URL 和 Key。具体怎么用先在控制台创建 API Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。创建完 Key 之后在 OpenClaw 的模型配置里把 Base URL 指向 TaoToken 的 API 地址模型 ID 填你实际要调用的模型。这样 OpenClaw 只需要认一个入口后面换模型、加模型都不用改 OpenClaw 的配置。如果你主要做长期编码或者 Agent 类任务可以看 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它适合需要持续调用模型、对成本敏感的场景。如果只是想先验证模型能不能通用模型对话页面最快地址是 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 直接在网页里发一条消息看返回是否正常。API Key 的管理页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。我建议先把文档过一遍特别是 Base URL 和 Model ID 的对应关系后面配 OpenClaw 的时候直接抄。这里有个关键点OpenClaw 的模型配置支持 OpenAI 兼容格式所以 TaoToken 的 API 可以直接作为openai-completions类型的源接进去。你不需要改 OpenClaw 的代码只需要在配置文件里加一段 JSON。这也是我选 TaoToken 做统一接入的原因——它不绑定特定框架OpenClaw、Cline、Claude Code 都能用同一套 Key。配好 Key 之后先别急着接 OpenClaw用 curl 验证一下模型通不通。这一步能帮你排除掉 80% 的「连不上」问题。验证命令在下一节给。3. 可复制配置Lighthouse 初始化 OpenClaw QClaw Bot LKEAP这一节是全文的核心所有配置都可以直接抄。我按「系统初始化 → OpenClaw 安装 → 模型配置 → QClaw Bot 接入 → LKEAP 挂载 → Nginx 反代」的顺序来。3.1 Lighthouse 初始化脚本拿到 Lighthouse 实例后第一件事是更新系统、装基础依赖、配 swap。2G 内存的机器swap 是保命的东西。#!/bin/bash # Lighthouse 初始化脚本 set -e # 1. 更新系统 apt update apt upgrade -y # 2. 装基础依赖 apt install -y curl wget git build-essential nginx mysql-server \ iptables-persistent fail2ban # 3. 配 swap2G 内存必做 fallocate -l 4G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo /swapfile none swap sw 0 0 /etc/fstab # 4. 验证 free -h df -h /跑完这个脚本你的 Lighthouse 就有了 Node.js 编译环境、Nginx、MySQL、防火墙和 fail2ban。swap 我给了 4G实际用下来峰值到过 9.9G 扩展交换分区但日常 4G 够。3.2 安装 OpenClaw两种方式我推荐第二种。方式一是一键脚本curl -fsSL https://get.openclaw.ai | sh优点是自动处理依赖和 systemd 服务缺点是路径不可控出问题不好排查。方式二是 pnpm 全局安装我实际用的就是这个npm install -g pnpm pnpm add -g openclaw openclaw --version输出应该是OpenClaw 2026.6.1 (2e08f0f)。版本管理方便升级回滚简单。注意装完后需要手动配 Gateway 自启动这个后面讲。3.3 OpenClaw 模型配置片段OpenClaw 的配置文件在~/.openclaw/openclaw.json。模型部分我配了三个源下面是可直接复制的 JSON 片段{ models: { providers: { taotoken: { baseUrl: https://taotoken.net/api, api: openai-completions, apiKey: sk-你的TaoTokenKey, models: [ { id: deepseek-v4-pro, name: DeepSeek V4 Pro }, { id: deepseek-v4-flash, name: DeepSeek V4 Flash } ] }, qcloudlkeap: { baseUrl: https://api.lkeap.cloud.tencent.com/v1, api: openai-completions, apiKey: 你的LKEAPKey, models: [ { id: deepseek-v3.2, name: DeepSeek V3.2 }, { id: deepseek-r1-0528, name: DeepSeek R1 0528 } ] }, doubao: { baseUrl: https://ark.cn-beijing.volces.com/api/v3, api: openai-completions, apiKey: 你的豆包Key, models: [ { id: doubao-seed-2-0-pro, name: Doubao Seed 2.0 Pro }, { id: doubao-seed-code-preview, name: Doubao Seed Code } ] } } } }注意baseUrl和api两个字段必须匹配。TaoToken 和 LKEAP 都是 OpenAI 兼容格式所以api填openai-completions。如果你用的是 Claude Code 或者 Anthropic 格式的源api要改成对应的值具体看接入文档。3.4 QClaw Bot 接入QClaw Bot 是腾讯出品的 IM 即时通信 AI 助手插件接入体验是鹅厂级别的开箱即用。一条命令完成安装、配置、注册bash (curl -fsSL https://cdn.qclaw.qq.com/qclaw_miniapp/qclaw/install.sh) \ --bot-token appId:appSecretappId和appSecret从 QClaw 开放平台拿。对比其他通道钉钉需要开放平台创建应用、配置回调、验证 Token微信需要公众号后台多步操作。QClaw 这条命令下去基本就完事了。QClaw Bot 的核心能力包括私聊流式回复WebSocket 长连接打字机效果、消息自动合并短时间多条消息合并再发给 AI省 token、媒体消息收发图片/语音/视频/文件、定时提醒自然语言创建5m/1h30m/2d/cron、技能管理安装/查看/删除 AI 技能。3.5 LKEAP 挂载LKEAP 是腾讯云的模型 API 平台走腾讯云内网。如果你 Lighthouse 和 LKEAP 在同一区域延迟几乎可以忽略。实测对比模型源延迟说明LKEAP腾讯云内网 5ms同区域最佳DeepSeek 官方 API30~50ms公网豆包火山引擎15~25ms国内公网LKEAP 的配置已经在 3.3 的 JSON 里了baseUrl是https://api.lkeap.cloud.tencent.com/v1。挂载完成后QClaw 通道的消息通过 OpenClaw Gateway 路由到 LKEAP 模型整条链路都在腾讯云体系内。3.6 Nginx 反代配置OpenClaw Gateway 监听 20071 端口用 Nginx 做反代解决端口限制、SSL、安全隔离三合一server { listen 80; server_name openclaw.example.com; location / { proxy_pass http://127.0.0.1:20071; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } }Upgrade和Connection两个头是 WebSocket 长连接必须的少了 QClaw 的流式回复会断。4. 验证请求与成功结果配置写完必须验证。我按「模型通 → Gateway 通 → QClaw 通 → 端到端通」四步来。4.1 验证模型 API先用 curl 直接打 TaoToken 的 API确认 Key 和 Base URL 没问题curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoTokenKey \ -H Content-Type: application/json \ -d { model: deepseek-v4-flash, messages: [{role: user, content: 回复 OK}] }正常返回里会有choices[0].message.content内容是OK。如果返回 401说明 Key 错了如果返回model not found说明模型 ID 填错了。4.2 验证 OpenClaw Gatewayopenclaw status openclaw doctoropenclaw status会列出当前活跃的 Agent、会话、通道。openclaw doctor会检查配置文件和依赖有问题会提示--fix。4.3 验证 QClaw Bot在 QClaw 私聊窗口发一条消息我: 帮我查一下现在服务器内存占用 QClaw: [流式回复] 当前内存占用...如果收到流式回复说明 QClaw → Gateway → 模型 → 回复这条链路通了。4.4 验证定时任务通过 QClaw Bot 用自然语言创建定时任务我: 每天下午 6 点发邮件汇报系统状态 QClaw: 已创建定时任务每天 18:00 发送邮件汇报然后查看任务列表我: 查看我的定时任务 QClaw: 当前定时任务 每天 18:00 — 发送邮件汇报 每周日 3:00 — 清理日志 ...4.5 验证成功结果跑通后openclaw status的输出应该类似Active Agents: 2 Active Sessions: 13 Scheduled Tasks: 6 Channels: 8两个月运行下来的真实数据活跃 Agent 2 个活跃会话 13 个定时任务 6 个消息通道 8 个在线站点 20 个后端服务 10 个Cache 命中率 47%~99%QClaw 最高端口从 22 个缩减到 4 个。5. 本篇常见错排查这一节列我实际踩过的报错对照着排查。5.1 401 Unauthorized报错401 Unauthorized或invalid api key。原因Key 错了、Key 过期、或者 Base URL 和 Key 不匹配。如果你用 TaoToken 的 Key 去打 LKEAP 的地址就会 401。排查先用 4.1 的 curl 命令单独验证 Key。确认 Key 对应的 Base URL 是https://taotoken.net/api不是别的。5.2 local proxy failed报错local proxy failed或connection refused。原因OpenClaw Gateway 没起来或者 Nginx 反代配错了。排查systemctl --user status openclaw-gateway ss -tlnp | grep 20071如果 Gateway 没起来先systemctl --user start openclaw-gateway。如果端口没监听检查~/.openclaw/openclaw.json里的端口配置。5.3 reading choices 报错报错error reading choices或unexpected response format。原因模型返回的 JSON 格式和 OpenClaw 预期的不一致。常见于api字段填错比如把openai-completions填成了anthropic。排查确认api字段和模型源匹配。TaoToken、LKEAP、豆包都是openai-completions。5.4 OAuth 相关报错报错OAuth token expired或refresh token failed。原因如果你用 Claude Code 或者 Anthropic 的 OAuth 接入token 会过期。排查重新走一遍 OAuth 授权流程。如果用 TaoToken 的 API Key 模式不会有这个问题。5.5 CC Switch / Cline MCP / Codex auth.json 三件套如果你用 CC Switch、Cline MCP 或者 Codex配置里必须写全三件套Base URL、Key、Model ID。少一个都会报错。以 Codex 的auth.json为例{ base_url: https://taotoken.net/api, api_key: sk-你的TaoTokenKey, model: deepseek-v4-flash }Cline MCP 的配置类似在 MCP 设置里填这三个字段。CC Switch 也是。5.6 Nginx location 优先级报错前端请求被当成 API 发到后端。原因Nginx location 匹配优先级搞错了。优先级从高到低是精确 ^~前缀禁止正则~正则 普通前缀。# 被正则 ~ .php$ 抢先匹配 location /sub-path/ { ... } # 用 ^~ 禁止正则覆盖 location ^~ /sub-path/ { ... }5.7 内存碎片报错Gateway 跑几天后内存涨到 1G响应变慢。原因Node.js 内存碎片。排查加一个每周重启的 cron0 3 * * 0 openclaw gateway restart5.8 飞书多账号报错channels.lightclawbot: accounts.default is missing。原因飞书多账号配置里没指定默认账号。排查在accounts里加default字段。5.9 SMTP 被封报错邮件发送失败SMTP 返回 550。原因短时间内多次测试邮件被邮箱服务商封了。排查换腾讯企业邮smtp.qcloudmail.com:465稳定很多。5.10 插件 TS 未编译报错插件加载失败提示 TS 文件未编译。排查openclaw doctor --fix会自动清理过期配置和未编译的插件。6. 长期编码与 Agent 场景的 CTA跑通之后你可能会想把这套工作流用在长期编码或者 Agent 任务上。这里给几个方向。如果你主要做长期编码比如让 Agent 持续帮你写代码、审查 PR、跑测试建议看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。它适合需要持续调用模型、对成本敏感的场景。如果你还在验证阶段想先确认模型能不能通用模型对话页面最快https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。直接在网页里发消息看返回。如果你要管理多个 Key、多个模型源API Keys 页面在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 配 OpenClaw 之前先过一遍。最后说几个我实际用下来的经验。第一QClaw Bot LKEAP 是鹅厂生态的最优入口安装体验丝滑延迟极低日常高频使用。第二多模型兜底比单模型稳太多DeepSeek Pro 主力 Flash 日常 LKEAP 高频 豆包备选任何一个挂了都不影响。第三Nginx 反代是必需品解决端口限制、SSL、安全隔离三合一。第四安全左移要制度化上线即审计端口/CORS/鉴权一条龙。第五cron Agent 是最好的自动化搭子自然语言设任务每天自动执行。一台 2G 内存的 Lighthouse 开源 OpenClaw 鹅厂生态产品一个人也能撑起一支技术团队。OpenClaw 版本 2026.6.1部署于腾讯云 Lighthouse2C2GUbuntu 24.04QClaw Bot v1.0.14。