简要总结
Web
这页说明书讲的是怎么让一个叫“网关”的小电脑,通过网页来和我们玩。就像你有一个遥控器,可以在浏览器里控制它。它会告诉你,怎么设置才能安全地打开这个控制页面,还有用哪些不同的方法(比如用Tailscale这个工具)来连接它。如果你想让网关在网页上工作,或者想知道怎么保护它不让坏人进来,就看这一页。
五岁小孩版解释
这个“网关”就像你家网络的一个小管家。它有一个自己的小控制台,是一个网页。你可以在浏览器里打开这个网页,就像打开一个游戏网站一样,来管理和控制它。
怎么找到这个控制页面?
默认情况下,你可以在浏览器地址栏输入 http://<电脑地址>:18789/ 来打开它。这里的 <电脑地址> 就是你运行网关的那台电脑的名字或数字地址。你还可以给它加一个“小房间号”,比如 /openclaw,这样地址就变成了 http://<电脑地址>:18789/openclaw。这个“小房间号”可以通过设置 gateway.controlUi.basePath 来改变。
它还能做什么?
除了控制页面,如果打开了“小钩子”功能(设置 hooks.enabled=true),网关还能接收网络上其他服务发来的通知消息,就像一个可以接电话的邮箱。
怎么打开或关闭控制页面?
这个控制页面默认就是打开的,只要网关旁边放着它的“衣服”(就是 dist/control-ui 文件夹里的文件)。你可以在一个叫配置文件的地方控制它:
- 找到
gateway.controlUi这个设置。 - 把
enabled改成true就是打开,false就是关闭。 - 如果你想改“小房间号”,就设置
basePath,比如"/openclaw"。
用不同的方法连接(像走不同的路) 这里有几种主要的方法,你可以选一种:
用Tailscale的“代收”服务(推荐像请邮差帮忙) 这是最推荐的方法。让网关只在家里(loopback)待着,请Tailscale这个“邮差”帮我们把网页送出来。
- 怎么做:在配置里,把
gateway.bind设置成"loopback",再把gateway.tailscale.mode设置成"serve"。 - 然后,在电脑上输入命令
openclaw gateway启动它。 - 最后,在浏览器打开
https://<你的魔法域名>/就能看到了。
- 怎么做:在配置里,把
直接连到Tailscale网络里 这个方法让网关直接待在Tailscale这个大社区网络里。
- 怎么做:在配置里,把
gateway.bind设置成"tailnet",并确保gateway.controlUi.enabled是true。重要:必须设置一个密码锁,比如gateway.auth.mode: "token"并给一个token密码。 - 然后,用命令
openclaw gateway启动(因为不在家里了,必须告诉它密码)。 - 最后,在浏览器打开
http://<你的Tailscale地址>:18789/。
- 怎么做:在配置里,把
让全世界都能看到(用“漏斗”模式) 这个方法很强大,能让互联网上所有人都能访问你的网关页面,但要非常小心!
- 怎么做:在配置里,把
gateway.bind设置成"loopback",再把gateway.tailscale.mode设置成"funnel"。必须设置一个共享的密码,比如gateway.auth.mode: "password"。 - 然后启动网关。
- 这样,通过Tailscale的特殊链接,别人就能访问了。
- 怎么做:在配置里,把
安全小贴士(像锁好门一样重要)
- 默认情况下,打开控制页面需要密码或Token(像一把钥匙)。
- 只要网关不是只待在自己家(
loopback),就必须设置一个大家共用的密码(通过gateway.auth设置)。 - 如果想让控制页面从别的网站打开(非
loopback),必须明确告诉网关哪些网站是允许的,设置gateway.controlUi.allowedOrigins。如果不设置,网关会拒绝启动,这是为了保护你。 - 有一个很危险的设置
gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback,除非你非常清楚在做什么,否则不要打开它,它会降低安全性。 - 当你用上面第一种“代收”方法时,如果设置
gateway.auth.allowTailscale: true,Tailscale可以帮你证明身份,可能就不需要额外密码了。但其他一些接口还是需要密码。 - 特别注意:如果你用了“漏斗”模式让全世界访问,必须使用密码模式 (
gateway.auth.mode: "password"),不能用Token模式。
如果控制页面不见了怎么办?
网关是从一个叫 dist/control-ui 的文件夹里拿出网页文件的。如果你需要重新制作这些文件,可以运行这个命令:pnpm ui:build。第一次运行它会自己准备好需要的材料。