ARTICLE · 1350427
Hermes webapp
🌐
Hermes webapp
桌面版搬上浏览器
v0.23 版本Hermes 新版本,新东西加了 webapp,把桌面版搬进了浏览器,同一批会话、插件、设置,手机上打开就能用。默认关着,要出门用,得给它一条能访问的地址,再叠一道邮箱验证码。这篇把隧道、反代、双门登录的顺序写出来。
#Hermes#webapp#Cloudflare#Nginx#双门登录
01桌面版内置在浏览器里
🌐 webapp 是 v0.23 版本新增的功能,把桌面版的内容内置,用浏览器访问。整个桌面工作区搬进来,同一批会话、群聊、插件、设置,打开就能用。

▲ 浏览器里的桌面工作区
桌面 App 得在设备上装一遍,webapp 不用,浏览器打开就能用。手机、平板、别的电脑上都能临时用。
它管的不只是聊天。会话、profile、能力、消息、制品、定时任务,宿主的文件树、Git 审查、预览、终端,都在里面。
官方把这页叫 Workspace,别和 hermes dashboard 那个 Web Dashboard 混了。
官方写明白了一句话。所有界面都是同一个 agent,同配置、同密钥、同会话、同技能、同记忆。在这儿聊到一半,CLI 接着往下跑,接得上。
默认关着,开完在局域网里打开就能用。本地上用,敲 hermes webapp,它生成一个一次性链接,60 秒内打开。登录状态存在标签页里,刷新、网关重启都不掉。
不过这条地址停在家里。
02六步把 webapp 开起来
📍 第 1 步 Cloudflare 隧道上开一个子域名没有公网IP,这条隧道通到家
📍 第 2 步 NAS 的 Nginx 端口反代加一条,新域名指向 appstore_hermes:9120,WebSockets 打开
📍 第 3 步 加 Cloudflare Access
📍 第 4 步 让 Hermes 改 config,四个值
●webapp.enabled 设为 true
●host 设为 0.0.0.0
●port 设为 9120
●public_url 设为 https://新域名
📍 第 5 步 重启 Docker
📍 第 6 步 浏览器打开新域名,过 Cloudflare 验证,进 Dashboard 登录,登完弹出 Desktop 界面
六步走完,webapp 从外面就能打开。第 3 步的 Cloudflare Access 怎么加,往下配。
03双门登录怎么配
🔐 双门登录指 Cloudflare 验证和 Hermes Dashboard 登录。
第一道门在 Cloudflare 这边配,用 Zero Trust 的免费套餐。
不加 Access,公网上就剩登录界面挡着。知道域名的人都能看见它,也能试密码。
加了,验证码只发给你填的那个邮箱,别的人挡在 Cloudflare 那层,到不了登录页。
📍 第 1 步 Zero Trust 开通 Free 套餐
📍 第 2 步 Access Control 里新建一个 Application
📍 第 3 步 Destinations 的 Public hostname 填 public_url 的域名

▲ Destinations 填域名
📍 第 4 步 Access policies 里加一条规则,Action 选 Allow,Include 选 Emails,填验证用的邮箱

▲ 规则按邮箱放行
📍 第 5 步 Additional settings 里把 domain 改成 Default

▲ domain 选 Default
📍 第 6 步 有效时间可以改一下

▲ 有效时间可以改
04外面打开,先收验证码
Application 建完,外面用浏览器登录的时候,先收到邮箱验证码,过了再进 Dashboard 登录界面,两道门都过了才到 Desktop。

▲ 先过邮箱验证码
域名、隧道、反代、邮箱,四样东西串起来,外面的门就开着。
05远程网关也加把锁
🔒 webapp 上好了锁。Hermes Desktop远程网关桌面版走远程网关连极空间上的 Hermes,远程网关也开着,给它也来一道。
📍 第 1 步 Access Control 的 Service credentials 里建一个 Service Token
名字 hermes-desktop,有效期可以选长期
Client ID 和 Client Secret 只出现一次,复制保存
📍 第 2 步 Policies 加一条 Service Auth,Include 选 Service Token,填 hermes-desktop
浏览器走 owner-only,桌面端走 desktop-service-token
邮箱用不上:邮箱验证要人打开登录页、看邮箱、输验证码。桌面版连远程网关是机器在连,连的时候没人在屏幕前看邮箱。所以不用验证码,用 token。
📍 第 3 步 Windows 桌面端 设置 已保存的连接,编辑,网关请求头里填 Client ID 和 Client Secret

▲ 保存的连接里加请求头
保存后测连接,显示可访问,重开 Desktop
06手机端 App 的消息
📱 手机版也开了 beta。iOS 走 TestFlight 进,Android 走 Firebase App Distribution 进,连上自己的网关之后,聊天、批准工具调用、管 routines,入口在官网的 mobile 页。
我猜这个 app 就是 webapp,打包成了 iOS 和安卓的客户端。
🎉欢迎关注、设为星标
更新会第一时间推给你
