跳到主要內容

Schat — Google Chat 替代前端

以 Chrome Extension 橋接私有協定,替既有 SaaS 介面打造符合團隊工作習慣的替代前端。

正式營運GWP4 自有產品案例

本案例為 GWP4 自行開發的產品或研究專案,並非外部客戶委託案。列出的內容用於呈現實際技術能力與做法。

  • Chrome Extension
  • 私有協定反向工程
  • 即時訊息
  • 既有系統橋接

背景與問題

被綁在特定 Workspace 工具上的團隊,常常無法改變工具本身,但介面的資訊密度、通知方式與缺少的功能(例如訊息排程)會實際影響每天的工作效率。官方 API 提供的能力不足以做出完整替代介面。

原本的處理方式

只能忍受原生介面,或自行用多個外掛拼湊部分功能。

設計目標

  • 在不改動原服務的前提下,提供資訊密度更高的介面
  • 補上原生缺少的功能:訊息排程、自訂提示音、桌面通知
  • 維持與原服務的即時同步

解決方案

以 Chrome Extension 在原服務分頁內發送請求,沿用瀏覽器既有的登入狀態與驗證簽章,將私有協定的 RPC 包裝成本地前端可用的介面;前端以 React 重建訊息列、頻道分組與討論串動線,再疊加原生沒有的功能。

核心功能

  • Slack 風格的高資訊密度介面
  • 頻道分組與 pin
  • 訊息排程
  • 自訂 emoji 與提示音
  • 桌面通知

系統架構

本地 React 前端(Vite)↔ Chrome Extension(MV3)↔ 原服務分頁內的請求代理 ↔ 私有 RPC 協定。驗證簽章由瀏覽器原生產生,不另行偽造。

技術選擇

  • Chrome Extension MV3
  • React + Vite
  • 私有 RPC 協定橋接

開發過程與限制

  • 官方 API 能力不足,必須透過瀏覽器分頁內的請求才能取得完整功能
  • 私有協定沒有文件,每個功能都需先觀察實際流量再重現
  • 上游服務改版時介面可能失效,屬於維護成本較高的做法

可驗證指標

以下皆為可查證的技術事實,不含未經驗證的成效數字。

執行環境
本地前端 + Chrome Extension(MV3)
補齊功能
訊息排程、自訂提示音、桌面通知
專案狀態
自用中,持續維護

可以延伸到哪些產業

  • 被既有 SaaS 綁定但介面不合用的團隊
  • 需要在不更換系統的前提下改善操作效率的公司
  • 需要與無公開 API 的既有系統整合的專案

想做類似的東西?

不需要先寫好規格。描述目前的流程與資料來源,我們就能評估可行做法與風險。