先看这里:这个功能是做什么的?
「后台消息服务」是给需要“关闭网页或离开 UwU 后,仍然希望后台继续执行任务并收到系统通知”的用户使用的。它和上面的「持续运行增强」不是同一种东西:后台消息服务依靠你自己部署的 Cloudflare Worker;持续运行增强依靠设备端的音频保活。两者可以分别开关,不会因为开启后台消息服务就强制播放音频。
最重要的原则
你不是把自己的 Cloudflare 帐号交给 UwU,也不是使用别人共用的后台。每个人都应该部署自己的 Worker。下面的教程会从“完全不会 Cloudflare”开始,一步一步告诉你点哪里。
① 准备一个 Cloudflare 帐号
如果你还没有 Cloudflare 帐号,先注册并登录自己的 Cloudflare。进入 Cloudflare 后,在左侧找到 Workers & Pages。
你只需要使用自己的 Cloudflare 帐号,不需要把 Cloudflare 密码、API Token 或其他登录信息发给任何人。
② 用项目提供的一键部署链接创建 Worker打开项目提供的 Cloudflare 部署链接,然后按照 Cloudflare 页面提示登录 GitHub 并授权。
点击这里开始一键部署看到 Cloudflare 的「Set up your application」页面后,建议按以下方式填写:
• Git repository:选择
YUEYUE0426/background-message-backend• Project name:可以保持
background-message-backend• Build command:留空
• Deploy command:填写
npm run deploy• Preview command:填写
npx wrangler preview• Preview builds:不需要开启
• Cloudflare Access:不需要开启
然后按 Cloudflare 页面上的部署按钮,等待出现
Success / Build completed / Deployed 之类的成功提示。
③ 找到你自己的 Worker 地址
部署成功后,Cloudflare 会给你的 Worker 一个地址,通常类似:
https://background-message-backend.你的Cloudflare账号.workers.dev
这个地址就是之后要填进 UwU 的「Cloudflare Worker 地址」。请复制你自己 Cloudflare 页面显示的真实地址,不要照抄教程里的示例。
④ 打开 /setup,生成 VAPID 密钥
把刚才的 Worker 地址后面加上 /setup 打开,例如:
https://你的Worker地址/setup
打开后会看到「生成 VAPID 密钥」。点击一次即可生成 VAPID_PUBLIC_KEY 和 VAPID_PRIVATE_KEY。
这里不需要填写邮箱,也不要在生成之后重新生成另一组密钥。如果你已经生成并准备使用这一组,就一直使用这一组。
⑤ 回到 Cloudflare,打开 Variables and Secrets
进入:
Workers & Pages → background-message-backend → Settings → Variables and Secrets
然后依次添加下面 3 个项目。
第 1 个:VAPID_PUBLIC_KEY
Key 填:VAPID_PUBLIC_KEY
Value 填:刚才 /setup 页面生成的公钥
Secret:不要开启
Environment:选择 Production
第 2 个:VAPID_PRIVATE_KEY
Key 填:VAPID_PRIVATE_KEY
Value 填:刚才 /setup 页面生成的私钥
Secret:必须开启
Environment:选择 Production
第 3 个:VAPID_SUBJECT
Key 填:VAPID_SUBJECT
Value 自己填写一个邮箱,例如:mailto:your-email@example.com
Secret:不要开启
Environment:选择 Production
特别注意:VAPID_SUBJECT 不参与密钥生成,所以 /setup 页面没有让你填写邮箱。它是在生成密钥以后,单独在 Cloudflare 这里填写的。
⚠️ 私钥一定要保护好
VAPID_PRIVATE_KEY 属于敏感信息。不要发到聊天群、GitHub、截图或公开网页里。Cloudflare 里请使用 Secret 保存它。AI API Key 也同样不要公开。
⑥ 回到 UwU,填写 Worker 地址
进入 设置 → API → 后台消息服务,打开开关。
在「Cloudflare Worker 地址」中粘贴你自己的 Worker 地址,例如:
https://background-message-backend.你的账号.workers.dev
如果你没有设置 BACKEND_TOKEN,下面的「后台访问 Token」可以保持空白。教程不建议新手一开始设置 Token,等整个功能确认正常以后再考虑是否需要额外保护。
⑦ 先点「测试后台」
填写 Worker 地址后,先不要急着测试通知,先点击 「测试后台」。如果显示连接成功,说明 UwU 已经能够访问你的 Worker。
如果这里失败,优先检查 3 件事:
1. Worker 地址有没有复制错;
2. 地址后面有没有误加 /setup;
3. Cloudflare Worker 是否已经成功部署并处于 Active 状态。
⑧ 注册后台通知
测试后台连接成功以后,再点击 「注册后台通知」。第一次使用时,系统可能会询问通知权限,请选择允许。
iPhone 用户特别注意:iOS Web Push 需要把 UwU 添加到主屏幕,然后从主屏幕的 UwU 图标打开,而不是只在 Safari 标签页里使用。添加到主屏幕后,再进入 UwU 完成通知授权和「注册后台通知」。
⑨ AI API 还是在 UwU 里管理,不需要搬到 Cloudflare
这一点非常重要。你的 AI API 地址、API Key、模型等设置,继续在 UwU 的 API 设置里管理。
以后如果你经常换 API,可以直接在 UwU 里使用「快速 API 设置」或普通 API 设置修改。后台服务会把当前配置同步到你自己的 Worker,不需要每换一次 API 就重新编辑 Cloudflare 项目。
也就是说:Cloudflare 负责后台执行和通知;UwU 负责管理你正在使用的 AI API 配置。
⑩ 第一次测试建议这样做
完成上面的设置后,先保持 UwU 正常打开,确认「后台消息服务」显示连接成功,并完成通知注册。然后发送一条正常聊天消息,观察聊天是否正常。之后再退出到后台或关闭网页,等待你设置的后台任务触发,看看 iPhone 是否收到系统通知。
第一次测试时建议不要同时修改很多设置,这样如果哪里失败,会比较容易找到原因。
⑪ 「持续运行增强」和「后台消息服务」到底有什么区别?
持续运行增强:设备端音频保活方案,主要目的是尽量让网页在后台继续保持运行;它可能会带来额外的耗电。
后台消息服务:把后台任务交给你自己的 Cloudflare Worker,并通过 Web Push 把消息通知发送回设备;它不需要为了后台功能一直播放音频。
两者是独立开关。开启后台消息服务不会强制开启持续运行增强。
⑫ 如果以后想重新部署怎么办?
不要重新生成一组 VAPID 密钥后随便覆盖旧值。只要你继续使用同一个 Worker 和原来的 VAPID 配置,就继续使用原来的密钥。只有在你明确需要更换整套推送身份时,才重新生成并同步替换相关配置。
⑬ 常见问题
「/setup」打不开:确认 Worker 已经成功部署,并且访问的是你自己的 Worker 地址加 /setup。
「测试后台」失败:先检查 Worker 地址、部署状态和是否误把 /setup 填进了 UwU 的 Worker 地址栏。
能连接 Worker,但收不到通知:检查 Cloudflare 的 3 个 VAPID 变量是否都在 Production,尤其确认 VAPID_PRIVATE_KEY 是否使用 Secret,以及有没有在生成后重新生成另一组密钥却没有同步。然后确认 iPhone 已允许通知,并且 UwU 是从主屏幕打开的。
换了 AI API 后后台还在用旧配置:先回到 UwU,确认新的 API 设置已经保存,再让后台服务同步一次。不要去修改 Cloudflare 里的 AI API Key,因为 AI API 配置本来就是由 UwU 管理的。
担心 AI Key 安全:后台任务需要在 Worker 端调用 AI,因此当前 AI 配置会同步保存到你自己控制的 Worker。请只连接自己部署的 Worker,不要把 API Key 同步到陌生服务。
最后给新手宝宝的最短流程:
① Cloudflare 部署自己的 Worker → ② 打开自己的 Worker /setup → ③ 生成 VAPID 公钥和私钥 → ④ Cloudflare 填 3 个 Variables/Secrets → ⑤ 回 UwU 填 Worker 地址 → ⑥ 测试后台 → ⑦ 注册后台通知 → ⑧ iPhone 从主屏幕使用 UwU → ⑨ 正常使用,AI API 继续在 UwU 里管理。