PartyKit 實驗室
Collaborative workspace with connected real-time rooms

Internal prototype / realtime collaboration

PartyKit 展示站

用一個內部頁面快速說明 PartyKit 適合處理的協作場景:房間、presence、 WebSocket 訊息,以及多人同步 UI。

Rooms 用房間切分多人狀態
Presence 游標、在線名單、暫態訊號
WebSocket 低延遲雙向同步
Edge 貼近使用者的協作服務
展示目標

讓團隊用 3 分鐘理解 PartyKit 能解哪種問題

這個站台把核心概念濃縮成可閱讀、可互動、可發布到 GitLab Pages 的內部展示頁。 互動區會建立真正的 PartyKit WebSocket 連線,同房間的分頁會收到同一份 room 狀態。

適合情境
  • 共同編輯、白板、聊天室、遊戲房間
  • 需要知道誰在線上、誰正在操作
  • 事件需要即時廣播,但不必每次都打 REST API
落地提醒

GitLab Pages 只負責展示頁。即時同步由 PartyKit room 處理;只有需要集中儲存資料、 串內部權限或接公司內部系統時才需要找 SRE。

Live PartyKit demo

多人房間同步模型

這裡會連到 PartyKit room。開兩個分頁、選同一個 room,編輯 note 或送出事件時, 另一個分頁會透過 WebSocket 收到更新。

Connecting to PartyKit...
Room Design Room
M
Mina editing block A
K
Kai reading updates
T
Tao reviewing state

How it maps to PartyKit

從靜態展示到正式即時房間

01

Browser client

前端建立 WebSocket 連線,送出游標、編輯事件、presence 訊號。

02

Party room

這個 repo 的 `party/index.ts` 會建立 room state,並處理 note、事件與 presence。

03

Broadcast

房間邏輯收到事件後廣播給同房間成員,讓 UI 快速反映最新狀態。

04

Persistence

只展示暫態同步不需要儲存層;需要保存歷史或跨裝置查詢時,再接資料庫與權限控管。

Deployment notes

內部展示發布方式

這個 repo

`public/` 是展示頁;`party/index.ts` 是 PartyKit room handler。 `.gitlab-ci.yml` 會把展示頁交給 GitLab Pages。

檢視權限

若只是公司同仁展示,建議限制為專案成員或 GitLab 登入者。 不要把 secret、token 或敏感資料放進前端。

下一步

目前互動區已連 PartyKit WebSocket。要換測試環境時,直接改 PartyKit host 欄位。