这是一个专为 Kindle Oasis 2 (7英寸, 1680x1264) 设计的 E-ink 仪表盘服务端程序。
它旨在配合 Kindle 上的 KUAL 扩展(或其他浏览器/截图工具)使用,提供一个高对比度、低刷新率、信息丰富且美观的 "Always-on" 桌面副屏。
- 全球化支持:
- 多语言界面: 原生支持中文 (CN) 和英文 (EN) 切换,自动调整排版以防止溢出(如长单词排版)。
- 自定义地理位置: 可配置全球任何城市的经纬度,自动获取当地天气及空气质量 (AQI)。
- 多国节假日: 集成
holidays库,支持配置不同国家/地区的法定节假日。
- 丰富的数据展示:
- 天气预报: 包含气温、湿度、UV 指数、AQI、降雨概率及未来趋势趋势。
- 日历信息: 包含公历日期、星期、农历日期以及自定义节假日提醒。
- 金融市场: 实时追踪汇率、股票及加密货币走势,生成迷你趋势图 (Sparklines)。
- Hacker News: 自动抓取热门科技新闻,支持自定义外部新闻源。
- 服务端自动化渲染:
- 高度可配置: 通过
.env文件配置分辨率、语言、位置、数据源和缓存时间。 - 高质量抖动算法: 渲染 16 级灰度图像并应用 Floyd-Steinberg 抖动,为 E-ink 屏提供最佳观感。
- 适配多设备: Dashboard 布局保持 1680x1264 黄金比例以保证排版,但
/render接口会自动缩放到你配置的任何屏幕分辨率。 - Docker & CI/CD: 支持 Docker 部署,集成 GitHub Actions。
- 高度可配置: 通过
- 后端: Python 3.12, Flask, uv
- 前端: HTML5, Tailwind CSS (CDN)
- 渲染: Playwright (Chromium)
- 图像处理: Pillow (Floyd-Steinberg Dithering)
- 数据源:
yfinance: 股票与汇率数据lunardate: 农历转换holidays: 节假日数据matplotlib: 生成趋势图
项目使用 .env 文件进行配置。请先复制模版并根据需要修改:
cp .env_example .env
nano .env # 修改经纬度、语言、分辨率等docker pull ghcr.io/t0saki/kindle-dashboard-server:latest
# 注意:确保将 .env 文件映射到容器中
docker run -p 5000:5000 --env-file .env ghcr.io/t0saki/kindle-dashboard-server:latest- 安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh - 准备环境:
uv sync uv run playwright install chromium --with-deps
- 运行:
uv run app.py
GET /dashboard: 返回响应式网页版的仪表盘。GET /render: 返回 Kindle 优化版 (根据配置的分辨率, 16级灰度, 抖动处理) 的 PNG 图片。这是 Kindle 客户端最常用的接口。
如果你拥有越狱后的 Kindle,可以配合以下客户端项目使用,实现自动化刷新与休眠管理:
- Kindle-Dashboard: 运行在 Kindle 上的 KUAL 插件脚本,负责自动联网、下载图片并使用 FBInk 高质量渲染。
MIT License
