ClassIsland 開源課表工具:讓教室電腦自動報上下課的動態島

ClassIsland 是開源的班級課表顯示工具,在 Windows、Linux、macOS 上以動態島風格顯示課表、提醒與天氣。這篇從原始碼與官方文件整理它的功能與跨平台代價,並實測台灣城市的天氣查詢邊界,安裝前該知道的遙測預設值一次看懂。

用 AI 摘要這篇文章:

ClassIsland 是一套開源的班級課表顯示工具,名字取自 iPhone 的動態島:在教室那台會一直開著的電腦上,它會在螢幕上方掛一條半透明的資訊列,顯示今天的課表、正在上的課、倒數、天氣,並在上下課時間跳出提醒。這個品類在學校裡通常叫做電子班牌,傳統上多半是跟廠商整套採購的硬體;ClassIsland 把同一件事拆成一套任何人都能免費裝的軟體,專案在 GitHub 上以 GPL-3.0 授權釋出,到 2026 年 8 月累積約 2,686 個星標,七十個版本的安裝檔在 GitHub 上被下載超過六萬四千次,維護節奏大致一個月一版,2026 年 8 月 18 日當天倉庫裡仍有新的程式碼提交。它撐得起這個企圖,但安裝前有件事要先想清楚:這是一套常駐在教室電腦上的程式,對外有幾條固定的連線,預設值都寫在原始碼裡,查得到也關得掉。下面把功能、跨平台的代價,以及這幾條連線和台灣環境的實際邊界一次攤開。

把教室那台一直開著的電腦,變成會報上下課的動態島

功能面先快速掃過,細節以官方文件為準。顯示層是組件化的:日期、時間、天氣簡報、倒數日都可以掛上主資訊列,支援多行排列與輪播;課表會標出目前正在進行的課,滑鼠移過去時資訊列自動變淡,點擊可以直接穿透到後方的視窗,授課投影時不擋畫面。提醒系統是這套工具的核心賣點,上下課時間點可以配橫幅、全螢幕特效、音效,或語音播報,語音來源支援離線的系統 TTS、線上的 EdgeTTS,甚至自訓聲音模型。課表管理做得相當深:多周輪換最高支援九周、臨時啟用某張課表、當日與跨天換課、自訂科目與時間表,還能幫設定檔上密碼防止被亂改。再往上是自動化規則,官方的講法是「當某事件發生、滿足某規則時執行某動作」,例如偵測到前景是全螢幕視窗就自動隱藏主資訊列。以上是官方文件與官網的自述,我沒有實際安裝跑它,強項與地雷要到裝了才知道,但文件的完整度在同類開源專案裡屬於前段班。

ClassIsland 官方課表編輯器截圖,以表格欄位編輯每節課的科目,上方工具列提供課表切換與匯入匯出入口Pin
官方截圖:檔案編輯器裡的課表編輯頁,一格一格填入每節課的科目,匯入與匯出集中在右上角的按鈕,現行版本由此匯入 CSES、ClassIsland 1.x 與 Class Widgets 1.2。
ClassIsland 官方主介面截圖,螢幕上方的半透明資訊列顯示當日課表與目前進行課程的進度條,右側掛日期與天氣組件Pin
ClassIsland 官方截圖:主資訊列停在螢幕上方,正在進行的課程會展開並附進度條,日期與天氣以組件掛在同一列,背景為桌面桌布。

對做教學投影的人來說,這類掛在系統最上層的工具並不陌生,Inkeys 智繪教螢幕批註工具走的是同一個思路,把教學現場需要的小功能直接疊在畫面上。

跨平台是 2.0 才有的,代價直接寫在版本說明裡

ClassIsland 從 2023 年 7 月開始開發,早期是 Windows 專用的 WPF 程式;2025 年 12 月的 2.0 版把整個介面遷移到 Avalonia,從此支援 Windows 10 以上、Debian 10 衍生的 Linux,以及 macOS 11 以上,官網還特別標明在中國大陸校園常見的信創 Linux 環境工作正常。這次遷移的代價沒有藏著:2.0 的版本說明直接列了移除清單,Excel 課表匯入匯出、啟動畫面、主題色提取都因為框架限制拿掉了。其中 Excel 匯入影響最大,現行文件的說法是匯入只剩三條路,CSES 課表交換格式(僅課表內容)、舊版 ClassIsland 1.x,以及另一套課表軟體 Class Widgets 1.2;首頁 README 的功能表卻還寫著可以從 Excel 匯入。文件跟著程式走但 README 沒跟上,這類漂移提醒我們一件事:看開源專案的功能,以版本說明和文件為準,README 只是入場介紹。

版本日期定位
2.1.0.12026-06最新正式版
2.1.1.02026-07預覽版,加入 Android,回報有記憶體偏高與介面錯位問題
2.0.0.02025-12WPF 遷移 Avalonia,三平台起點
1.x持續提供舊版下載管道保留

版本節奏可以說明這個專案的健康度:2026 年一到八月已經推出十一個版本,正式版與預覽版分線並行,issue 與 PR 都有人回應,開放中的 issue 約三百出頭。可靠性設計也看得出是為教學環境想的:官方定位寫明教室裡沒有人有空一直顧軟體,所以程式在崩潰時會自動退出,不會卡住畫面,記憶體有看門狗機制,設定與課表可以上密碼防改;開發者在文件裡甚至自承部分早期程式碼寫得倉促,請讀原始碼的人多包容,這種坦白在開源社群裡反而少見。行動版還在路上,Android 已進預覽版,iOS 與 iPadOS 的支援到 2026 年 8 月中仍是未合併的開發分支,拿行動版當採購承諾還太早。順帶一提,每個大版本的代號都取自同一個電玩系列的角色名,看得出維護者的個人趣味,這種細節通常出現在用愛發電的專案身上。

常駐程式的幾條對外連線,預設值都查得到

教室電腦的常駐程式值得用比一般軟體高一點的標準檢視,因為它開機就在、用的又是學校的網路。我讀了它的原始碼,把預設行為整理成下面這張表。

對外連線對象預設狀態收緊方式
遙測自架的 Sentry 伺服器開啟設定裡的隱私頁可關
天氣小米天氣 API依設定,可完全關閉不啟用天氣即無請求
更新與外掛自營下載伺服器與第三方鏡像開啟可改為手動下載

遙測是最該先知道的一條。專案倉庫裡附了隱私政策,寫明透過自架的 Sentry 服務收集應用日誌、裝置資訊、崩潰報告與功能使用情況,並宣稱只收集中國大陸地區使用者的資料、儲存在境內伺服器。原始碼裡的對應邏輯是:設定值等於一或從未設定時啟用遙測,也就是說裝完的預設狀態是開的,屬於選擇退出的設計;報送位址掛在維護者自己網域的非標準埠上,看得出是自己架的服務,並未委託第三方分析平台。政策也把開關放在應用設定的隱私頁,關掉它不需要動到設定檔。政策宣稱的收集範圍無法從外部驗證後端,但至少開關、報送對象與政策文字三者對得起來。

天氣是另一條。文件明講內建的天氣資訊與城市列表都來自小米天氣 API,原始碼裡則是把完整的請求網址、應用識別參數寫死在程式裡,地區參數固定為簡體中文,每五分鐘自動刷新一次;如果開啟座標定位,裝置定位會轉成經緯度送給天氣服務反查城市。還有一個切換成 http 明文請求的選項,是為了相容性留下的,校園環境沒必要開。不用天氣就把整組功能關掉,這條線就安靜了。

更新與外掛則是牽涉面最大的一條。自動更新指向專案自營的下載伺服器,2.0 起支援差分更新,2024 年中以來的版本說明也都附檔案校驗值;應用內的插件市場(ClassIsland 官方把外掛稱為插件)索引拉自專案自己的 CDN,外掛本體則可以設定走第三方 GitHub 鏡像下載。外掛生態是這個專案最活潑的部分,官方網站列出的項目包含地震預警、值日表、硬體監控、媒體資訊顯示,也有把視窗拉到全螢幕應用與系統介面之上的提權外掛。換句話說,裝一個外掛等於讓第三方程式碼跑在教室電腦上,而且是常駐的,這條界線想清楚再點安裝。學校要一次管多台設備的話,官方正在開發集控功能,可以統一下發課表與策略,目前文件顯示靜態設定檔的做法可用,集控伺服器還在開發中,社群裡負責遠端命令執行的分支也還沒合併,多機部署現在仍靠手動搬設定檔。

台灣教室的實際邊界:天氣查得到,介面是簡中

台灣使用者最實際的兩個問題,我分別用它的原始碼和它自己寫死的參數驗了一次。天氣的部分,我拿程式裡那組參數直接打小米天氣 API 的城市搜尋與天氣查詢:搜「台北」會回新店、淡水、芝山與台北市四個地點,即時天氣、預報與紫外線指數都正常回傳,體感溫度三十三度這類數字與當日台北一致。但四個地點走的資料源不一樣:台北市這筆掛的是 AccuWeather 系的國際資料源;新店、淡水、芝山掛的仍是中國城市那套氣象鍵值,連空氣品質都查得到,實測分別回 18、12、13,資料來源標記是對岸的環境監測中心,反而是台北市這筆因為走國際源,空氣品質回的是無資料。城市歸屬欄位則一律用「中國台灣」這類對岸官方的行政區寫法,屬於資料源本身的用語,挑地點時看城市名就好,介面上顯示的溫度與預報不受影響。

介面語言是另一個邊界。程式在啟動時會把介面文化直接設成簡體中文,倉庫裡雖然放著繁體中文與英文的翻譯資源檔,但只涵蓋設定頁與系統匣選單兩個模組,其餘介面文字本來就是寫死的簡中,繁體資源檔裡的用詞也偏大陸慣用,連視窗與儲存這種基本詞的譯法都跟台灣用法有出入。實際使用的體感就是一套簡體介面,看慣繁體的人要有預期。課表生態同樣偏向對岸校園:匯入用的 CSES 是對岸智慧教育圈發展的交換格式,多周輪換、跨天換課這些設計也是跟著那邊的校務節奏長出來的;不過課表、時間表、科目全部可以手動自訂,對時功能除了預設的阿里雲 NTP 伺服器,也可以改成指向學校鐘聲廣播系統的對時伺服器並微調偏移,讓提醒跟著自己學校的鐘走,這點倒是通用。

ClassIsland 官方時間表編輯器截圖,逐筆設定上課與下課時間點,右側面板可為單一時間點附加提醒設定Pin
官方截圖:時間表編輯頁逐筆定義上下課時間點,每個時間點可以個別附加提醒設定,提醒跟著自己學校的鐘聲走就是從這裡調。

誰適合裝,以及裝完先關掉什麼

單一教室的導師或班級幹部想讓那台閒置電腦有點用,這是最適合的場景:從官網下載正式版安裝,照著內建教學建第一張課表,不喜歡資料回報就先進設定的隱私頁把遙測關掉,不需要天氣就連天氣一起關,裝外掛時只挑官方網站上列得出來源的。資訊組要全校部署的話,現在靠的是設定檔:把集控設定檔放上靜態網站讓各台電腦統一拉取,或逐台手動搬運,等集控伺服器正式發布會再省一截,密碼保護與校園對時是現成可用的管理工具。想要改程式碼客製的學校,GPL-3.0 代表修改後的衍生版本在同樣條款下公開是義務,校內客製沒問題,想包成自家產品發售就得先想清楚授權。跟其他 Windows 上的開源常駐工具比,ElegantClipboard 剪貼簿管理工具走本機 SQLite 的乾淨路線,FlowScroll 自動捲動工具則連遙測都攤在原始碼裡讓人驗,ClassIsland 的遙測預設開在隱私上確實差一截,但開關誠實、政策白紙黑字,屬於可以自己收緊的範圍。教育現場想找開源軟體的例子,Future Style 開源元素週期表展示了教學工具的另一種可能,兩者放在一起看,開源在教育軟體能做的事比想像中多。

授權與專案狀態

ClassIsland 以 GPL-3.0 授權,原始碼、文件與官網下載都公開,專案文件以 CC BY-NC-SA 4.0 授權,官網備有中國大陸的 ICP 備案號,維護者署名 HelloWRC,社群集中在 QQ 群組與 Bilibili。截至 2026 年 8 月 18 日:正式版 2.1.0.1(2026 年 6 月底發布),預覽版 2.1.1.0(2026 年 7 月),最新提交當天仍在推進,集控管理與 iOS 支援在開發中。以上原始碼與 API 觀察以這一天的 master 分支與線上服務為準,這個專案迭代快,裝之前以其官方文件的現況為準。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 943

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...