1. NAS 上跑 OpenClaw 接飞书卡点到底在哪如果你手上有一台群晖、威联通或者绿联这类 NAS想让它变成一个能读文件、能跑命令、还能在飞书里跟你对话的私人助理OpenClaw 是目前比较顺手的选择。它本身是一个跑在 Node.js 上的 Agent 网关支持把飞书、Telegram、Discord 等聊天渠道接进来你在飞书里发一句话NAS 上的 Agent 就去执行任务。听起来很美好但真正动手时大部分人会在三个地方卡住Node.js 版本不够、飞书回调配不通、模型 API Key 散落在各个配置文件里不好管。这篇就聚焦在 NAS 部署 OpenClaw 并接入飞书这条链路上重点解决「统一 Key 配置」这件事。我会给出一份可以直接复制的config.toml骨架把模型通道收敛到 TaoToken 的统一 Key 上再带你走一遍飞书回调的验证动作。目标很明确让你在 NAS 环境里把 OpenClaw 到飞书的完整链路跑通而不是停在「装完了但发消息没反应」的状态。适合谁看有基础 Linux 命令经验、NAS 能开 SSH、愿意花半小时折腾的玩家。不需要你懂大模型原理但需要你能照着敲命令、看日志。下面所有命令默认在 NAS 的 SSH 终端里执行涉及系统级操作的地方我会提醒你加sudo。2. 前置准备Node.js 环境与 TaoToken 统一 KeyOpenClaw 对 Node.js 版本有硬性要求必须大于等于 22实测 24.x 更稳。很多 NAS 自带的 Node 版本停留在 16 或 18直接装 OpenClaw 会在启动时报语法错误。所以第一步是确认版本不够就升级。node -v # 如果输出 v16.x 或 v18.x就需要升级升级方式有两种。用包管理器的方式适合 Debian/Ubuntu 底子的 NASsudo apt update curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash - sudo apt-get install -y nodejs node -v有些 NAS 系统对新增软件源的优先级处理比较特殊装完node -v还是旧版本。这时候可以改用二进制包方式不依赖 aptmkdir -p ~/apps cd ~/apps wget https://npmmirror.com/mirrors/node/v24.14.0/node-v24.14.0-linux-x64.tar.xz tar -xf node-v24.14.0-linux-x64.tar.xz mv node-v24.14.0-linux-x64 node-v24 echo export PATH$HOME/apps/node-v24/bin:$PATH ~/.bashrc source ~/.bashrc node -v npm -v版本确认没问题后配置 npm 国内镜像加速再装 OpenClawnpm config set registry https://registry.npmmirror.com npm install -g openclawlatest openclaw --version接下来是这篇的重点统一 Key。OpenClaw 支持多种模型提供方如果你每个渠道都单独填一套 Key后面换模型、加渠道时会非常乱。TaoToken 的做法是给你一个统一的 API 通道和 KeyOpenClaw 只需要指向这个通道模型切换在服务端完成本地配置不用动。你需要先去 TaoToken 控制台创建一个 API Key。地址是https://taotoken.net/api登录后在 API Keys 页面生成。拿到 Key 之后先别急着填进 OpenClaw我们下一步在配置文件里统一处理。注意API Key 属于敏感凭证不要直接写进会提交到 Git 的配置文件也不要在聊天记录里明文粘贴。建议用环境变量注入下面会演示。3. 可复制的 config.toml 骨架与飞书回调配置OpenClaw 的配置文件默认在~/.openclaw/openclaw.json但为了可读性和版本管理我更推荐用 TOML 格式维护一份骨架再通过环境变量注入密钥。下面这份config.toml你可以直接复制改掉标注的地方即可。# ~/.openclaw/config.toml # OpenClaw 统一配置骨架 - NAS 飞书 TaoToken [gateway] port 18789 bind loopback # NAS 无头环境保持 loopback通过 SSH 隧道访问 auth token [model] # 统一走 TaoToken 通道模型切换在服务端完成 provider openai-compatible base_url https://taotoken.net/api api_key ${TAOTOKEN_API_KEY} # 从环境变量读取不写死 default_model claude-sonnet-4-20250514 [channels.feishu] enabled true app_id ${FEISHU_APP_ID} app_secret ${FEISHU_APP_SECRET} connection_mode websocket # 飞书长连接模式NAS 无需公网 IP domain feishu.cn group_policy mention # 群里需要 才响应 [session] dm_scope per-channel-peer # 多用户场景隔离会话这份骨架的关键点有三个。第一base_url指向 TaoToken 的 API 通道api_key用${TAOTOKEN_API_KEY}占位实际值通过环境变量传入。第二飞书用websocket长连接模式这意味着你的 NAS 不需要公网 IP、不需要配反向代理飞书服务器主动和你的 NAS 建立连接回调天然可达。第三dm_scope设为per-channel-peer避免多个飞书用户共用同一个会话上下文。把环境变量写进 shell 配置cat ~/.bashrc EOF export TAOTOKEN_API_KEY你的TaoToken Key export FEISHU_APP_IDcli_xxxxxxxx export FEISHU_APP_SECRET你的飞书App Secret EOF source ~/.bashrc飞书侧的配置在飞书开放平台完成。创建一个企业自建应用在「凭证与基础信息」里拿到 App ID 和 App Secret。然后在「权限管理」里开通这几个权限im:message、im:chat、contact:user.base:readonly。最后在「事件订阅」里选择长连接方式不需要填回调地址。把应用发布到测试企业或者拉进一个测试群。配置写好后用 OpenClaw 的配置校验命令检查一遍openclaw config validate如果输出Config OK说明 TOML 语法和环境变量注入都正常。如果报missing env检查~/.bashrc是否 source 成功可以用echo $TAOTOKEN_API_KEY确认。4. 启动网关与验证请求从 NAS 到飞书的完整链路配置就绪后启动网关。NAS 上 systemd 用户服务有时会因为权限问题装不上直接前台启动更省事openclaw gateway --port 18789 --force看到Gateway listening on ws://127.0.0.1:18789就说明网关起来了。这时候飞书长连接也会自动建立日志里会出现[feishu] client ready和Connected as ou_xxxx说明飞书侧已经连上。验证模型通道是否通用 OpenClaw 自带的测试命令openclaw model test --prompt 用一句话介绍你自己如果返回了模型输出说明 TaoToken 通道配置正确。这一步很关键因为很多人飞书能连上但发消息没反应根因就是模型通道没通Agent 收到消息后调模型失败飞书侧只显示一个空白或错误。接下来在飞书里做端到端验证。打开你拉进应用的测试群 一下机器人发一句「你好」。第一次交互时OpenClaw 默认的 DM 策略是pairing会返回一个配对码需要你在 NAS 终端批准openclaw pairing approve feishu 配对码批准后再发消息就能收到模型回复了。如果你想让所有群成员都能直接用可以在配置里把dm_policy改成open但生产环境不建议这么做配对机制本身就是一道安全边界。NAS 无头环境想看控制面板用 SSH 隧道把端口转发到本地电脑# 在你自己的电脑上执行 ssh -N -L 18789:127.0.0.1:18789 用户名NAS的IP然后本地浏览器打开http://localhost:18789/就能看到 OpenClaw 的 Dashboard里面可以查看会话、日志和渠道状态。5. 本篇常见错误排查Node 版本不达标openclaw --version报SyntaxError: Unexpected token基本是 Node 低于 22。用node -v确认按第 2 节的方式升级。飞书长连接建立失败日志出现client ready后立刻断开检查 App ID 和 App Secret 是否配对以及应用是否已发布。未发布的应用只有创建者能收到消息。模型调用 401openclaw model test返回鉴权错误说明TAOTOKEN_API_KEY没注入成功。用echo $TAOTOKEN_API_KEY确认注意环境变量在source ~/.bashrc之后才生效已经打开的终端要重新 source。网关启动报端口占用18789被其他服务占了换一个端口同时记得 SSH 隧道命令里的端口也要同步改。飞书发消息无响应先看网关日志有没有收到消息事件。如果收到了但没回复多半是模型通道问题回到openclaw model test排查。如果日志里连消息事件都没有检查飞书事件订阅是否选了长连接、权限是否开通。systemd 服务装不上报Unit file openclaw-gateway.service does not exist这是 NAS 上 systemd 用户服务权限受限导致的。直接用openclaw gateway --port 18789 --force前台跑或者用nohup挂后台。6. 把 Key 收敛到一处后面换模型才不折腾整套流程跑下来最值得保留的习惯就是「统一 Key」。OpenClaw 支持很多渠道今天接飞书明天可能加 Telegram如果每个渠道都配一套模型 Key后面维护成本会指数级上升。用 TaoToken 的统一通道本地只维护一个base_url和一个环境变量模型升级、切换、限流都在服务端处理NAS 上的配置基本不用动。如果你后面要长期跑编码类 Agent可以看看 Coding Plan它针对高频代码场景做了通道优化日常验证模型是否通用模型对话页面直接测最快接入过程中遇到鉴权或配置问题API Keys 页面和接入文档里有完整的参数说明。把这几步走完你的 NAS 就不只是一台存储设备了。