Kobo电子阅读器现可运行应用程序
摘要
Cobalt是一个面向Kobo电子阅读器的开源应用平台,支持运行带有启动器、经签名的应用商店及Rust SDK开发包的应用程序。
暂无内容
查看缓存全文
缓存时间: 2026/08/21 19:28
# Cobalt:Kobo 电子阅读器的应用程序与SDK
来源:https://bandarlabs.github.io/Cobalt/
## 您的Kobo现在可以运行应用程序了
Cobalt 是一个开源的应用平台,专为Kobo电子阅读器打造:包含启动器、签名应用商店、Rust SDK,以及将每个应用隔离在独立非特权进程中的运行时。通过USB安装一次,此后所有应用的安装、更新和卸载都可在阅读器上通过Wi-Fi完成。重启设备即可恢复至原生Kobo系统。
Kobo Clara BW上的Cobalt启动器界面,展示设置、应用商店、终端、AI聊天、有声书、组件、每日简报、订阅源与Gutenbird应用
*Kobo Clara BW上的启动器界面*。与乐天Kobo无关联
Kobo Clara BW运行有声书工作室、Gutenbird、终端、Hacker News、Sidekick和应用商店,随后通过Wi-Fi安装、播放、卸载并重新安装数独应用(https://bandarlabs.github.io/Cobalt/cobalt-tour.mp4)
*设备端录制,3倍速播放*。[观看视频](https://bandarlabs.github.io/Cobalt/cobalt-tour.mp4)
## 在Kobo上运行
每个应用都是静态ARM二进制文件,在原生硬件上作为独立非特权进程运行。应用商店通过Wi-Fi实现安装、更新和卸载,所有签名在应用启动前完成验证。
## arXiv论文与编程助手,尽在掌控
以下为设备实拍图,非模拟器截图。arXiv应用读取自2023年12月起所有论文的HTML渲染版本:摘要、章节、数学公式与结果表格,并适配电子墨水屏分页显示。
---
## 应用生态
以下所有截屏均来自Kobo Clara BW设备。商店应用独立于平台版本更新;其余应用随平台安装包分发。
电子墨水屏上的Cobalt启动器应用网格
(https://github.com/BandarLabs/Cobalt/blob/main/examples/launcher/README.md)
### 启动器
(https://github.com/BandarLabs/Cobalt/blob/main/examples/launcher/README.md)
打开已安装应用,始终保留返回Kobo阅读器的路径。
Cobalt应用商店展示已安装与可用应用
(https://github.com/BandarLabs/Cobalt/blob/main/docs/APP_STORE.md)
### 应用商店
(https://github.com/BandarLabs/Cobalt/blob/main/docs/APP_STORE.md)
通过Wi-Fi安装、更新、卸载及重装签名应用。
Kobo设备上arXiv应用展示最新机器学习预印本
(https://github.com/BandarLabs/Cobalt/tree/main/apps/arxiv)
### arXiv
(https://github.com/BandarLabs/Cobalt/tree/main/apps/arxiv)
浏览学科最新预印本,在电子墨水屏上阅读全文。
Kobo Clara BW上的完整81格数独游戏
(https://github.com/BandarLabs/Cobalt/tree/main/apps/sudoku)
### 数独
(https://github.com/BandarLabs/Cobalt/tree/main/apps/sudoku)
仅限商店安装:通过此应用可验证USB安装包未包含的应用分发能力。
字母S在Kobo电子墨水屏上显示,前光以摩尔斯电码闪烁
(https://github.com/BandarLabs/Cobalt/tree/main/apps/morse)
### 摩尔斯电码
(https://github.com/BandarLabs/Cobalt/tree/main/apps/morse)
通过前光发送摩尔斯电码信息,单字母占据整个屏幕。
Kobo上的OPDS电子书库封面陈列
(https://github.com/BandarLabs/Cobalt/blob/main/examples/gutenbird/README.md)
### Gutenbird
(https://github.com/BandarLabs/Cobalt/blob/main/examples/gutenbird/README.md)
支持任意OPDS图书馆:古登堡计划、Standard Ebooks、Open Library或自建书库。
Kobo电子阅读器上的Hacker News排行榜
(https://github.com/BandarLabs/Cobalt/blob/main/examples/hn/README.md)
### Hacker News
(https://github.com/BandarLabs/Cobalt/blob/main/examples/hn/README.md)
热门、最新、问答及展示故事,含完整评论线程。
Feeds应用中的订阅源与文章列表
(https://github.com/BandarLabs/Cobalt/blob/main/examples/rss/README.md)
### 订阅源
(https://github.com/BandarLabs/Cobalt/blob/main/examples/rss/README.md)
自动识别网站订阅源,无干扰呈现文章内容。
电子墨水屏上的编号每日简报
(https://github.com/BandarLabs/Cobalt/blob/main/examples/brief/README.md)
### 每日简报
(https://github.com/BandarLabs/Cobalt/blob/main/examples/brief/README.md)
使用其他应用时,后台自动收集当日要闻。
Sidekick中的编程助手请求与可点击响应
(https://github.com/BandarLabs/Cobalt/blob/main/examples/sidekick/README.md)
### Sidekick
(https://github.com/BandarLabs/Cobalt/blob/main/examples/sidekick/README.md)
远离键盘时批准或拒绝编程助手请求。
Kobo屏幕上的终端与虚拟键盘
(https://github.com/BandarLabs/Cobalt/blob/main/examples/terminal/README.md)
### 终端
(https://github.com/BandarLabs/Cobalt/blob/main/examples/terminal/README.md)
原生电子墨水屏终端,按键即时响应。
电子墨水屏上的Cobalt字体与UI组件
(https://github.com/BandarLabs/Cobalt/blob/main/examples/gallery/README.md)
### 组件库
(https://github.com/BandarLabs/Cobalt/blob/main/examples/gallery/README.md)
展示UI工具包的控件、布局、字体与状态效果。
设置中的电池状态与硬件信息
(https://github.com/BandarLabs/Cobalt/blob/main/examples/settings/README.md)
### 设置
(https://github.com/BandarLabs/Cobalt/blob/main/examples/settings/README.md)
连接、硬件与平台更新,与应用商店独立管理。
带已完成项目的待办清单
(https://github.com/BandarLabs/Cobalt/blob/main/examples/todo/README.md)
### 待办事项
(https://github.com/BandarLabs/Cobalt/blob/main/examples/todo/README.md)
支持触控输入与完成状态标记的持久化清单。
电子墨水屏上的井字棋终局
(https://github.com/BandarLabs/Cobalt/blob/main/examples/tictactoe/README.md)
### 井字棋
(https://github.com/BandarLabs/Cobalt/blob/main/examples/tictactoe/README.md)
双人对战,单格局部刷新。
Kobo霍尔传感器响应磁铁变化
(https://github.com/BandarLabs/Cobalt/blob/main/examples/magnet/README.md)
### 磁铁感应
(https://github.com/BandarLabs/Cobalt/blob/main/examples/magnet/README.md)
定位边框后的霍尔传感器并报告状态变化。
---
## SDK
**一个Rust文件即是一个应用**
实现`KoboApp`接口,声明式描述屏幕,运行时将处理布局、电子墨水刷新规划、返回导航和生命周期管理。应用无法直接访问设备资源,必须显式请求。网络、存储、音频、前光和Wi-Fi均采用能力控制机制,拒绝请求将以应用可处理的值返回。
- 电子墨水UI文本、磁贴、对话框、键盘、分页、局部刷新规划
- 浏览器与运行时模拟器(含布局诊断)
- 异步任务:HTTPS、分段下载、可取消任务、定时唤醒
- 状态管理:按应用隔离的原子级键值存储
- 分发方式:签名静态ARMv7二进制文件,应用PR合并后自动发布
```bash
kobo new my-app
cd my-app
kobo dev
```
[阅读SDK文档](https://bandarlabs.github.io/Cobalt/sdk.html)
```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);
}
}
impl Hello {
fn show(&self, ctx: &mut Context) {
let screen = ScreenBuilder::new("hello")
.top_bar("Hello")
.heading(format!("{} taps", self.taps))
.button("tap", "Tap me")
.build();
ctx.set_screen(screen);
}
}
fn main() {
let app = Hello::default();
let _ = kobo_sdk::run("hello", app);
}
```
---
## 应用商店
**签名包验证后方可运行**
商店从固定GitHub发布版读取签名目录。每个包含一个ARM可执行文件与签名规范清单。运行时将在应用启动前验证目录、安装包、已安装清单及二进制文件。
应用发布独立于平台版本:合并应用PR后将自动构建ARM版本、签名并更新目录,无需版本升级或重新安装。应用将直接出现在商店中。
Cobalt平台本身也通过Wi-Fi在设置中更新,与应用商店使用不同频道。**USB线仅需使用一次**。
安装与目录事务具备中断恢复能力,更新中断时阅读器将保留原版本。
[发布您自己的应用→](https://github.com/BandarLabs/Cobalt/blob/main/docs/CONTRIBUTING_APPS.md)
Cobalt应用商店在Kobo Clara BW上通过Wi-Fi安装应用
*数独应用通过Wi-Fi安装中*
---
## 安装指南
### 从源码安装
1. **准备Kobo Clara BW(N365)**并通过USB连接。其他型号暂不支持。
2. **执行安装命令:**
```bash
git clone https://github.com/BandarLabs/Cobalt.git
cd Cobalt
rustup target add armv7-unknown-linux-musleabihf
cargo run -p kobo-cli -- setup
```
3. **重启阅读器**,在Kobo菜单中打开**Cobalt**。
4. **打开应用商店**,后续所有更新均通过Wi-Fi完成。
完整安装流程(含恢复步骤)详见:
[docs/INSTALL.md](https://github.com/BandarLabs/Cobalt/blob/main/docs/INSTALL.md)
---
## 贡献应用
应用贡献采用标准PR流程。只要能在设备运行且PR包含运行截图即可合并发布。
1. **构建应用**:在`apps/`目录下添加工作区包,并在`apps/catalog.json`注册。
2. **测试**:添加单元与布局测试,在浏览器和运行时模拟器中验证。
3. **设备实测**:在真实Clara BW设备(非模拟器)上运行。
4. **提交PR**:附上运行时GIF或照片,审核合并后发布工作流将自动签名并上架商店,无需平台版本更新。
拥有其他Kobo型号?欢迎参与[移植](https://github.com/BandarLabs/Cobalt/blob/main/docs/PORTING.md),请先创建issue确认设备配置文件。
详见:
[docs/CONTRIBUTING_APPS.md](https://github.com/BandarLabs/Cobalt/blob/main/docs/CONTRIBUTING_APPS.md)
---
## 安全说明
### 设备支持与安全性
Cobalt不修改Kobo启动链。设备写入需精确匹配硬件与固件,重启即可恢复原生系统。
首次安装会修改用户存储分区文件,提供无保修保证。**目前仅Clara BW配置文件经过硬件测试**。在获得[已审核的硬件测试配置文件](https://github.com/BandarLabs/Cobalt/blob/main/docs/PORTING.md)前,请勿在其他型号设备安装。
Cobalt为独立项目,与乐天Kobo无任何关联。
相似文章
Cobalt
Cobalt 让 Kobo 电子阅读器能够运行应用程序,正如在 Product Hunt 上所宣布的。
KOReader
KOReader 是一个专为 E Ink 设备设计的开源文档阅读器,支持包括 EPUB、PDF 和 MOBI 在内的多种文件格式,并可在 Kindle、Kobo、PocketBook、Android 及桌面 Linux 上运行。
Boox的新款电子阅读器可能取代你的Kindle、Kobo和数字记事本
Boox发布了Go 6(第二代),这是其最小电子阅读器的升级版,增加了通过手写笔进行的笔记支持、更大的RAM以及搭载Google Play商店的Android 11系统,用户可以在一个设备上阅读Kindle、Kobo和其他应用的内容。
2026年最佳电子阅读器:Kobo、Kindle
WIRED精选2026年最佳电子阅读器指南,对比Kobo、Kindle、Boox的顶级型号,突出彩色屏幕、翻页按钮和基于Android的体验等功能。
@rohanpaul_ai: Kocoro守护进程——macOS代理循环 → http://github.com/Kocoro-lab/Kocoro… Shannon——后端AI运行时引擎 → h…
Kocoro是一个开源的macOS代理循环和AI运行时引擎,支持本地计算机访问、MCP协议和命名代理。可通过CLI、守护进程或Kocoro桌面GUI使用。