网易首页 > 网易科技 > 网易科技 > 正文

手把手教你安全“养虾”:OpenClaw极简部署指南

0
分享至

作者 | Jean

OpenClaw火爆全网,“养龙虾”成为流行语。“龙虾”能自己上网、写报告、操作文档,像个不用睡觉的24小时的个人助理。

但“龙虾”的部署并不简单,90%的小白用户会被复杂的部署拦住。而且这只“龙虾”脾气不小,大模型自带的“幻觉”毛病,加上它手里握着的高权限,搞不好就会把服务器变成黑客的“虾塘”。连工信部都拉响了警报:配置不当,就是灾难级漏洞。

听起来很吓人?别慌。

作为一位文科生的家长,我刚给女儿在云服务器上安全地“养”了一只龙虾。这篇教程,就是我整理出来的“养虾笔记”——不用懂Linux内核,不用背网络安全术语,全程跟着点就行。

我们会用最土的办法(建个普通用户、扔进沙箱跑)、最稳的配置(HTTPS加密 + 密码令牌),把这只“小龙虾”伺候得服服帖帖,既能24小时干活,又把风险锁得死死的。

如果你也想给家人、给自己配一个这样听话的AI助理,又怕翻车,这篇小龙虾安全部署指南,就是为你准备的。

OpenClaw目前支持的国内即时通讯软件只有飞书,微信、钉钉等还不支持。因此OpenClaw中文社区就应运而生了,然后发布了OpenClaw中文社区版,目前支持飞书,微信、钉钉等即将上线。

以下就介绍一下在云服务器上的OpenClaw的安全部署。

01

安装OpenClaw中文社区版

我的云服务器装的是Ubuntu24, 云服务器上跑的绝大部分都是Linux,通过终端远程管理就可以,安全、高效、省心,所以OpenClaw火爆也会成为云服务器产业的一次机会。关键是,Linux用户管理非常周密,本篇会用普通用户openclaw来运行OpenClaw,让它运行在沙箱中,用root部署太危险了。如果是Windows用户,比如家庭电脑或笔记本电脑等,可以在Windows上装个WSL2,然后在Windws上跑起Ubuntu24,也在Linux上部署。这样比直接用Windows管理员身份运行OpenClaw要安全很多。

1、安装Node.js 22

OpenClaw是用Node.js开发的TypeScript(JavaScript)应用,要求Node.js 22+的版本,一般Ubuntu 24上带的Node.js,比如Anaconda建立的Python虚拟环境中,是Node.js 20,需要升级一下。比如下面我的Conda base环境中,就是Node.js 20,安装在/usr/lib64/anaconda3/bin目录下。

(base) root@VM-12-2-ubuntu:~# which node

/usr/lib64/anaconda3/bin/node

(base) root@VM-12-2-ubuntu:~# node -v

v20.17.0

用root的身份安装Node.js 22,如果有激活Conda虚拟环境要先退出,如果有为服务器配置VPN代理也要先屏蔽VPN的设置。

# conda deactivate

# export http_proxy=

# export https_proxy=

如果都没有,就直接安装。

# curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -

# apt-get install -y nodejs

装好检查一下,安装在/usr/bin目录下,注意Conda虚拟环境没有激活。

root@VM-12-2-ubuntu:~# which node

/usr/bin/node

root@VM-12-2-ubuntu:~# node -v

v22.22.0

如果有需要,安装之前可以为Node.js设置国内的镜像,这样安装会快很多,比如设置为淘宝的镜像:

root@VM-12-2-ubuntu:~# npm config set registry

https://registry.npm.taobao.org

root@VM-12-2-ubuntu:~# npm config get registry

https://registry.npm.taobao.org

2、安装OpenClaw中文社区版

用root的身份安装。OpenClaw中文社区版与OpenClaw自动同步,应用的名字是openclaw-cn,多了“-cn”后缀,目前是0.1.7版,对应的应该是OpenClaw 2026.2.x或2026.3.x版,不过不一定是最新的版本,因为我发觉有些配置的选项它还不认识。

# npm install -g openclaw-cn@latest

验证安装:

root@VM-12-2-ubuntu:~# which openclaw-cn

/usr/bin/openclaw-cn

root@VM-12-2-ubuntu:~# openclaw-cn --version

0.1.7

02

配置OpenClaw网关服务

1、创建普通用户openclaw

这个用户将用于运行OpenClaw,以便把它限制在沙箱中,尽量减少大模型幻觉和网络入侵带来的风险,这是Linux系统固有的优点。

# adduser openclaw

这个命令会创建用户并提示输入并设置口令,创建home目录,设定同名用户组,指定登录后用bash。

2、配置OpenClaw网关服务

OpenClaw后端所有的功能都要通过网关服务来执行,它的原理图如下:

1 OpenClaw原理架构图

如果按项目主页的指引,用root或其它system类型用户的身份运行下面的安装向导命令,就会在当前用户的~/.config/systemd/user/ 目录下创建openclaw-gateway.service系统服务配置文件,把网关配置为用户级的系统守护进程,但如果是root用户权限过大就太危险了。

先用root的身份运行一次上面的安装向导命令,具体操作可以参阅后面的第三节,它会生成root的用户级系统服务/root/.config/systemd/user/openclaw-gateway.service,把它拷贝成 /etc/systemd/system/openclaw-gateway.service,然后停止root用户的OpenClaw网关,取消激活以免端口冲突。

# openclaw-cn onboard --install-daemon

# cp/root/.config/systemd/user/openclaw-gateway.service /etc/systemd/system/openclaw-gateway.service

# systemctl --user stop openclaw-gateway

# systemctl --user disable openclaw-gateway

# systemctl --user daemon-reload

再为普通用户openclaw配置网关服务。它没有运行用户级系统进程的权限,所以我们用root的身份把OpenClaw网关服务配置为系统级的服务,然后以用户openclaw的身份运行服务,工作目录为其HOME目录。编辑服务配置文件:

(base) root@VM-12-2-ubuntu:~# cd /etc/systemd/system

(base) root@VM-12-2-ubuntu:/etc/systemd/system# vi openclaw-gateway.service

改好后内容要点如下:

1)以用户openclaw的身份运行。

2)工作目录为其HOME目录。

3)用/usr/bin/node运行,这是前面安装的Node.js 22,服务端口是默认的18789。

4)配置文件由环境变量

OPENCLAW_CONFIG_PATH=/home/openclaw/.openclaw/openclaw.json指定,在用户openclaw的目录下。这样设定是因为这个配置文件是OpenClaw前端和后端(网关)共用的,以后可以通过Control UI修改,然后重启网关即可生效。

5)这里设置的OPENCLAW_GATEWAY_TOKEN是用root初始化时设置的,会被openclaw.json中指定的token覆盖,也可以不设置。留下来只是看看它原来的样子。

6)严格限制openclaw网关的权限。

NoNewPrivileges=true

PrivateTmp=true

ProtectSystem=strict

# ProtectHome=true

ReadWritePaths=/home/openclaw

不能设置ProtectHome,否则服务不能chdir到HOME目录,启动失败。要开放HOME目录/home/openclaw的读写权限,否则网关不能正常工作。

完整的内容如下:

[Unit]

Description=Openclaw Gateway (v0.1.7)

After=network-online.target

Wants=network-online.target

[Service]

Type=simple

User=openclaw

Group=openclaw

WorkingDirectory=/home/openclaw

ExecStart="/usr/bin/node" "/usr/lib/node_modules/openclaw-cn/dist/entry.js" gateway --port 18789

Restart=always

RestartSec=5

KillMode=process

Environment=OPENCLAW_CONFIG_PATH=/home/openclaw/.openclaw/openclaw.json

Environment=HOME=/home/openclaw

Environment="PATH=/usr/local/bin:/usr/bin:/bin"

Environment=OPENCLAW_GATEWAY_PORT=18789

# 注:这个token是用root安装网关时创建的,会被openclaw.json里指定的token覆盖,已失效。

# Environment=OPENCLAW_GATEWAY_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Environment="OPENCLAW_SYSTEMD_UNIT=openclaw-gateway.serviceEnvironment=OPENCLAW_SERVICE_MARKER=openclaw

Environment=OPENCLAW_SERVICE_KIND=gateway

Environment=OPENCLAW_SERVICE_VERSION=0.1.7

NoNewPrivileges=true

PrivateTmp=true

ProtectSystem=strict

# ProtectHome=true

ReadWritePaths=/home/openclaw

[Install]

WantedBy=multi-user.target

激活并启动网关服务:

# systemctl daemon-reload

# systemctl enable openclaw-gateway

# systemctl start openclaw-gateway

可以另开一个终端窗口实时查看网关服务的启动日志,看看启动中有什么错误:

journalctl -u openclaw-gateway.service -f

这是正常启动的跟踪日志:

Mar 06 10:56:20 VM-12-2-ubuntu systemd[1]: openclaw-gateway.service: Deactivated successfully.

Mar 06 10:56:20 VM-12-2-ubuntu systemd[1]: Stopped openclaw-gateway.service - Openclaw Gateway (v0.1.7).

Mar 06 10:56:20 VM-12-2-ubuntu systemd[1]: openclaw-gateway.service: Consumed 2min 44.117s CPU time, 1.3G memory peak, 0B memory swap peak.

Mar 06 10:56:37 VM-12-2-ubuntu systemd[1]: Started openclaw-gateway.service - Openclaw Gateway (v0.1.7).

然后可以查看服务器是否正常启动,侦听18789端口:

(base) root@VM-12-2-ubuntu:/etc/systemd/system# ss -lntp | grep 18789

LISTEN 0 511               0.0.0.0:18789      0.0.0.0:*    users:(("clawdbot-gatewa",pid=2561966,fd=23))

正常运行时,在所有的IP(0.0.0.0,这个后面再讲,默认是127.0.0.1,loopback地址)上监听18789端口。

(base) root@VM-12-2-ubuntu:/etc/systemd/system# systemctl status openclaw-gateway

● openclaw-gateway.service - Openclaw Gateway (v0.1.7)

Loaded: loaded (/etc/systemd/system/openclaw-gateway.service; enabled; preset: enabled)

Active: active (running) since Fri 2026-03-06 10:56:37 CST; 14min ago

Main PID: 2561959 (openclaw-cn)

Tasks: 22 (limit: 9126)

Memory: 395.9M (peak: 1.3G)

CPU: 49.425s

CGroup: /system.slice/openclaw-gateway.service

├─2561959 openclaw-cn

└─2561966 clawdbot-gateway

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: '        Mode of event/callback subscription(订阅方式)\n' +

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: '          -> \n' +

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: '        Receive events/callbacks through persistent connection(使用 长连接 接收事件/回调)'

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: ]

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:10.082Z [feishu] feishu[default]: WebSocket client started

Mar 06 10:57:10 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:10.321Z [info]: [ '[ws]', 'ws client ready' ]

Mar 06 10:57:11 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:11.662Z [bonjour] gateway name conflict resolved; newName="VM-12-2-ubuntu (Clawdbot) (2)"

Mar 06 10:57:11 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:11.664Z [bonjour] gateway hostname conflict resolved; newHostname="VM-12-2-ubuntu-(2)"

Mar 06 10:57:19 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:19.570Z [ws] Proxy headers detected from untrusted address. Connection will not be treated as local>

Mar 06 10:57:19 VM-12-2-ubuntu node[2561966]: 2026-03-06T02:57:19.597Z [ws] webchat connected conn=6b22b40d-c498-40b6-b52f-52344e1fd830 remote=127.0.0.1 client=cl>

lines 1-21/21 (END)

03

运行安装向导

这一步完成OpenClaw命令行工具(CLI)及WEB Control UI、接入渠道、LLM等的配置,以生成所有需要的配置文件,如飞书的配置等。

以登录的方式切换到新创建的openclaw用户。

# su -l openclaw

运行下面的安装向导命令,注意,不带--install-daemon选项,网关服务已经配置好了。

openclaw-cn onboard

它会创建所有需要的配置文件以及workspace目录,所有openclaw的文件都存放在.openclaw目录下,包括配置文件openclaw.json。

openclaw@VM-12-2-ubuntu:~/.openclaw$ ls

agents cron     exec-approvals.json  feishu-dedup.db-shm  identity  openclaw.json      update-check.json

credentials devices  feishu-dedup.db      feishu-dedup.db-wal  memory   openclaw.json.bak  workspace

接受安全警告,选择快速开始模式,会引导你配置各种需要的部件,包括飞书接入。配置的过程如下,注意里面讲的systemd不可访问,跳过配置,是因为我们把网关服务配置成了系统级的服务,不是OpenClaw原来的用户级系统服务,脚本检测不到,但不影响使用。

penclaw@VM-12-2-ubuntu:~$ openclaw-cn onboard

OpenClaw-CN 0.1.7 (415f7b6) — 将"I'll reply later"变为"my bot replied instantly"。

░████░█░░░░░█████░█░░░█░███░░████░░████░░▀█▀

█░░░░░█░░░░░█░░░█░█░█░█░█░░█░█░░░█░█░░░█░░█░

█░░░░░█░░░░░█████░█░█░█░█░░█░████░░█░░░█░░█░

█░░░░░█░░░░░█░░░█░█░█░█░█░░█░█░░█░░█░░░█░░█░

░████░█████░█░░░█░░█░█░░███░░████░░░███░░░█░

每日新鲜 ��

┌ OpenClaw安装引导

◇  安全 ─────────────────────────────────────────────────────────────╮

│ 安全警告 — 请阅读。                                               │

│ │

│ OpenClaw是一个业余项目,仍处于测试阶段。可能会有粗糙之处。       │

│ 如果启用了工具,此机器人可以读取文件并执行操作。                  │

│ 不良提示可能会诱使其执行不安全的操作。                            │

│ │

│ 如果您不熟悉基本的安全和访问控制,请不要运行OpenClaw。           │

│ 在启用工具或将系统暴露给互联网之前,请寻求有经验的人士帮助。      │

│ │

│ 推荐的基础设置:                                                  │

│ - 配对/白名单 + @提及门控。                                       │

│ - 沙箱 + 最低权限工具。                                           │

│ - 将机密信息保留在智能体可访问的文件系统之外。                    │

│ - 对于使用工具或不受信任收件箱的机器人,请使用最强大的可用模型。  │

│ │

│ 定期运行:                                                        │

│ openclaw-cn security audit --deep                                 │

│ openclaw-cn security audit --fix                                  │

│ │

│ 必读:https://clawd.org.cn/gateway/security.html                  │

├────────────────────────────────────────────────────────────────────╯

◇  我理解这很强大且本质上存在风险。继续吗?

│ Yes

◇  安装引导模式

│ 快速开始

◇  检测到现有配置 ───────────────────╮

│ workspace: ~/.openclaw/workspace  │

│ model: zai/glm-5                  │

│ gateway.mode: local               │

│ gateway.port: 18789               │

│ gateway.bind: lan                 │

├────────────────────────────────────╯

◇  配置处理

│ 使用现有值

◇  快速开始 ───────────────╮

│ 保留您当前的网关设置:  │

│ 网关端口:18789         │

│ 网关绑定:局域网        │

│ 网关认证:令牌(默认)  │

│ Tailscale暴露:关闭    │

│ 直接到聊天频道。        │

├──────────────────────────╯

◇  模型/认证提供商

│ Z.AI (GLM-5)

◇  Z.AI (GLM-5) 认证方法

│ Z.AI (GLM-5) API key

◇  Enter Z.AI API key

│ xxxxxxxxxx

◇  Model configured ───────────────╮

│ Default model set to zai/glm-5  │

├──────────────────────────────────╯

◇  默认模型

│ 保持当前(zai/glm-5)

◇  通道状态 ─────────────────────╮

│ Telegram: 未配置              │

│ WhatsApp: 未配置              │

│ Discord: 未配置               │

│ Google Chat: 未配置           │

│ Feishu: 已配置(插件已禁用)  │

│ Slack: 未配置                 │

│ Signal: 未配置                │

│ iMessage: 未配置              │

│ Feishu: 安装插件以启用        │

├────────────────────────────────╯

◇  通道工作原理 ─────────────────────────────────────────────────────────────────╮

│ DM安全:默认为配对;未知的私信会获得配对码。                                  │

│ 批准命令:openclaw-cn pairing approve <channel> <code>                        │

│ 公开私信需要dmPolicy="open" + allowFrom=["*"].                               │

│ 多用户私信:设置session.dmScope="per-channel-peer" 来隔离会话。              │

│ 文档:start/pairing           │

│ │

│ Telegram: 最简单的入门方式——使用 @BotFather注册一个机器人并开始使用。        │

│ WhatsApp: 使用您自己的号码工作;建议使用独立手机 + eSIM。                     │

│ Discord: 目前支持非常好。                                                     │

│ Google Chat: 带有HTTP webhook的Google Workspace聊天应用。                     │

│ Feishu: 飞书/Lark机器人集成 (WebSocket)。                                    │

│ Slack: 已支持(Socket模式)。                                                 │

│ Signal: signal-cli链接设备;更多设置(David Reagans说:"加入Discord吧。")。  │

│ iMessage: 这仍然是一个正在进行的工作。                                        │

├────────────────────────────────────────────────────────────────────────────────╯

◇  选择通道(快速开始)

│ Feishu (Lark Open Platform)

◇  安装Feishu插件?

│ 使用本地插件路径

03:52:31 [plugins] feishu_doc: Registered feishu_doc, feishu_app_scopes

03:52:31 [plugins] feishu_drive: Registered feishu_drive tool

03:52:31 [plugins] feishu_wiki: Registered feishu_wiki tool

03:52:31 [plugins] feishu_im: Registered feishu_im_list_chats, feishu_im_get_chat, feishu_im_list_members, feishu_im_send_message, feishu_im_reply_message, feishu_im_get_messages, feishu_im_create_chat

03:52:31 [plugins] feishu_task: Registered feishu_task tool (8 actions)

03:52:31 [plugins] feishu_calendar: Registered feishu_calendar tool (8 actions)

03:52:31 [plugins] feishu_sheets: Registered feishu_sheets tool (7 actions)

[feishu] plugins registered: 9 modules loaded

◇  Feishu已经配置。您想要进行什么操作?

│ 修改设置

◇  选择平台 / Select platform

│ 飞书(国内版)

◇  已选通道 ─────────────────────────────────────────────────╮

│ Feishu — 飞书/Lark enterprise messaging. 文档:            │

│ feishu  │

├────────────────────────────────────────────────────────────╯

Config overwrite: /home/openclaw/.openclaw/openclaw.json (sha256 6bfc049a9d315f90c88b131fdf82d072a495e4cff91199d4f3a5307c72ca776c -> 867f76512e58effcf20bb0121f1cb0a37d3740eb86843682196e375410185776, backup=/home/openclaw/.openclaw/openclaw.json.bak)

Updated ~/.openclaw/openclaw.json

工作区正常:~/.openclaw/workspace

会话正常:~/.openclaw/agents/main/sessions

◇  技能状态 ──────────╮

│ 符合条件:51       │

│ 缺少需求:0        │

│ 被允许列表阻止:0  │

├─────────────────────╯

◇  现在配置技能?(推荐)

│ No

◇  钩子 ───────────────────────────────────────────╮

│ 钩子让您能够在代理命令发出时自动执行操作。      │

│ 例如:在您发出/new时将会话上下文保存到内存中。  │

│ │

│ 了解更多:https://docs.clawd.bot/hooks          │

├──────────────────────────────────────────────────╯

◇  启用钩子?

│ 暂时跳过

Config overwrite: /home/openclaw/.openclaw/openclaw.json (sha256 867f76512e58effcf20bb0121f1cb0a37d3740eb86843682196e375410185776 -> f248f7b04215fdd25bd87889613f690a8dd2198a5fcb447e99af04596fe6b1b5, backup=/home/openclaw/.openclaw/openclaw.json.bak)

◇  Systemd ───────────────────────────────────────────────────────────────────────────────╮

│ Systemd user services are unavailable. Skipping lingering checks and service install.  │

├─────────────────────────────────────────────────────────────────────────────────────────╯

Feishu: ok

Agents: main (default)

Heartbeat interval: 30m (main)

Session store (main): /home/openclaw/.openclaw/agents/main/sessions/sessions.json (1 entries)

- agent:main:main (1m ago)

◇  可选应用 ───────────────────╮

│ 为额外功能添加节点:        │

│ - macOS应用(系统+通知)    │

│ - iOS应用(相机/画布)      │

│ - Android应用(相机/画布)  │

├──────────────────────────────╯

◇  控制界面 ─────────────────────────────────────────────────────────────────────────────────╮

│ 网页界面:http://127.0.0.1:18789/                                                         │

│ 网页界面(带令牌):http://127.0.0.1:18789/?token=xxxxxxxx                                │

│ xxxxxxxx                                                                                │

│ 网关WS:ws://127.0.0.1:18789                                                              │

│ 网关:可访问                                                                              │

│ 文档:https://docs.clawd.bot/web/control-ui                                               │

├────────────────────────────────────────────────────────────────────────────────────────────╯

◇  启动TUI(最佳选项!) ────────────────────╮

│ 这是定义性的操作,使您的智能体成为您的。  │

│ 请慢慢来。                                │

│ 您告诉它的越多,体验就会越好。            │

│ 我们将发送:"醒来吧,我的朋友!"          │

├────────────────────────────────────────────╯

◇  令牌 ──────────────────────────────────────────────────────────────────────────────╮

│ 网关令牌:网关+控制界面的共享认证。                                                │

│ 存储在:~/.openclaw/openclaw.json(gateway.auth.token)或OPENCLAW_GATEWAY_TOKEN。  │

│ 网页界面在此浏览器的localStorage中存储副本(clawdbot.control.settings.v1)。       │

│ 随时获取带令牌的链接:openclaw-cn dashboard --no-open                              │

├─────────────────────────────────────────────────────────────────────────────────────╯

◇  您想如何孵化您的机器人?

│ 在TUI中孵化(推荐)

◇  工作区备份 ────────────────────────────────────────────╮

│ 备份您的智能体工作区。                                 │

│ 文档:https://docs.clawd.bot/concepts/agent-workspace  │

├─────────────────────────────────────────────────────────╯

◇  安全 ──────────────────────────────────────────────────────────────────────────────╮

│ 在您的计算机上运行智能体是有风险的——加强您的设置:https://docs.clawd.bot/security  │

├─────────────────────────────────────────────────────────────────────────────────────╯

◇  网络搜索(可选) ───────────────────────────────────────────────╮

│ 如果希望您的智能体能够搜索网络,则需要API密钥。                 │

│ │

│ Clawdbot使用Brave Search作为`web_search`工具。没有Brave Search  │

│ API密钥,网络搜索将无法工作。                                   │

│ │

│ 交互式设置:                                                    │

│ - 运行:openclaw-cn configure --section web                     │

│ - 启用web_search并粘贴您的Brave Search API密钥                  │

│ │

│ 替代方案:在网关环境中设置BRAVE_API_KEY(无需更改配置)。       │

│ 文档:https://docs.clawd.bot/tools/web                          │

├──────────────────────────────────────────────────────────────────╯

◇  接下来 ─────────────────────────────────────────────────────╮

│ 接下来:https://clawd.bot/showcase("人们正在构建什么")。  │

├──────────────────────────────────────────────────────────────╯

└ 安装引导完成。使用上面的带令牌仪表盘链接控制Clawdbot。

openclaw-cn tui - ws://127.0.0.1:18789 - agent main - session main                                                                                            session agent:main:main

这是配置好的openclaw.json文件,不能直接用这个文件替换,因为安装向导还会生成上述目录中的其它配置文件。配好后则可以直接改这个配置文件。要点如下:

1、模型配了用智谱AI最新的旗舰模型GLM-5,api_key在配置的过程中粘贴进去,会保存进上面列出的文件中(具体在哪还没有研究)。

2、工作区在/home/openclaw/.openclaw/workspace目录下。

3、渠道配置了飞书,这个后面第四节再具体讲。这里配置飞书渠道和飞书开放平台配置飞书应用要交叉进行。这里要填入飞书开放平台创建的飞书应用的App ID与App Secret,然后OpenClaw会创建一个到飞书开放平台的长连接,然后飞书应用配置中才可以继续配置第6步:配置事件订阅。

4、gateway一节,告诉网关服务怎样启动,前面配置了网关服务使用这里的定义。这里的配置跟后面WEB Control UI的访问方式有关。

1)mode为local,只接受本地(即本机IP)访问,后面通过配置Nginx反向代理来用域名从公网上访问它。

2)bind为lan,绑定到服务器所有的IP地址,以便可以接收来自网络的访问。它默认的是localhost,或127.0.0.1,不会接受来自网络的访问。改成0.0.0.0也可以。

3)allowInsecureAuth为true,允许不安全的来访,来自网络上浏览器不安全的来访先要能够通过网络层的过滤,才能走到后面身份绑定和权限管理的步骤。

4)网关验证的方式是token,每次配置时会生成不同的随机长token,这比口令要强。配好后,会通过https://jeanye.cn/?token=xxxxxxxx这样的方式去访问WEB Control UI,通过HTTPS保护明文传输的token,通过长token保护WEB Control UI不会被非授权的人访问。

5)tailscale设置为off,我们通过HTTPS+token的方式来访问WEB Control UI,安全性有保证,不走tailscale的方式(因为配置可能繁琐,我也不熟悉)。

5、plugins一节,飞书的插件是OpenClaw中文社区版自带的,安装时已装好,不要再从网上(remote)下载,否则会报一大串警告信息,说检测到重复的插件ID。在配置飞书时选择使用本地的插件即可。

{

"meta": {

"lastTouchedVersion": "0.1.7",

"lastTouchedAt": "2026-03-05T08:58:00.259Z"

},

"wizard": {

"lastRunAt": "2026-03-05T08:58:00.246Z",

"lastRunVersion": "0.1.7",

"lastRunCommand": "configure",

"lastRunMode": "local"

},

"auth": {

"profiles": {

"zai:default": {

"provider": "zai",

"mode": "api_key"

}

},

"order": {

"zai": [

"zai:default"

]

}

},

"agents": {

"defaults": {

"model": {

"primary": "zai/glm-5"

},

"models": {

"zai/glm-5": {

"alias": "GLM-5"

}

},

"workspace": "/home/openclaw/.openclaw/workspace",

"compaction": {

"mode": "safeguard"

},

"maxConcurrent": 4,

"subagents": {

"maxConcurrent": 8

}

}

},

"messages": {

"ackReactionScope": "group-mentions"

},

"commands": {

"native": "auto",

"nativeSkills": "auto"

},

"channels": {

"feishu": {

"accounts": {

"default": {

"appId": "cli_xxxxxx",

"appSecret": "xxxxxxxx",

"domain": "feishu",

"enabled": true

}

}

}

},

"gateway": {

"port": 18789,

"mode": "local",

"bind": "lan",

"controlUi": {

"allowInsecureAuth": true

},

"auth": {

"mode": "token",

"token": "xxxxxxxx"

},

"tailscale": {

"mode": "off",

"resetOnExit": false

}

},

"plugins": {

"load": {

"paths": [

"/usr/lib/node_modules/openclaw-cn/extensions/feishu"

]

},

"entries": {

"feishu": {

"enabled": true

}

}

}

}

04

安装配置飞书应用

具体可以参阅这篇网文《Openclaw 最细部署指南》第6章《进阶配置篇》中飞书的配置,篇幅较长,此处不重复赘述。其中关键的一点是,配置飞书渠道和配置飞书应用要交叉进行,因为配置飞书应用时,要等渠道配置这边创建了一个到飞书开放平台的长连接,才可以继续配置事件订阅。而配置渠道时,又要用配置应用时创建的App ID与App Secret。

Step 5:启用机器人能力

第三部分(插在这里):先在OpenClaw中配置飞书渠道并启动网关

方式一:通过配置向导(推荐)

启动网关,确认运行状态

保存配置后,启动(或重启)OpenClaw网关:

Step 6(回到飞书):配置事件订阅

在左侧菜单点击"事件订阅"。

接收事件的方式,选"使用长连接接收事件"(WebSocket模式)。

选好之后,在下方"添加事件"里搜索并添加:

可以把im:message的权限都选上,至少需要im.message.receive_v1权限。

应用配置好后,要发布,每次应用配置有变化都要发布应用,然后才会起作用。

飞书应用的权限可以按需要授予,你可以询问小龙虾某项工作需要飞书应用的什么权限,再授权,方便起见,我把云文档和多维表格,还有用户信息的权限都给了。因为执行的结果输出到云文档,在飞书App里直接就可以打开看和下载。

05

测试飞书APP

打开飞书(App或网页版),在应用搜索栏里搜索你创建的飞书应用名称。

飞书App中搜索飞书应用


点击该应用,发送一个打招呼的消息,OpenClaw会返回一条要求绑定(批准)设备的回复,否则不能继续访问:


从飞书应用向OpenClaw发送指令

在openclaw用户下执行上面的命令完成设备配对,每个飞书账户只需要执行一次:

$ openclaw-cn pairing approve feishu APQ4GMTH

配对完成后,现在再在飞书APP中让OpenClaw执行一个测试的命令:

4 OpenClaw返回工作的结果

可以看到,OpenClaw以用户openclaw的身份运行,工作目录是/home/openclaw/.openclaw/workspace,这正是安全的沙箱运行方式,即使大模型出错,或被入侵,爆炸影响的范围会仅限于其HOME目录下的文件,风险要小很多。

现在可以愉快地和小龙虾玩耍啦。

06

配置从公网访问WEB Control UI

对于IT专业人士来说,通过文本终端界面远程管理OpenClaw是很方便,但对应于非IT专业人士,还是WEB Control UI图形界面方便易用很多,安装配置好了,直接交付使用即可。

1、配置Nginx反向代理

因为OpenClaw网关配置为local模式,它只能从本地访问,所以配置Nginx反向代理来从公网访问WEB Control UI。

vi /etc/nginx/nginx.conf

配置要点:

1)map配置以支持web-socket连接,OpenClaw Contorl UI是个Vite框架的JavaScript应用,它通过WebSocket协议直接访问服务器(ws://127.0.0.1:18789)。

2)转发的URI定位到根目录,因为OpenClaw Contorl UI里对WebSocket的访问URL是程序中写死的/(ws://127.0.0.1:18789),不支持反向代理到子目录。反向代理占用根目录的问题,也可以通过子域名来解决,就是为OpenClaw申请一个专用的子域名(要付费),然后在Let's Encrypt中签个带子域名的数字证书。子域名和主域名都映射到同一个IP,由Nginx去分流。这里简单起见直接占用根目录了,因为在我的服务器上根目录原来就是个欢迎页,也没有别的用途。

3) 除了根URI外,其它反向代理的设置不受影响,比如这里VPN服务器mihomo Dashboard的反向代理。

4)反向代理中最关键的一句是:

proxy_set_header Origin http://127.0.0.1:18789;

浏览器的访问请求到达OpenClaw时,都带有Origin header,因为网关配置为local模式,OpenClaw不会接收其它IP来源的访问,直接就返回403 Forbidden错误,在WEB Control UI页面上就会显示与后端网关的连接是(见Issue#19248):

disconnected (1006): no reason

这个设置让Nginx替换所有浏览器请求的Origin hearder为loopback地址,OpenClaw就会认为是本地访问,予以通过。

反向代理的具体配置如下,配在https server下,用Lets's Encrypt免费的数字证书。

......

http {

......

# Support proxying of web-socket connections

map $http_upgrade $connection_upgrade {

default upgrade;

''      close;

}

......

# Server on http:443  http2

server {

listen 443 ssl;

listen [::]:443 ssl;

server_name jeanye.cn;

# Let's Encrypt's cert & key

ssl_certificate /etc/letsencrypt/live/jeanye.cn/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/jeanye.cn/privkey.pem;

# / 根目录让给了OpenClaw,因为它的WebSocket要连接WSS://jeanye.cn根目录

# location / {

#     root /srv/nginx;

#     index index.html;

#     autoindex on;

# }

......

location / {

proxy_pass http://127.0.0.1:18789;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

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_set_header Origin http://127.0.0.1:18789;

proxy_read_timeout 86400;

proxy_send_timeout 86400;

proxy_buffering off;

}

# Reverse proxy for mihomo dashboard

rewrite ^/mihomo$ $scheme://$http_host/mihomo/ permanent;

location /mihomo/ {

rewrite ^/mihomo/(.*)$ /$1 break;

proxy_pass http://localhost:9090/;

proxy_redirect / $scheme://$http_host/mihomo/;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

proxy_read_timeout 20d;

proxy_buffering off;

}

}

}

2、从浏览器访问OpenClaw Control UI

输入地址https://jeanye.cn/?token=xxxxxxxx访问WEB Control UI,这个token就是前面配置网关时指定的访问token,比口令要长,有足够的复杂性可以保护Control UI免受非授权的访问。因为token是作为参数明文传输的,所以要在https加密连接下使用,有关用Let's Encrypt免费数字证书配置Nginx,请参阅我的知乎文章《在HTTS中使用Let's Encrypt的数字证书》。

5 OpenClawDashboard

Control UI中可以直接和OpenClaw对话指挥它干活这样对于电脑上输入数据很方便可以直接从磁盘选择、打开、拷贝然后粘贴进去。

OpenClaw Dashboard中直接发送执行任务

07

交付

把小龙虾交付给用户,需要为飞书应用添加新成员。在飞书App中点击右上角的“+”按钮,选择“添加企业成员”,再选择“输入手机号”,输入手机号和新成员姓名,点击“添加成员”,会发送一条消息到对方的飞书App,对方确认即可。

添加飞书App新成员

然后是在飞书应用中添加新成员。点击成员管理添加协作人员,输入成员名字选中添加,并设定新成员的角色。

飞书应用添加新成员

我在飞书应用中创建发布版本时设置了可用范围是所有员工,新成员在搜索应用时才可以看到这个飞书应用,新成员只能看到企业中Ta能看到的飞书应用,也可以设定飞书应用只有部分成员可见,然后选择可见成员的名单。

新成员搜到飞书应用后,在飞书App中向小龙虾发出指令,小龙虾会像前面一样要求应用所有者进行设备绑定(批准)。

新成员也需要进行设备绑定

然后就可以正常使用了,这是女儿要求小龙虾生成了一个Excel报表,发回她的飞书App中浏览、下载,这样完整的任务流程就执行完成了。

10 小龙虾创建了执行结果并写入到云文档

11 小龙虾生成云文档的分享链接并返回到飞书App

全流程跑通,女儿现在拥有了一个24小时在线的小龙虾打工人,慢慢饲养调教即可。

Done。

08

总结

这个安全饲养小龙虾的方案,可以总结为几个要点。

1、 不用root运行Gateway

•用普通用户openclaw启动,运行在 沙箱环境

•避免了OpenClaw或Node.js被利用时对系统的全局权限

•防止潜在漏洞被用来提权或篡改系统文件

✅ 这比官方文档里直接用root 启动安全得多

2、公网访问通过HTTPS + token

•HTTPS:保证浏览器 ↔ Nginx ↔ Gateway 通信加密,防止中间人抓包token

•token:避免任何没有授权的人直接访问Gateway

•Origin header:模拟 local-origin,使 Gateway 在 local 模式下允许 WebSocket 连接

✅ 完全解决403/1006/1008断连问题,又保证安全

3、Gateway 运行在 local 模式 + Nginx 反向代理

•local 模式限制浏览器访问必须模拟 local-origin

•反向代理确保公网访问不会直接暴露18789

•长超时 + proxy_buffering off 保证 WebSocket 长连接稳定

✅ 结合 HTTPS + token,是当前最稳定的生产方案

这个部署方案在安全性和稳定性上是当前最优实践:普通用户运行、沙箱隔离、HTTPS + token、Nginx 反向代理、local 模式 + Origin 伪装。

相关推荐
热点推荐
“就是死,也要和家人死一起!”伊朗教练为家人辞职归国,中国老板送上机票与祝福

“就是死,也要和家人死一起!”伊朗教练为家人辞职归国,中国老板送上机票与祝福

观威海
2026-03-09 09:47:05
亚足联严惩!中国女足赢朝鲜后,2个重大误判被曝光,足协应上诉

亚足联严惩!中国女足赢朝鲜后,2个重大误判被曝光,足协应上诉

侃球熊弟
2026-03-09 19:47:04
腾讯QClaw官网上线:可一键部署“龙虾”,兼容QQ、微信

腾讯QClaw官网上线:可一键部署“龙虾”,兼容QQ、微信

PChome电脑之家
2026-03-09 14:37:39
多家外媒:5名伊朗女足球员逃离球队,现由澳大利亚警方庇护

多家外媒:5名伊朗女足球员逃离球队,现由澳大利亚警方庇护

懂球帝
2026-03-09 22:21:07
没人生娃了?上海一产科医生称:从一晚上8个剖腹产到现在1个没有

没人生娃了?上海一产科医生称:从一晚上8个剖腹产到现在1个没有

离离言几许
2026-03-09 19:09:31
中国男子在中东教汉语,娶三位本地姑娘,生下混血,却直言养不起

中国男子在中东教汉语,娶三位本地姑娘,生下混血,却直言养不起

暗香暗香
2026-03-09 21:07:32
2-1!澳大利亚队悲剧了,挑选中国女足,却遇亚洲第2,进4强难了

2-1!澳大利亚队悲剧了,挑选中国女足,却遇亚洲第2,进4强难了

何老师呀
2026-03-09 19:48:19
一张图看懂:穆杰塔巴有哪些亲属在美以袭击中丧生

一张图看懂:穆杰塔巴有哪些亲属在美以袭击中丧生

网易新闻出品
2026-03-09 22:07:03
24小时战局突变!伊朗导弹断崖式下降,美弹药库告急耗空家底

24小时战局突变!伊朗导弹断崖式下降,美弹药库告急耗空家底

命运自认幽默
2026-03-09 16:01:07
特朗普赌更大的!四个最新动向决定中东战事走势

特朗普赌更大的!四个最新动向决定中东战事走势

补壹刀
2026-03-09 19:00:06
Windows 11系统OpenClaw(龙虾)安装教程|保姆级一步到位

Windows 11系统OpenClaw(龙虾)安装教程|保姆级一步到位

星哥说事
2026-03-08 23:47:27
网传山东炼油厂的供应链:伊朗原油洗白后运来炼制,再卖到非洲挣大钱

网传山东炼油厂的供应链:伊朗原油洗白后运来炼制,再卖到非洲挣大钱

三言四拍
2026-03-09 08:13:42
网友吐槽别糊弄老百姓了,又是天才少年发国际论文,谁家的公子?

网友吐槽别糊弄老百姓了,又是天才少年发国际论文,谁家的公子?

眼光很亮
2026-03-08 01:43:40
王思懿在采访里亲口承认,当年拍水浒时和演武松的丁海峰真动了心

王思懿在采访里亲口承认,当年拍水浒时和演武松的丁海峰真动了心

小椰的奶奶
2026-03-10 00:42:19
李延贺煽动分裂国家破坏国家统一 被定罪判刑

李延贺煽动分裂国家破坏国家统一 被定罪判刑

闪电新闻
2026-03-09 17:46:01
显微镜下的人体结构,看完以后,你还觉得人类是进化而来的吗?

显微镜下的人体结构,看完以后,你还觉得人类是进化而来的吗?

深度报
2026-03-08 22:36:08
3月9日俄乌最新:荷兰首相的告别款

3月9日俄乌最新:荷兰首相的告别款

西楼饮月
2026-03-09 19:52:09
刘美贤谈退役复出后夺冠:如果我没有跌落谷底,我就不可能爬上来

刘美贤谈退役复出后夺冠:如果我没有跌落谷底,我就不可能爬上来

互联网大观
2026-03-09 12:49:35
腾讯QClaw内测!个人微信接入龙虾了,普通人能抄的5个变现路子

腾讯QClaw内测!个人微信接入龙虾了,普通人能抄的5个变现路子

商悟社
2026-03-09 14:50:03
比短剧还精彩!四人感情太拥挤:全员不道德,监控画面流出

比短剧还精彩!四人感情太拥挤:全员不道德,监控画面流出

温柔看世界
2026-03-09 17:26:53
2026-03-10 06:59:00

科技要闻

OpenClaw更新,"养虾"再也不会犯健忘症了

头条要闻

媒体:美军用极残酷方式击沉伊朗军舰 令世界不寒而栗

头条要闻

媒体:美军用极残酷方式击沉伊朗军舰 令世界不寒而栗

体育要闻

36连胜终结!大魔王也是可以战胜的

娱乐要闻

薛之谦老婆怀二胎,现身产检心情愉快

财经要闻

油价破100美元年内涨80% 全球市场剧震

汽车要闻

对标奔驰小号G级 路虎小型卫士最新消息曝光

态度原创

教育
游戏
本地
健康
艺术

教育要闻

“赶紧把你儿子放生了吧!”8天花了3w,换来儿子34分,母亲崩溃

《怪物猎人物语3:命运双龙》评测:融为一体"/> 主站 商城 论坛 自运营 登录 注册 《怪物猎人物语3:命运双龙》评测:融为一体 伊東 2026-03...

本地新闻

食味印象|一口入魂!康乐烤肉串起千年丝路香

转头就晕的耳石症,能开车上班吗?

艺术要闻

扎哈·哈迪德事务所未来或更名

无障碍浏览 进入关怀版
×