
网上关于 OpenClaw(俗称“龙虾”)的教程很多,但专门针对在群晖NAS上用Docker部署的详细指南却很少。现有的一些内容,看起来更像是用AI把通用Docker教程生硬地套了个NAS的壳。
为此,我亲自实践并总结了每一步的排坑经验,带来这份专为群晖NAS用户定制的OpenClaw部署教程。只要你按步骤操作,成功率可以说是100%。下面,我们就开始吧。
准备阶段:环境与工具
- 部署时间:2026年03月08日
- 部署环境:群晖DS920+
- DMS版本:DSM 7.3.2-86009 Update 1
- Container Manager版本:24.0.2-1606
- OpenClaw版本:v2026.3.7
- 所需工具:群晖自带“文本编辑器”应用
废话不多说,直接开始。以下内容在电脑上操作会更方便,手机阅读主要了解流程即可。
阶段一:前期准备(至关重要,跳过必报错!)
在群晖上用Docker部署应用,80%的玄学问题都出在文件权限上。所以在拉取镜像之前,请务必严格完成以下步骤:
- 创建基础目录:打开群晖的“File Station”,在你通常存放Docker配置的共享文件夹(例如
docker)内,新建一个名为 OpenClaw 的文件夹。
- 创建子目录:进入刚建好的
OpenClaw 文件夹,在里面再新建两个文件夹:
config (用于存放配置文件)
workspace (用于Agent运行的工作区)
- (如果已有
docker-compose.yml 文件,也可以直接复制进来)
- 🔑 赋予终极权限(核心操作):
- 右键点击最外层的
OpenClaw 文件夹,选择 “属性” -> “权限”。
- 点击 “新增”,用户或组选择
Everyone。
- 勾选底部的 “完全控制” (这会包含读取、写入等所有权限),然后点击完成。
避坑提示:先别在这一步纠结最小权限原则和安全问题。我们的首要目标是让程序成功跑起来,跑不起来的“安全”没有任何意义。
阶段二:使用 Docker-Compose 一键部署
得益于新版 Container Manager 的“项目”功能,我们不再需要手动填写一大堆表单。操作很简单:
- 在群晖的 Container Manager 中,点击“项目” -> “新建”。
- 项目路径选择我们刚才创建好的
OpenClaw 文件夹。
- 将以下优化过的
docker-compose.yml 配置内容粘贴进去:
version: '3.8'
services:
openclaw-gateway:
image: ghcr.io/openclaw/openclaw:main
container_name: OpenClaw
restart: unless-stopped
ports:
- "18789:18789"
volumes:
- ./config:/home/node/.openclaw
- ./workspace:/home/node/.openclaw/workspace
environment:
- TZ=Asia/Shanghai
- OPENCLAW_GATEWAY_BIND=lan
- OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1
- 构建并启动项目。完成后,在浏览器输入
http://你的群晖IP:18789。
此时,你很可能发现网页打不开,也没有任何友好提示。别急,这只是因为 OpenClaw 拥有非常严格的安全校验机制。真正的“排雷”环节现在才开始。
阶段三:硬核的“零信任”风控排雷指南
OpenClaw 的安全机制规格很高,初次访问很可能会遇到连环报错。别慌,我已经把解决方案整理成了“排雷矩阵”。当网页报错时,请打开群晖 Docker 容器的日志,对照下表解决:
| 报错提示 |
机制原理分析 |
解决方案 / 终端指令 |
gateway token missing 或 token mismatch |
系统拦截了未携带正确认证令牌的访问请求。 |
1. 进入群晖容器的终端机 (选择bash)。 2. 执行:openclaw dashboard --no-open 3. 复制命令输出的 ?token= 后面的字符串,填入网页登录框。 |
pairing required |
零信任机制:发现新设备指纹,即便有Token也需要网关二次授权。 |
1. 保持网页报错页面别关闭。 2. 在容器终端执行:openclaw devices list 3. 找到状态为 Pending 的请求ID。 4. 执行:openclaw devices approve <你的ID> |
too many failed authentication attempts |
防刷机制:刚才的失败尝试次数过多,你的浏览器或IP被暂时限制了。 |
1. 网页端改用无痕模式(或清空浏览器缓存)。 2. 在群晖中重启一次OpenClaw容器。 3. 重复上一步获取新Token的流程。 |
只要遵循 “查Token -> 填Token -> 在终端授权新设备” 这三步曲,你就能顺利进入OpenClaw的后台控制台了!
阶段四:终极方案!通过底层配置直连大模型
默认的 Claude 模型虽然好,但在国内,性价比之王非 DeepSeek 莫属。很多人尝试在 Web 界面里配置 DeepSeek 时,会遇到烦人的 error=400 Model Not Exist 报错。这通常是因为前端传参的 API 路径格式问题。
最稳妥的“终极方案”是绕过前端 UI,直接修改底层的 openclaw.json 配置文件。这是 OpenClaw 的核心文件,它采用热更新机制,所有改动都会实时生效。强烈建议在每次修改前备份该文件,以防误操作导致系统异常。
请按以下步骤操作:
- 停止容器:在群晖 Container Manager 中,先停止正在运行的 OpenClaw 容器。
- 定位配置文件:打开 File Station,进入第一步创建的
docker/OpenClaw/config 目录。
- 编辑 JSON:找到名为
openclaw.json 的文件,右键使用“文本编辑器”打开(如果没有则新建一个)。
- 注入配置:将以下 JSON 配置节点合并或添加到配置文件中:
{
"models": {
"providers": {
"deepseek": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKey": "sk-这里替换成你自己的真实秘钥",
"api": "openai-completions",
"models": [
{
"id": "deepseek-chat",
"name": "DeepSeek V3",
"reasoning": false
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "deepseek/deepseek-chat"
},
"compaction": {
"mode": "safeguard"
}
}
}
}
💡 进阶提示:上述代码配置的是 DeepSeek V3 版本 (deepseek-chat)。如果你希望你的智能体拥有更强大的多步逻辑推理能力,可以将 id 和 primary 字段的值都替换为 deepseek-reasoner(即 R1 模型),并将 reasoning 设置为 true。
- 重启生效:保存文件,然后在 Container Manager 中重新启动 OpenClaw 容器。刷新管理页面,你的 OpenClaw 就已经接入了 DeepSeek 的强大驱动。
结语
折腾完这一整套,看着属于自己的 AI 智能体在 NAS 上自动运行、处理复杂任务,那种成就感确实非常棒。
不过,成功部署和基础配置,仅仅是“养虾”之旅的冰山一角。后续如何设计工作流、编写有效的指令,才是真正发挥其威力的关键。本教程的每个步骤都经过了反复验证,这也证明了一点:在人工智能时代,会写提示词可能比单纯会写代码更重要。

彩蛋:部署成功并运行测试后,我查看了一下API调用账单,顺手发了条朋友圈:

这说明,从部署到真正用起来,中间还有不少门槛。希望这篇在云栈社区分享的指南,能帮你跨过第一道也是最重要的那道坎。