Skip to content
Hsiehting Lin edited this page Jul 3, 2026 · 1 revision

team-plus-server Wiki

把你的 TeamPlus 訊息歷史掌握在自己手上 — 每一則訊息(含圖片、檔案)都寫進自己的雲端資料庫,並橋接到 Telegram。不需要一直開著筆電。

這是什麼?

team-plus-server 是圍繞一個 TeamPlus 帳號打造的自架工具組,由兩個獨立的部分組成:

  1. Telegram 橋接(channel/) — 一個常駐的 Bun daemon,把進來的 TeamPlus 訊息鏡射到 Telegram bot DM,讓你可以直接在手機上回覆(或由 AI 助理代擬回覆)。同時內建 MCP server,讓 Claude Code 也能操作。
  2. 雲端封存(worker/) — 一個 always-on 的 Cloudflare Worker + Durable Object,把每一則訊息寫進你自己的 Turso(SQLite)資料庫,建立一份私有、可查詢的紀錄:誰、何時、在哪個聊天室、說了什麼 — 涵蓋 DM、群組與 bot。附件會下載存進 R2。

兩者都透過同一組帶認證的 WebSocket + REST 端點與 TeamPlus 溝通。TeamPlus 站台網址由 TEAMPLUS_BASE 設定,原始碼中不含任何特定組織的資訊。

⚠️ 注意: TeamPlus 沒有公開 API。本專案驅動的是網頁版客戶端使用的相同端點,以你自行更新的 session cookies 認證。請只用於自己的帳號,並遵守所屬組織的政策。

架構總覽

                          ┌─────────────────────────────┐
   你的 TeamPlus 帳號      │  TeamPlus (TEAMPLUS_BASE)    │
                          └───────────┬─────────────────┘
              WebSocket + REST(session cookies)
                          ┌───────────┴───────────┐
            ┌─────────────▼──────────┐   ┌─────────▼───────────────────┐
            │ channel/  (Bun daemon) │   │ worker/  (Cloudflare Worker)│
            │ • TeamPlus WS 監聽     │   │ • Durable Object 持有       │
            │ • Telegram 橋接        │   │   cookie + WS,自我修復     │
            │ • Claude Code 的       │   │ • 正規化每一則訊息          │
            │   MCP server           │   │ • 解析傳送者/聊天室名稱     │
            └───────────┬────────────┘   │ • Turso + R2 附件           │
                        │                └─────────────┬───────────────┘
                 Telegram bot DM                       │
                        │                         Turso (SQLite)
                     你的手機                   誰 / 何時 / 何處 / 什麼

兩半各自獨立 — 可以只跑其中一個,也可以都跑。雲端封存部署後不需要任何本機程序;唯一的例行工作是重新上傳新的 cookies(約每日一次),由 GitHub Actions cron 代勞。

主要功能

  • 🗄️ 雲端訊息封存 — Durable Object 持有 TeamPlus WebSocket,把每則訊息寫入 Turso
  • 🏷️ 名稱解析 — 數字 ID 透過 TeamPlus REST API 解析為真實姓名(session 內快取)
  • 🖼️ 附件封存 — 圖片與檔案下載後存入 R2;flex 卡片保留為 JSON
  • 🔗 限時檢視連結 — 帶簽章、可在瀏覽器開啟的附件網址,一週內強制過期
  • 🔑 讀取 APIGET /v1/logs 以 JSON 回傳近期訊息(預設 24h,最長 7 天)
  • 📲 Telegram 橋接 — 進來的訊息鏡射到 Telegram;從手機回覆或請助理代擬
  • ✉️ 隨處發訊./scripts/send.mjs 透過 worker 發送 TeamPlus DM/群組訊息,不需本機 daemon
  • ♻️ 自我修復 — Durable Object 斷線自動重連,另有 cron keepalive 保底
  • ☁️ 不需要筆電 — cookie 更新交給 GitHub Actions cron
  • 🤖 MCP server — 把橋接功能暴露給 Claude Code

Wiki 頁面導覽

頁面 內容
Introduction 專案背景、設計理念與 repo 結構詳解
Maintenance 日常維運:監控、健康檢查、cookie 更新、密鑰輪替、疑難排解
Roadmap 發展藍圖:已完成的里程碑與未來方向
Plan-and-Tech-Debt 進行中的計畫與已知技術債清單

Clone this wiki locally