背景
OpenClaw(aka ClawBot, MoltBot)火了一阵了,本来对于这种 LLM 套壳项目,准备保持“让子弹飞一会”的态度先观望下。但是最近看到这个项目的提示词觉得挺有意思,决定利用群晖部署一个玩玩。
部署
简单 Google 了一下没发现很直观的文档,遂决定自己挖坑尝试。首先在自带的 Container Manager 中切换镜像仓库到 https://docker.1ms.run,搜 openclaw 即可找到一个 alpine/openclaw。
在 dockerhub 中简单了解下相关信息,感觉靠谱,拉下来试试。
docker 部署方式可以参考官方文档,这里通过 Container Manager 启动的话需要注意预构建的镜像的方式差异,参考官方的 Dockerfile 和 docker-setup.sh添加以下配置:
- 端口主要是 openclaw 用到的 gateway 和 bridge 的两个端口
- 存储的话主要把 openclaw 家目录的配置目录挂载出来,后面需要修改
OPENCLAW_GATEWAY_TOKEN:这里的 token 是 gateway 所需要的,不加的话容器启动就会报错。直接使用openssl rand -hex 32命令生成一个粘贴进去即可。OPENCLAW_GATEWAY_BIND:由于我是通过 tailscale 远程访问(或者说 NAS 大部分情况都是远程访问),这里需要修改为 lan 模式绑定到 0.0.0.0 的地址。(实际发现还得修改下面的启动命令,这里的必要性懒得验证了)
- 实际测试发现启动命令的优先级更高,需要在后面添加
--bind lan启动参数。
成功启动后直接访问 http://<tailscale-ip>:18789 即可进入 dashboard,不过会发现存在报错导致无法使用:
1 | disconnected (1008): control ui requires HTTPS or localhost (secure context) |
主要原因是一些安全策略的限制,这里偷懒的话可以直接在之前挂载出来的目录中手动添加配置 allowInsecureAuth 来允许远程 http 访问。
在挂载的 /docker/openclaw 中新建 openclaw.json 文件:
1 | { |
配置好后重启之前的容器即可正常访问 dashboard。
配置
模型渠道
接下来需要修改模型供应商等配置,由于群晖 Container Manager 终端机交互实在太难用,这里选择直接通过 ssh 操作。
1 | # 首先切到 root |
这时候会发现环境中没有 openclaw 命令,不过可以使用 node 直接启动入口文件 openclaw.mjs
1 | root@R0siNas:~# docker exec -it openclaw bash |
由于路由器目前不是常挂梯子的状态,这里先使用 qwen 渠道测试,配置参考阿里官方文档。
上面的 onboard 流程大多可以直接先跳过,以下是我基于默认配置的修改部分:
1 | "models": { |
保存后也可以通过 models list 命令确认配置成功(好像漏配了 coder,先不管):
1 | node@openclaw:/app$ node openclaw.mjs models list |
dashboard 的 chat 中试了下也可以对话了。
网络搜索
这里使用官方推荐的 Brave Search API,每月有 5 刀(1000 条请求)的免费额度,需要绑定信用卡(也可以用 G PAY)才可以使用。
注意 Brave Search 在二月取消了免费层级的订阅,所以记得在 Usage limits 页面添加 5 刀的额度限制。
聊天客户端
飞书
客户端因为之前的梯子原因首先考虑飞书,可以使用 https://github.com/m1heng/clawdbot-feishu 这个插件对接,但是后续发现飞书注册企业级应用还需要管理员审核,先 pass 了。
Discord
在 Container Manager 中重新启动了一个 metacubex/mihomo 来配置代理(注意开放 7890/7891 端口),openclaw 的环境变量添加 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY 环境变量后解锁外网访问,接下来尝试对接 Discord 机器人。
一番折腾下来发现 discord 的 websocket 连接不太好走代理,导致只能发送消息而无法回复。想开 tun 模式来强制代理的话还得挂载 nas 的网卡。搜了下发现 github 上已经有 discord proxy 的提交合并了,而 telegram 配置已支持 proxy,discord 就等镜像更新再配吧。
Telegram
telegram bot 配置的话可以参考这篇或者官方文档,简单来说就是去 @botfather 注册一个机器人,然后将回复的 token 添加到配置中,最后私聊得到 pairing code 后去 openclaw 命令配置即可。不想执行繁琐的 onboard 命令的话可以直接将下面官方示例的 json 片段粘贴到 config 的 channels 条目中:
1 | { |
实际测试发现通过环境变量配置即可完成代理,无需额外配置 proxy
日常使用
OpenClaw 的应用场景比较丰富,可以当成一个沙箱内的智能助手使用。比如在 telegram bot 配置完成后,我让它很快完成了一个订阅总结的小功能,方便我每天快速浏览一些博客更新内容:
如果你也好奇这是如何实现的话:
可以发现 cron job 是提升 Agent agency 的一个简单有效的方法。最近 Anthropic 也宣布,Claude Code 的通用代理兄弟产品 Cowork 已支持设置定期任务。
当然通过插件功能还可以实现一些更高级的玩法,后面有空再尝试探索下。







