exe 现在一行命令就能装好。把这行命令粘贴到 Linux 或 Mac 的终端,或是 Windows 的 PowerShell 里,回答几个问题,它就会打印出你的桌面地址。exe 是一台带着 Mac OS 9 味道的幻想电脑:桌面在浏览器里,背后是你自己的机器,Claude Code 和 Codex 就在窗口里运行。Tailscale 把这个桌面带到你的手机上,Cloudflare Tunnel 则把 agent 做出来的东西公开到网上,用的是你自己的域名。
一行命令
在此之前,想用 exe 得先 git clone 再 make build,机器上还得有 Go。现在有了安装脚本,支持 Linux 和 macOS 13 及以上版本:
curl -fsSL https://exe.v2core.com/install.sh | sh
在 x86-64 处理器的 Windows 11 上,用 PowerShell:
irm https://exe.v2core.com/install.ps1 | iex
脚本从 GitHub 下载最新版本,核对这个版本的校验和,然后问几个问题:exe 在哪里监听,要不要启用 API 令牌(也就是桌面的密码),要不要装上附加应用;机器需要的话,还会问要不要为运行 Linux 虚拟机(VM)做好准备。最后一个问题答完之前,什么都不会安装;每个问题都直接回车,就是稳妥的装法:仅限本机访问,不用 sudo。只有虚拟机这一步要用 sudo,在 Windows 上要的是管理员权限,而且它会先列出要运行的命令。
装好之后,exe 以你自己的用户身份运行:在 Mac 和 Windows 上随登录启动,在使用 systemd 的 Linux 上随开机启动;要是做不到,安装脚本会告诉你该运行什么。要升级到最新版本,运行 exe update;要卸载,运行 exe uninstall,虚拟机和文件原样保留。其余的都写在 Installing(安装)这一页里,内容可能比已发布的版本超前一点。
给 Claude Code 和 Codex 的桌面
在桌面上,Claude Code 和 Codex 是两个双击就能打开的图标。机器上装了哪个 CLI,哪个图标才会出现;窗口里的 CLI 就运行在这台机器上,也就是宿主机上。安装和登录都要你自己来,用运行 exe 的那个用户去做;这两件事 exe 都不管。
在装了 tmux 的 Linux 或 Mac 宿主机上,这个窗口还多了几样东西:
- 浏览器关了,会话还在。每段对话都是宿主机上的一个 tmux 会话。关掉标签页,agent 继续干活;在任何浏览器里打开这个窗口,就又回到了这段对话里。
- 会话排成一栏。闪烁的绿点表示会话还在工作,黑点表示它在等你。
- 一轮结束就有推送。打开通知后,如果一轮结束时,你已经有一分多钟没在这个会话里输入,手机就会提示 Claude Code finished 或 Codex finished。点一下就能打开这个会话。
- 拖放传文件。把截图或日志拖到窗口上,文件随即上传,路径也会输入到提示符后面。
要是没有 tmux,或者是在 Windows 上,每个窗口都是从头运行一次 CLI。
每台设备上都是同一个桌面
exe 在哪里监听,是安装脚本问的第一个问题;机器上有 Tailscale 的话,选项里会有它的 Tailscale 地址。Tailscale 在你自己的设备之间组一张私有网络,也就是 tailnet;要先在宿主机和每台设备上把它装好,因为 exe 不会替你装。选了这个地址,tailnet 里的任何一台笔记本电脑、平板或手机都能打开桌面,不用向互联网开放任何东西。这时安装脚本会建议启用 API 令牌,并把生成的令牌打印出来:每个浏览器里都要把它粘贴到 Special → Set API Token… 中。
在手机上,桌面变成摆满图标的主屏幕,每个窗口都占满整个屏幕。exe 走的是明文 HTTP;Tailscale Serve 可以在它前面加一层 HTTPS,仍然不出你的 tailnet。有了 HTTPS,桌面就能安装成应用(iPhone 上是“添加到主屏幕”);打开通知之后,手机就是通过这个应用收到通知的。
从一句提示词到一个域名
这些窗口里的 agent 运行在宿主机上,exe 的虚拟机就是它的沙箱。选 Help → Agent Skill Guide…,按 Copy Prompt,再粘贴到窗口里。这段提示词让 agent 去读 /skill.md,也就是 exe 提供给 agent 的指南;指南里的第一个示例走的就是整条链路:创建一台虚拟机,在里面启动一个服务,确认端口在监听,再把它发布出去。
有两件事要先办好。在 Linux 上,虚拟机需要 KVM,也就是内核的虚拟化支持,还要先做过安装脚本里虚拟机那一步。发布之前,要在 Special → Cloudflare Setup Wizard… 里把 Cloudflare 设置好,只需一次:要有一个托管在 Cloudflare 的域名,一条正在运行、远程管理的 Cloudflare Tunnel,以及一个 Cloudflare API 令牌。隧道的连接器 cloudflared 还必须能连到 exe,地址是 advertise_host 里填的那个。选 Tailscale 地址安装的话,这一项会自动填好;如果安装时选的是仅限本机访问,就让 cloudflared 跑在同一台机器上,并在 Configuration 里把这一项设为 127.0.0.1。
然后提要求:
Build a guestbook in a new VM and
publish it as guestbook.
agent 的最后一步是一次调用:POST /v1/vms/{name}/expose,在 shell 里则是 exe expose。exe 在 Cloudflare 创建 DNS 记录,给你的隧道加一条规则,在自己的代理里加一条路由,https://guestbook.your.domain 就上线了。
Tailscale 是私有的入口,留给你自己。Cloudflare Tunnel 是公开的出口,留给你做出来的东西。
试一试
运行上面的安装脚本,打开桌面,把 skill 指南交给你的 agent。文档从 Getting Started(入门)读起,源代码在 github.com/livid/exe。