如何用GPUStack和OpenClaw搭建一个永不停止的本地AI助手?

摘要:关注🌟⌈GPUStack⌋ 💻一起学习 AI、GPU 管理与大模型相关技术实践。 这两年,越来越多团队把 AI 接入了日常工作流。 但很快,一个现实问题摆在了面前: 模型用得越
关注🌟⌈GPUStack⌋ 💻 一起学习 AI、GPU 管理与大模型相关技术实践。 这两年,越来越多团队把 AI 接入了日常工作流。 但很快,一个现实问题摆在了面前: 模型用得越多,Token 花得越快,成本和心理压力也随之上涨。 很多人一边依赖 AI 提效,一边又不得不「省着用」「少让它多想」。 到最后,AI 反而成了一种被精打细算的消耗品。 如果 AI 能跑在自己的 GPU 上, 不按 Token 计费、可以随时对话、长期运行在协作工具里, 它才更像一个真正的“工作助手”。 基于 GPUStack 提供的本地模型能力,结合 OpenClaw(支持 WhatsApp、Telegram、Discord、Slack、飞书等多种协作平台) 与飞书, 本文将一步步演示如何构建一个可真实使用、可持续运行、几乎不再关心 Token 消耗的本地 AI 助手。 📌 本文内容 使用 GPUStack 部署模型 飞书机器人应用创建与权限配置 OpenClaw 的安装、配置与关键注意事项 飞书侧首次授权与连通性测试 实战示例:让小助手给 GPUStack 项目标星 小助手内置指令说明 OpenClaw 实用命令与资源入口 一、使用 GPUStack 部署模型并准备接入信息 在接入 OpenClaw 之前,我们需要先在 GPUStack 中完成模型部署,并获取模型服务的访问信息。 本节将以 Qwen3.5-35B-A3B 为例,演示从 自定义推理后端 → 部署模型 → 获取接入信息 的完整流程。 1. 准备环境与版本说明 GPUStack 版本:v2.0.3 自定义推理后端镜像: swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:qwen3_5 模型权重:Qwen/Qwen3.5-35B-A3B ⚠️ OpenClaw 对模型上下文窗口有要求: 最小 16K,建议 128K 及以上。 2. 配置自定义推理后端(vLLM) 在 GPUStack 控制台中,进入: 「推理后端」→「编辑 vLLM」→「添加版本」 3. 部署 Qwen3.5-35B-A3B 模型 参数示例: --tensor-parallel-size=2 --mm-encoder-tp-mode data --mm-processor-cache-type shm --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder --speculative-config '{"method": "mtp", "num_speculative_tokens": 1}' 如果遇到: Error 803: system has unsupported display driver / cuda driver combination 可尝试添加环境变量: LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/nvidia/lib:/usr/lib/x86_64-linux-gnu 4. 获取 GPUStack 模型接入信息 需要记录以下三项: API Base URL Model ID API Key(在 GPUStack 中自行创建) 二、飞书应用配置 1. 账号说明 飞书 个人账号无法创建机器人应用。 需要使用 企业 / 组织身份,但个人用户也可以免费创建。 创建方式(桌面端): 飞书左下角「⋯」 → 登录更多账号 选择 创建新账户 角色选择 企业或组织负责人 创建完成后,按提示设置 姓名 与 企业 / 组织名称: 2. 创建企业自建应用 打开 https://open.feishu.cn/app?lang=zh-CN 登录企业 / 组织账号 点击 创建企业自建应用 填写应用名称与描述(图标可选) 3. 启用机器人能力 左侧菜单进入 添加应用能力 添加 机器人 能力 4. 批量导入权限 进入 权限管理 → 批量导入,使用以下 JSON 覆盖默认权限配置: { "scopes": { "tenant": [ "aily:file:read", "aily:file:write", "application:application.app_message_stats.overview:readonly", "application:application:self_manage", "application:bot.menu:write", "contact:contact.base:readonly", "contact:user.employee_id:readonly", "corehr:file:download", "event:ip_list", "im:chat.access_event.bot_p2p_chat:read", "im:chat.members:bot_access", "im:message", "im:message.group_at_msg:readonly", "im:message.p2p_msg:readonly", "im:message:readonly", "im:message:send_as_bot", "im:resource" ], "user": [ "aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read" ] } } ⚠️ 公众号中直接复制时,注意空格可能会被替换为 NBSP。 提交权限申请: ⚠️ 权限变更后必须创建并发布新版本,否则不生效。 记录 App ID / App Secret: 飞书侧还有一项配置,需要在接入 OpenClaw 后进行,后文说明。 三、安装并配置 OpenClaw 演示环境:Ubuntu 24.04 1. 一键安装 curl -fsSL https://openclaw.ai/install.sh | bash 脚本会自动安装 Node、Git 等依赖。 熟悉 Linux / Node 的用户, 推荐使用 fnm + pnpm 手动安装,Node 版本管理更清晰。 手动安装后需执行: openclaw onboard --install-daemon 2. 交互式配置向导 Model/Auth Provider 选择 Custom Provider (Any OpenAI or Anthropic compatible endpoint) 填写 GPUStack 的 API Base URL / API Key Channel 选择 Feishu / Lark 填写 App ID / App Secret, Group chat policy 建议选择: Open - respond in all groups (requires mention) 3. 手动调整上下文窗口(必做) OpenClaw 默认上下文长度为 4096,需手动修改。 vim ~/.openclaw/openclaw.json 本文示例中默认上下文长度被设成 4096,不同 OpenClaw 版本或模型下出现差异均属正常,无需深究。 重启网关: openclaw gateway restart 4. 设置飞书事件订阅方式(关键) 将 事件订阅方式 设置为 长连接,并添加 接收消息 事件: ⚠️ 修改后需 创建并发布新版本,否则机器人无法接收消息。 四、首次授权与测试 在飞书中向机器人发送消息 首次会提示 Pairing 授权 在服务器执行: openclaw pairing approve feishu <Pairing-Code> 如果出现反复授权,并提示: duplicate plugin id detected 可尝试: rm -rf ~/.openclaw/extensions/feishu openclaw gateway restart 五、实战示例:让机器人给 GPUStack 项目标星 1. 准备 GitHub PAT 使用 Tokens (classic) 勾选 repo 权限 2. 写入环境变量 vim ~/.openclaw/.env 重启: openclaw gateway restart 3. 飞书中发送指令 六、常用指令说明 /new:开启新会话 /status:查看 Bot 状态 /reset:重置上下文 /model:查看 / 切换模型 七、OpenClaw 实用命令与资源入口 常用 CLI 命令 openclaw logs --follow openclaw doctor openclaw gateway --help openclaw dashboard openclaw tui 文档与生态 📘 https://docs.openclaw.ai 🌐 https://clawhub.ai 结语:当 AI 成为基础设施,而不是消耗品 回过头看,Token 焦虑的本质,并不是模型贵,而是 AI 被当成了一种“外部消耗资源”。 当模型运行在云端、能力掌握在别人手里时, 我们习惯于精打细算、限制使用、控制调用频率。 而当模型真正跑在自己的 GPU 上, 当推理能力、上下文和工具调用都变成基础设施的一部分, AI 的角色也随之发生了变化—— 它不再是一次次付费调用的 API, 而是一个随时可用、长期在线、持续演进的工作助手。 这正是 GPUStack 与 OpenClaw 组合所带来的意义: 让 AI 从“成本项”,回归为“生产力”。 如果你已经拥有 GPU 资源, 不妨亲手试一次,把 AI 真正接进你的日常工作流里。 当你不再关心 Token 的时候, 你才会真正开始用好 AI。 🙌 加入 GPUStack 社区 如果你已经开始使用 GPUStack, 或者正在探索 本地大模型 / GPU 资源管理 / AI Infra, 欢迎加入我们的社区交流群,一起交流实践经验、踩坑记录与最佳方案。 👉 社区入口(持续更新) https://github.com/gpustack/gpustack/blob/main/docs/assets/wechat-group-qrcode.md