用 Happy 在手机上遥控远端 Mac mini 跑 Claude Code 写代码——很爽,远端算力强、能放手干。但写完后的产物(网页 / 报告 / 可视化 / 图)困死在远端磁盘:手机端没有 file://、没有 localhost、够不着远端文件系统,于是看不到、存不下、发不出。 解法是给产物补一条交付管道:用 Cloudflare 一条命令把产物静态部署成公网站点,输出一个 URL——手机即看、任何人可点、随手分享。
远程开发(尤其手机遥控)真正的瓶颈不在"写",在"交付"。代码在远端跑得飞起,可只要产物还是远端磁盘上一个本地文件,它就不属于你——你看不见、也分享不出去。这一页把这个「最后一公里」断点讲清,并收集这条交付闭环里用到的全部 Skills(操控 → 生产 → 交付 → 验证 → 沉淀,五层)。它本身,就是用文末那条命令发出来的。
从手机按下指令,到产物真正能被看见,中间有一个致命断点。Cloudflare 这一节,就是把断点接上的那座桥。
file:// 双击打开、没有共享的 localhost、也没有远端文件系统访问 → 看不到 / 存不下 / 发不出。链条断在这里。桌面端干活时,产物双击 file:// 就能看,根本没有这个问题。一旦换成手机遥控远端,三道墙同时立起来。
桌面端双击 HTML 即 open。手机遥控时,产物在另一台机器的磁盘上,你手上的浏览器根本访问不到远端文件系统。
远端起个 python -m http.server 也只在远端的 localhost。Tailscale 虽能内网直连,但要端口转发 + 一直开着机,既不持久、更不能丢给别人点。
产物常是"用完即弃"的临时文件,没有稳定地址。想发给同事 / 自己手机存档,连个能点的链接都凑不出来。
Cloudflare Pages 就是这条管道里最短、最省心的一根:无需服务器、无需买域名,*.pages.dev 子域自动给,免费额度足够个人产物用。
把整条链拆成五层,每层列出真正会用上的 skill / 工具。沿用主 guide 的色彩语义:绿=自研 · 蓝=外部生态 · 橙=Cloudflare · 琥珀=环境 · 紫=沉淀。
难点从来不在命令长短,而在三个隐性点:鉴权、非交互的 -y、clean URL 的 308(见下方三块)。命令本身就这么短:
# 1) 准备一个干净目录,把产物复制成 index.html(它会成为根路径 /)
mkdir -p cf-deploy && cp out/report.html cf-deploy/index.html
# 2) 一条命令部署 —— npx 即用即跑不污染全局,-y 免交互(后台/非 TTY 必加)
npx -y wrangler@latest pages deploy cf-deploy \
--project-name my-artifact \
--branch main \
--commit-dirty=true
# 3) 验证(期望 200)
curl -s -o /dev/null -w "%{http_code}\n" https://my-artifact.pages.dev/
# ✨ Success! → 🌎 https://my-artifact.pages.dev ← 把这个 URL 发回手机
npx -y wrangler@latest pages project create <名字> --production-branch main 建项目;之后每次改完只跑第 2 步即可重新发布。
OAuth(wrangler login 走浏览器,token 会自动续期)或 API Token(CLOUDFLARE_API_TOKEN,适合无浏览器/CI)。权限需含 pages (write)。
首次装包的 "Ok to proceed?" 在非 TTY(后台 / 手机遥控)下无人应答会卡死。npx -y 自动确认,是无人值守部署的关键。
Pages 默认把 /x.html 308 永久重定向到去扩展名的 /x。对外只给根路径 / 或无扩展名路径,最稳。