2026年1月16日

開源推播通知服務閘道(Push Notification Service)系統 - DotPusher

前言:

手機要收通知,通常需要個Line、Telegram、DCard之類的通訊軟體,或者是pushover之類的推播軟體,如果是Line、Telegram串接太複雜,pushover要收費,原理不難,而且有現成的gorush可以參考,乾脆自己做。

成果:

整份專案在
https://gitlab.com/ycfunet/dotpusher

實做過程:

實做過程還好,事實上,整個專案還未完成,它的完整版應該包括2塊:
  1. DotPusher - 推播閘道:這個是把各平台的推播轉換成簡易的RESTFul API呼叫,並加上Queue處理
  2. OmniPusher - 使用者推播服務:這個是個推播帳號註冊平台,目前參考pushover實做中,它的功能是註冊使用者,綁定裝置到使用者,推播給使用者時,底層會直接呼叫DotPusher API進行裝置推播,其實就是使用者轉換成裝置的服務平台
設計上,DotPusher可能放在雲端,OmniPusher則可能放在Web應用服務端,甚至可能整合到Web應用服務當中。
DotPusher的定位是能支援各個推播平台的推播服務,目前能支援MacOS/iOS的Apple APNS、Android/Web的Google FCM、Web原生的WebPush,正在實做Windows的WNS以及華為的Push Kit。

喔~對了~測試過程中,Android收FCM遇到,連發3次,但只收到第1次,後面幾次收不到,雖然AI是說FCM節流,但我猜可能是Android端實做有問題,因此目前Android端測試程式沒放。

結論:

這次結論比較特殊 😄
這次的專案實做有個很大的不同點,這次第一次用GLM-4.7的Claude-Code開發,使用心得是:
以程式開發來說,GLM-4.7和Opus, Sonnet相比,基本上差異不大
Opus, Sonnet的語句理解能力的確比GLM-4.7精確,另外一個有趣的點是,GLM-4.7比較不討論,直接就做了,對話的語句比較少,跟它說,按照「這樣這樣」修改,它就改成「這樣這樣」,如果是Opus, Sonnet則會潤飾後寫出。
Opus, Sonnet通常會討論,會回應,你是否想這麼做,或者說,你覺得下面這些方案如何,GLM-4.7則比較直接回覆「你想要怎麼做?」,也比較不幽默 😄,我跟它說作者要寫你唷,它就只是把作者加上它名字,但在Opus, Sonnet則會說,我感到很榮幸。


沒有留言: