先看这里:这个功能是做什么的?
「后台消息服务」是给需要“关闭网页或离开 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 另一个页面建立 Queue:打开 Cloudflare 控制台的
Queues 页面,点
Create Queue,Queue 名称输入
uwu-ai-jobs 并创建。这个 Queue 名称要完全一致;Queue 不是网址,不用填进 UwU。
建立 Queue 后回到部署页面,再点部署。Worker 的 GitHub 项目已含 Producer 和 Consumer 绑定;部署成功后,在 Worker 的 Bindings 或 Queue 的 Consumers 页面确认
AI_QUEUE 已连到
uwu-ai-jobs。如果 Worker 之前已部署,先建立 Queue,再重新部署最新 GitHub 版本。
③ 找到你自己的 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
然后依次添加下面 4 个项目。
第 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
第 4 个:BACKEND_TOKEN(必填)
Key 填:BACKEND_TOKEN
Value 使用密码管理器生成一段至少 32 字符的随机值,或用安全的随机密码生成器生成。不要使用示例值、邮箱、Worker 地址或容易猜到的密码。
Secret:必须开启
Environment:选择 Production
保存好这段 Token,下一步要原样填写到 UwU。不要贴到 GitHub、截图或聊天中。
特别注意:VAPID_SUBJECT 不参与密钥生成,所以 /setup 页面没有让你填写邮箱。它是在生成密钥以后,单独在 Cloudflare 这里填写的。
⚠️ 私钥一定要保护好
VAPID_PRIVATE_KEY 属于敏感信息。不要发到聊天群、GitHub、截图或公开网页里。Cloudflare 里请使用 Secret 保存它。AI API Key 也同样不要公开。
⑥ 回到 UwU,填写 Worker 地址和必填 Token
进入 设置 → API → 后台消息服务,打开开关。
在「Cloudflare Worker 地址」中粘贴你自己的 Worker 地址,例如:
https://background-message-backend.你的账号.workers.dev
在「后台访问 Token」中,原样填写刚才保存在 Cloudflare Secret BACKEND_TOKEN 的同一段值。地址和 Token 都是必填项;没有正确配置 Token,Worker 会拒绝请求。
⑦ 先点「测试后台」
填写 Worker 地址和 Token 后,先不要急着测试通知,先点击 「测试后台」。如果显示连接成功,说明 UwU 已经能够访问你的 Worker。
如果这里失败,优先检查:
1. Worker 地址有没有复制错,地址后面有没有误加 /setup;
2. Cloudflare 的 BACKEND_TOKEN 是否在 Production 环境保存为 Secret;
3. UwU 中的 Token 是否与 Cloudflare Secret 完全相同;
4. 最新 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 配置。
⑩ 第一次测试建议这样做
完成上面的设置后,确认 Queue 已建立、Worker 部署成功,并在 UwU 完成通知注册。先点 「发送测试通知」:如果 iPhone 收到系统通知,Push 通道正常。再发送一条普通聊天消息,等出现「后台已接收回复任务」提示后切到后台。AI 完成后应收到系统通知;回到 UwU 时会同步回复。
如果测试通知能收到、但 AI 回复通知收不到,检查 Cloudflare Worker Logs 中的 Queue 与推送错误。
⑪ 「持续运行增强」和「后台消息服务」到底有什么区别?
持续运行增强:设备端音频保活方案,主要目的是尽量让网页在后台继续保持运行;它可能会带来额外的耗电。
后台消息服务:把后台任务交给你自己的 Cloudflare Worker,并通过 Web Push 把消息通知发送回设备;它不需要为了后台功能一直播放音频。
两者是独立开关。开启后台消息服务不会强制开启持续运行增强。
⑫ 如果以后想重新部署怎么办?
不要重新生成一组 VAPID 密钥后随便覆盖旧值。只要你继续使用同一个 Worker 和原来的 VAPID 配置,就继续使用原来的密钥。只有在你明确需要更换整套推送身份时,才重新生成并同步替换相关配置。
⑬ 常见问题
「/setup」打不开:确认 Worker 已经成功部署,并且访问的是你自己的 Worker 地址加 /setup。
「测试后台」失败:先检查 Worker 地址、部署状态和是否误把 /setup 填进了 UwU 的 Worker 地址栏。
能连接 Worker,但收不到通知:先点「发送测试通知」。如果失败,查看 Worker Logs 的推送错误;若提示尚未注册,重新点「注册后台通知」。测试通知成功但 AI 回覆无通知时,确认 Queue 的消费者已连接,并查看 Worker Logs。最后确认 iPhone 允许通知、UwU 从主屏幕打开且专注模式没有过滤通知。
换了 AI API 后后台还在用旧配置:先回到 UwU,确认新的 API 设置已经保存,再让后台服务同步一次。不要去修改 Cloudflare 里的 AI API Key,因为 AI API 配置本来就是由 UwU 管理的。
担心 AI Key 安全:后台任务需要在 Worker 端调用 AI,因此当前 AI 配置会同步保存到你自己控制的 Worker。请只连接自己部署的 Worker,不要把 API Key 同步到陌生服务。
最后给新手宝宝的最短流程:
① Cloudflare 创建 uwu-ai-jobs Queue → ② 部署 GitHub Worker 并确认 Queue 绑定 → ③ 打开 Worker /setup 生成 VAPID 密钥 → ④ Cloudflare 填 3 个 Variables/Secrets → ⑤ 回 UwU 填 Worker 地址并测试 → ⑥ 注册后台通知并发送测试通知 → ⑦ iPhone 从主屏幕使用 UwU → ⑧ 正常聊天并切到后台等待回复。