网页版

在浏览器里使用你电脑上的会话:在任何网络上打开 app.kettu.sh,或者不用账号,在你自己的网络、VPN 或 SSH 转发上打开。

网页版就是浏览器里的 Kettu。手机、平板或另一台电脑上的浏览器像别的设备一样和你的电脑配对,之后就能像在窗口里一样使用这台电脑上的会话:同样的会话、设置、主题和 artifact 预览。什么都不用装。

有两种打开方式:

在任何网络上用

在 app.kettu.sh 上,浏览器经 Kettu 中继连到你的电脑,两边各在哪个网络都行:不用 VPN,不用转发端口,电脑上也不开对外的端口。中继只转发浏览器和电脑之间端到端加密的内容,读不到你的会话。

两边登录同一个 Kettu 账号后就能用:

  • 电脑上,打开设置 › 账号登录,再在设置 › 远程访问里开着使用 Kettu 中继。
  • 浏览器里用同一个账号登录。这个浏览器算账号的一台设备。

打开 app.kettu.sh,点登录。Kettu 官网会请你登录,已经登录的只要确认一下,然后带你回来。

在电脑上打开设置 › 远程访问,点添加设备…,打开方式保持App。

用设备的相机扫二维码,或者在浏览器里打开链接。在没装 Kettu App 的设备上,链接会带着配对码打开 app.kettu.sh。

电脑上的 Kettu 会问要添加这台设备吗?。点添加。

还没登录时打开配对链接也行:页面先请你登录,登录后接着配对。中继只把浏览器连到登录同一个账号的电脑上,所以要用电脑上登录的那个账号。

没有 Kettu 账号,或者电脑上关了中继时,改用电脑自己提供的页面:在同一网络、VPN 或 SSH 转发上打开,见下面。这个页面直接连到电脑,什么都不经过 Kettu 的服务器。

在自己的网络里用

你电脑上的 Kettu 在远程访问的端口上自带网页版,不需要账号。先打开设置 › 远程访问。电脑上的 Kettu 在运行时才打得开这个页面。

在电脑上打开设置 › 远程访问,点添加设备…,打开方式选浏览器。

用设备的相机扫二维码,或者在同一网络或 VPN 里的设备上用浏览器打开链接。链接形如 http://192.168.1.20:47821/pair#…,带着电脑的一个地址和端口。电脑有不止一个地址时,比如 Wi-Fi 地址和 Tailscale 地址,用地址选链接用哪一个。

页面连上后显示在显示这个码的地方确认。电脑上的 Kettu 会问要添加这台设备吗?,名字类似 Safari · iPhone。点添加。

页面显示已添加,正在打开 Kettu…,然后打开 Kettu。

还没配对的浏览器打开不带码的地址时,页面显示在这个浏览器里用 Kettu和一个配对链接输入框:把添加设备里的链接粘贴进去,浏览器的链接和 App 的链接都行,点配对。已经配对的浏览器也能添加别的设备,用它自己的设置:设置 › 远程访问 › 添加设备…。

浏览器按地址分别保存配对。同一个浏览器分别用电脑的局域网地址、Tailscale 名字和 SSH 转发的 localhost 打开,要各配对一次,电脑上也会列成那么多台设备。换了端口后,要在新端口上重新添加这个浏览器。

连到电脑

浏览器连的是它打开页面时用的地址,所以这个地址要能连到电脑。

在同一个 Wi-Fi 或有线网络里,用电脑的私有地址打开链接;有不止一个地址时,在地址里选它。

纯 http

用网络地址打开时,页面是经纯 http 送来的,上面会显示这个页面在网络上没有保护。

对话仍是端到端加密的,但页面本身是没有保护地送来的:同一网络里能篡改流量的人能换掉这个页面,被换掉的页面能看到你在里面看到的一切。在不信任的网络里,经 SSH 转发用 localhost 打开,或者用 HTTPS(比如 Tailscale 的)打开。在 https 和 localhost 上不会出现这条提醒,浏览器也会把这个浏览器的密钥存成页面读不出来的形式。

如果你觉得用过的页面可能被换掉了,就在电脑上的设置 › 远程访问里移除这个浏览器,就像设备丢了一样。

在浏览器里用

配对的浏览器能做配对设备能做的一切:实时看会话、发消息、批准或拒绝权限请求、新建和改名会话、发送文件、打开图片视频和项目文件、查看项目的改动。终端要在允许终端开着时才打得开。

窗口里会弹出文件夹选择器的地方,比如打开项目,浏览器里改成填电脑上的路径。填完整路径,或者用 ~ 开头表示你的主文件夹。Tab 补全名字,↑ 和 ↓ 在列表里移动,Enter 选中当前那一项。

电脑上的 Kettu 更新后,页面会提示电脑上的 Kettu 更新了,旁边有刷新。

浏览器里的设置

浏览器里能看到窗口的所有设置分区,只少了只有桌面应用才能做的:没有浏览器分区,因为内置浏览器在桌面应用里运行;通用里没有Agent 或终端命令正在运行时,退出前先询问、在后台运行和登录时打开;没有界面缩放,页面由浏览器自己缩放;通知里没有程序坞或任务栏上的数字角标;关于里没有第三方声明。

设置分两类:

类别设置改动去哪里
电脑的为新会话生成标题、Agent、终端 › Shell、Git、MCP 服务器、高级 › 代理、远程访问和它的设备、分享,以及关于里的更新改在电脑上,窗口和其他配对的设备上都会跟着变
这个浏览器的语言、外观、通知、终端的字号和其余的设置只存在这个浏览器里,就像每个窗口有自己的一份

在设置 › 远程访问里,这个浏览器标着这个浏览器。在浏览器里关掉远程访问,所有设备都会断开,这个页面也一样,要等电脑上重新打开远程访问才连得上。

设置 › 主机显示这个页面连着的电脑,以及它是否在线。“这个浏览器在……上”一组里的名字,是电脑的设备列表里显示的这个浏览器的名字,页面连着时才能改。点忘记…,会清掉这个浏览器连电脑用的东西,回到配对页;电脑上仍列着这个浏览器,直到在那边移除。

主题

主题和窗口里一样,只是主题文件都在电脑上:

  • 配对的浏览器都能用电脑上装好的主题,也能从主题库或文件安装新的。
  • 用哪个主题由每个浏览器自己决定。在浏览器里装或选的主题只在这个浏览器里生效,电脑上的窗口保持它自己的主题。
  • 主题的菜单里用复制路径代替在访达或资源管理器中显示,复制的是主题文件在电脑上的路径。
  • 点移除…,会删掉电脑上的主题文件,所以每个窗口和浏览器里都没有它了。

颜色模式、文字大小和减弱动态效果也是这个浏览器自己的。

通知

页面开着但不在前台时,放在后台标签页也行,浏览器会显示 Kettu 的通知,事件和窗口的通知一样,按这个浏览器的设置 › 通知里的开关。点通知会跳到那个会话。关掉的页面收不到。

浏览器只给 https 或 localhost 上的页面发通知。用纯 http 打开时,设置 › 通知里会说明这一点:经 SSH 转发用 localhost 打开,或者用 HTTPS(比如 Tailscale 的)打开,才收得到。

发送测试通知第一次会请浏览器授权。浏览器屏蔽了这个页面的通知时,在浏览器里这个网站的设置中允许后再试。