← 返回 Siami 首頁

Kobo 電子書閱讀器現在能跑 App 了:開源 Rust SDK + 簽章 App Store 把電子紙變成迷你平板

▲ 633 💬 114
Kobo 電子書閱讀器現在能跑 App 了:開源 Rust SDK + 簽章 App Store 把電子紙變成迷你平板

編按:本文綜合整理自 Cobalt 專案官網 與 GitHub 開源倉庫,並加入 Siami 編輯部觀點與分析。

一個週末的 Side Project,把電子紙變成開發平台

電子書閱讀器長年被定位為「只能看書」的單一功能裝置,但 Kobo 這次不一樣了。一個名為 Cobalt 的開源專案直接把 Kobo e-reader 變成可執行任意 App 的開發平台,並且在 Hacker News 上引爆 633 個推點、114 條討論。

根據專案官網與 GitHub 公開資料,Cobalt 並不只是單一 App,而是一套完整的應用平台:

  • 一個 Launcher(啟動器)
  • 一個簽章式 App Store(透過 Wi-Fi 安裝、更新、移除)
  • 一個用 Rust 撰寫的 SDK
  • 一個把每個 App 跑在獨立 unprivileged process 的 runtime

安裝一次之後,後續所有 App 都能透過 Wi-Fi 直接裝到閱讀器上。重新開機就回到原廠 Kobo 閱讀器。

整套平台只有一條限制:目前只在 Kobo Clara BW(N365)上做過硬體測試,其他型號一律不支援、不靠猜測——這點在開源專案裡相當罕見。


內建的 App:arXiv、HN、Morse、AI Sidekick 都有

Cobalt 平台內建了多個 App,全部都是直接從 Kobo Clara BW 實機截圖,不是模擬器畫面:

  • arXiv:直接抓 arXiv 自 2023 年 12 月起所有論文的 HTML 渲染(摘要、章節、數學式、結果表格),並依面板分頁。
  • Hacker News:Top、New、Ask、Show 與完整留言串。
  • Gutenbird:讀任何 OPDS 圖書館(Project Gutenberg、Standard Ebooks、Open Library、自建)。
  • Feeds:自動發現網站 RSS 並去掉網站版型。
  • Sidekick:跟本地端的 Claude Code 等 coding agent 配對,讓開發者可以離開鍵盤,用電子紙閱讀器審核、批准 agent 的請求。
  • AI Command Center:提問並把回答渲染成適合電子紙閱讀的版面。
  • Morse:用前面板燈光打摩斯電碼。
  • Audiobook Studio:研究、撰寫、朗讀並播放一本原創有聲書。
  • Sudoku / Tic-tac-toe / Todo / Terminal / Magnet:一般工具型與小遊戲 App。
  • App Store:透過 Wi-Fi 安裝、更新、移除、重裝簽章過的 App。
  • Launcher:永遠保留回到原廠 Kobo 閱讀器的路徑。

Siami 觀察:Cobalt 內建 App 的多元性顯示作者不只想做「另一個閱讀器」,而是把電子紙當作另一種資訊終端——適合長時間閱讀、不傷眼、續航以週計算。


SDK 設計:一個 App 一個 Rust 檔

Cobalt 最核心的設計決定是 SDK 端的簡化:一個 App 就是一個 Rust 檔。

use kobo_sdk::{ActionId, Context, KoboApp, ScreenBuilder};

#[derive(Default)]
struct Hello { taps: u32 }

impl KoboApp for Hello {
    fn on_start(&mut self, ctx: &mut Context) {
        self.show(ctx);
    }
    fn on_action(&mut self, ctx: &mut Context, a: ActionId) {
        if a == kobo_sdk::action_id("tap") {
            self.taps += 1;
        }
        self.show(ctx);
    }
}

平台會處理版面配置、電子紙刷新策略(partial refresh / full refresh)、返回鍵與生命週期,開發者只要描述畫面即可。

更關鍵的限制:App 不能直接開裝置資源,必須透過 capability-gated API。網路、儲存、音訊、前光、Wi-Fi 都需要授權,拒絕會以可處理的 value 形式回傳,而不是直接 crash。

這種設計明顯學自現代行動作業系統(Android、iOS)的沙盒哲學,讓第三方 App 不會把使用者的閱讀器搞壞。


為什麼這件事重要

這不只是一個電子書閱讀器玩家的週末 Side Project,它觸及了三個更大的趨勢:

1. 「裝置鎖定」正在被開源反向突破

Kobo 母公司 Rakuten 從未提供官方 App 平台,Cobalt 直接從 USB 端寫入使用者儲存分區。雖然 Cobalt 強調「不會取代原廠 boot chain,重開機就回到原廠」,但這套架構顯示只要使用者保有 root 與 USB 寫入權,第三方就能在消費級閱讀器上架完整應用平台。這個模式未來很可能被複製到 Kindle、Barnes & Noble Nook、甚至中國品牌的閱讀器上。

2. 「電子紙」這個介質正在被重新想像

過去十年電子紙一直被定位為「亞馬遜 Kindle 式的閱讀裝置」,但電子紙本身其實是極省電、極不傷眼、極長續航的硬體。Cobalt 內建的 arXiv 閱讀器、AI Sidekick、coding agent 審核器顯示,電子紙完全可以作為長時間盯著螢幕的工作裝置——尤其是針對 AI agent 時代「我們被 Claude / Codex 推播通知淹沒」的問題。

用電子紙做 coding agent 審核器是個極聰明的解法:低注意力干擾、零藍光、可關閉 Wi-Fi 強制斷線。

3. 開源「硬體 + SDK + Store」的全棧垂直整合

Cobalt 一次提供了 SDK、runtime、簽章機制、App Store、CLI 工具鏈,這在開源專案裡非常少見。大部分開源硬體專案只做到「能跑」就停了。Cobalt 做到「能上架、能更新、能驗章」,這等於把整套應用經濟的最小可行系統搬到一台 100 美元消費級電子書閱讀器上。


質疑與限制

雖然 HN 反應熱烈,Cobalt 並非沒有疑點:

- 只支援 Clara BW 一個型號:Clara Colour、Libra、Sage、Elipsa 等主流型號目前都跑不起來。這對一個標榜「Kobo 開放平台」的專案來說是相當大的市場空缺。rglover 在 HN 留言也提到,他正是 Clara Colour 的苦主。

- 數據質疑:沒有 App Store 真實使用數據

目前專案沒有公開「實際透過 Wi-Fi 裝了多少次 App」「簽章驗章的成功率」「runtime crash 率」這些指標。HN 留言有人質疑 git log 看起來是 vibe-coded,暗示開發流程可能不嚴謹,但這在開源社群是雙面刃——快速迭代帶來速度,但也可能帶來穩定性疑慮。

- Rakuten 的法律灰色地帶

Cobalt 強調「未與 Rakuten Kobo 官方合作」並提供「無擔保」聲明,但理論上 Rakuten 仍可透過修改韌體、封鎖 USB 寫入、或法律行動來阻止這種第三方平台擴張。Kindle 在過去就曾多次透過更新封鎖越獄。Cobalt 是否會遭遇相同命運,是觀察重點。


後續觀察重點

Cobalt 接下來的發展值得持續追蹤:

  1. 是否擴大支援型號:Clara Colour、Libra、Sage 等型號的移植時程。
  2. App Store 內容多樣性:除了官方 demo App,社群會貢獻什麼?Zotero 整合(HN 留言多人許願)、Pomodoro、RSS reader 是熱門選項。
  3. Rakuten 反應:Kobo 母公司是否會透過韌體更新或法律手段介入。
  4. 同類專案是否跟進:是否會出現對應 Kindle、Booox、PocketBook 的開源平台。

對讀者來說,最直接的問題是:Kobo Clara BW 現在還買得到嗎? 如果 Cobalt 持續擴張,Clara BW 可能會從「過時的低階款」變成「開源電子紙開發平台唯一官方支援機型」,二手市場價格可能會跟著動。


編按:本文綜合整理自 Cobalt 專案官網 與 GitHub 開源倉庫,並加入 Siami 編輯部觀點與分析。

網友熱門留言 (6)

#1 pmkary ▲ 180
身為 Kindle 用戶,我真的超級嫉妒。
#2 rglover ▲ 95
哇,這真的太讚了,做得好!我一直在找 Clara Colour 的替代系統,這看起來很棒。能自己寫 app 代表我終於可以加一個功能來回顧我的書摘並輕鬆搜尋。可惜看了註記,目前只支援 BW 型號... Clara Colour 可能會被擋。
#3 BoingBoomTschak ▲ 78
從 git log 看起來,這是 vibe-coded 的。
#4 jhack ▲ 65
這太不可思議也太實用了。又多了一個理由讓我在家用電子書閱讀器而不是手機。
#5 conqrr ▲ 54
很酷也確實實用。我雖然不是目標用戶,但我想說:我希望我的電子閱讀器就是單純拿來看書同步用。那是我圖書館的安靜時光,我最不需要的就是 Claude 來打擾我。
#6 GlenTheMachine ▲ 41
我投 Zotero 整合一票!