做了一个 Android 消息转发工具「消息接力」,开源出来听听大家意见

发布于

## 起因

之前用过一些同类型的短信 / 通知转发工具,功能都很完善,不过自己实际使用下来,感觉配置稍微复杂了一些。

我的需求其实比较简单:

- 把备用安卓机上的重要消息同步出去
- 配置尽量少一些
- 收到的推送尽量清爽
- 不需要额外搭建服务器

所以后来按照自己的实际使用需求,做了一个相对简单的版本——**消息接力 Message Relay**。

![消息接力](http://pic.zhso.org/2026/08/13/55597c7df596.png)

---

## 目前实现了什么

目前支持转发:

- Android 短信
- 电话相关通知
- 微信 / 普通 APP 通知

推送渠道目前支持:

- Bark
- 飞书
- 钉钉

整体使用流程比较简单:

**配置推送渠道 → 选择需要转发的应用 → 开启相关权限 → 开始使用**

![使用流程](http://pic.zhso.org/2026/08/13/ed626c8df68a.jpg)

### 推送渠道

目前 Bark 、飞书和钉钉都集中放在推送渠道里配置。

![推送渠道配置](http://pic.zhso.org/2026/08/13/8d83c640bc1e.jpg)

---

## APP 选择

默认主要关注短信、电话和微信,其他已经安装的 APP 也可以自行搜索和选择。

之前尝试加入过比较多的单应用独立配置,但自己实际使用以后感觉有些复杂,所以后来又做了一次精简。

![APP 选择](http://pic.zhso.org/2026/08/13/74232d9d1fda.jpg)

---

## 「仅锁屏时推送」

这个功能主要是解决重复提醒的问题。

比如备用机现在就在自己手里使用,这时候我并不希望另外一台设备再收到一次相同的通知。

所以加入了「仅锁屏时推送」:

- 手机解锁并正在使用:不转发
- 锁屏 / 息屏 / AOD:正常转发

![仅锁屏时推送](http://pic.zhso.org/2026/08/13/6410aa462360.jpg)

---

## 实际收到的消息是什么样

推送格式这块我也做了一些精简。

自己不太喜欢收到一条消息以后,里面出现大量应用名称、内部状态、调试字段之类的信息,所以短信、电话和普通 APP 通知目前都尽量只保留真正需要的内容。

### 短信推送

![短信推送](http://pic.zhso.org/2026/08/13/01aa69ed5b13.jpg)

### 电话推送

![电话推送](http://pic.zhso.org/2026/08/13/dd2925838eec.jpg)

### APP / 微信通知

![APP通知](http://pic.zhso.org/2026/08/13/54ee8ad4dab4.jpg)

---

## 其他功能

目前还实现了:

- 免打扰
- 双卡 SIM 识别
- SIM 名称自定义
- 消息模板
- 历史记录
- 备份 / 恢复
- 后台运行检查
- 自动 / 手动检查更新

### SIM 管理

![SIM管理](http://pic.zhso.org/2026/08/13/3ad955ff2bbc.jpg)

### 历史记录

![历史记录](http://pic.zhso.org/2026/08/13/0d20cc025e5b.jpg)

### 其他设置

![其他设置](http://pic.zhso.org/2026/08/13/895fdbdaf4b6.jpg)

---

## 关于开发方式

这个项目大量使用了 Codex 辅助开发。

大概的开发方式就是:

1. 自己提出实际使用需求
2. 使用 Codex 辅助实现
3. 放到真机上测试
4. 发现问题
5. 再继续修改
6. 重新测试

很多功能其实也是实际用了一段时间以后,觉得设置太复杂或者逻辑不太合理,又重新删掉或者简化的。

![开发过程](http://pic.zhso.org/2026/08/13/d05774cf9621.png)

---

## 目前还有哪些问题

现在还是测试版本,有几个已经知道的问题。
### 1. 电话实时信息

部分 Android 设备在电话正在响铃的阶段,号码、联系人和归属地可能无法及时取得。

目前一般需要等通话结束以后,再通过系统通话记录进一步补全。

这部分在不同 Android 版本和不同厂商 ROM 上的表现也不完全一样。

### 2. 消息时间重复

目前部分短信、电话或者 APP 推送里,可能会出现接收时间重复显示的问题。

这个属于显示层的问题,目前还在继续修改。

### 3. 微信通知

微信联系人 / 群名称能够获取多少,主要取决于微信实际提供给 Android 通知系统的数据。

如果当前版本的微信没有把相关信息提供给系统通知,第三方通知监听也无法直接获得完整的会话信息。

---

## 开源地址

GitHub:

[https://github.com/MSCNUAN/message-relay-android](https://github.com/MSCNUAN/message-relay-android)

目前还是测试阶段,源码、README 和后续版本都会继续更新。

---

## 最后

目前比较希望测试的是不同 Android 版本和不同厂商 ROM 下的兼容情况。

尤其是:

- 电话号码获取
- 双卡 SIM 识别
- 微信通知解析
- 后台存活
- 锁屏状态判断

如果有人愿意帮忙测试,或者觉得现在某个设计逻辑不太合理,欢迎交流。

有 Bug 也可以直接通过项目 Issue 反馈。

目前自己的想法还是尽量不为了功能数量去堆功能,优先把已经有的东西做简单、稳定、好用。

---

原文链接:[点击查看](https://www.v2ex.com/t/1234117)

评论(2)

光写个 README 就放出来叫开源,你这开源开个啥呢……

· 0 个赞

现在用 AI 辅助写这种工具确实非常快。不过这种转发类的需求每个人都不太一样,要是想大包大揽兼顾所有人,最后往往会变得臃肿;但如果只按自己的需求做“小而美”,又难免别人想要的功能没有,不想要的功能却有。

比如我朋友也有这个需求就自己手搓了一个,我最近刚好也要用,就在他的项目基础上稍微改了改: https://github.com/equationl/verina 。这个实现更简单,没什么花里胡哨的东西,不过我已经稳定跑了快半个月了,我朋友的原版更是稳定跑了快一年。所以如果有编程基础的话,直接按自己的实际需求定制一个其实最方便。

· 0 个赞

0.052987s