docs: 同步 README/docs(移除闭源声明 + 回复功能说明)
将公开仓库文档同步到最新: - README 移除闭源声明引用块 - README 第四章更新为 Bark/ntfy 远程回复 + 无障碍兼容回复 - 新增 docs/notification-reply.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 通知远程回复
|
||||
|
||||
GotMsg v1.11.0 起支持从 iPhone 或另一台 Android 设备打开 Bark / ntfy 通知里的回复链接。回复会回到运行 GotMsg 的原 Android 手机。v1.12.0 起,除了原生通知快捷回复,还可选择使用无障碍兼容回复处理微信、QQ 等没有提供系统回复动作的聊天通知。
|
||||
|
||||
## 使用方法
|
||||
|
||||
1. 在原 Android 手机的 GotMsg 中启用至少一个 Bark 或 ntfy 配置。
|
||||
2. 保持 GotMsg 的通知读取权限,并让原手机联网。
|
||||
3. 如需回复没有系统快捷回复入口的微信、QQ 等通知,在 GotMsg「设置 -> 通知回复」中开启「无障碍兼容回复」,再到系统无障碍设置中开启「GotMsg 兼容回复」。
|
||||
4. 每条 Bark / ntfy 转发通知都会带回复入口。Bark 接收端直接点通知即可打开回复页,通知正文也会附带回复链接;普通消息不会再跳微信/QQ等原 App。ntfy 接收端可点通知、通知动作或正文中的回复链接;如果 iOS 点通知本体只进入 ntfy App,请点消息正文里的回复链接。
|
||||
5. 网页提交后,原 Android 手机先尝试原通知的 `RemoteInput`;没有该动作时才使用已启用的无障碍兼容回复。GotMsg 的「日志」页会记录结果。
|
||||
|
||||
接收端无需安装 iOS 快捷指令,也无需创建或订阅 `_reply` topic。现有 ntfy server、topic 和 token 配置不需要改动。
|
||||
|
||||
## 生效条件
|
||||
|
||||
- 原生模式要求原 App 在该条通知上提供允许自由文本的 Android `RemoteInput` 动作,可以在后台完成。
|
||||
- 无障碍兼容模式会使用通知的会话入口打开原 App,只对白名单中的微信、QQ、支付宝、淘宝、钉钉生效。页面必须是聊天页,并存在可识别的输入框和明确的「发送」按钮。
|
||||
- 无障碍兼容模式要求原手机已解锁;执行时会亮屏、切换到对应 App。输入框已有草稿时会停止,不会覆盖草稿。
|
||||
- 付款、订单、验证码、营销和系统通知通常没有聊天输入框,即使带回复链接也不能发送回复。
|
||||
- 原通知不能被划掉或被新通知替换;进程未重启时 GotMsg 会短暂缓存通知入口,降低通知更新导致的失败概率。
|
||||
- 回复链接从通知转发起 10 分钟内有效,并且只能成功提交一次。
|
||||
- 原 Android 手机必须联网,GotMsg 进程和通知监听服务需要正常工作。
|
||||
- 某些 App 或定制系统不会向无障碍服务暴露聊天控件;这种情况下网页会显示具体失败原因。
|
||||
|
||||
## 安全说明
|
||||
|
||||
- 每条通知使用独立的 256 位随机回复令牌。令牌放在 URL fragment 中,不会随首次页面请求进入服务器访问日志。
|
||||
- GotMsg 安装时生成独立设备 ID 和密钥;原手机与中继 API 之间的注册、拉取和确认请求均需设备鉴权。
|
||||
- 中继只持久化设备密钥和回复令牌的 SHA-256 哈希。提交后的回复正文会在中继中短暂保存,处理完成后最多保留 24 小时用于状态查询和故障排查。
|
||||
- 拿到有效回复链接的人可在有效期内提交一次回复,因此不要转发或公开该链接。
|
||||
- 无障碍兼容回复仅在收到有效的一次性回复事件时运行,严格校验目标包名,并且只点击文字明确匹配「发送」的控件。该权限能够读取当前窗口内容,只应在你信任的原 Android 手机上启用。
|
||||
- 回复服务使用 `https://r.gotmsg.pp.ua`,不可在 App 设置中修改。部署或域名变更时需同步修改 `ReplyFeature.RELAY_BASE_URL` 并重新发布 APK。
|
||||
|
||||
## 常见失败
|
||||
|
||||
- `回复链接已过期`:通知转发已超过 10 分钟。
|
||||
- `原通知已消失`:原 Android 手机上的通知已被清除或替换。
|
||||
- `请在 GotMsg 设置中开启无障碍兼容回复服务`:应用内开关已打开,但系统无障碍权限尚未开启。
|
||||
- `原手机需解锁后才能回复`:解锁原手机后,重新从一条新通知发起回复。
|
||||
- `未找到聊天输入框` / `未找到明确的发送按钮`:通知没有进入可回复聊天页,或原 App 当前版本的界面需要重新适配。
|
||||
- `聊天输入框已有未发送内容`:GotMsg 为避免覆盖原手机草稿而主动停止。
|
||||
- `原手机未确认回复`:中继未在超时时间内收到原手机处理结果,检查原手机网络、后台限制和 GotMsg 通知读取权限。
|
||||
Reference in New Issue
Block a user