@googledevs: Raph 使用 Gemini 3.6 Flash 和 Nano Banana 即兴编码了一个电子墨水相框,帮助他的家人开启新的一天。了解…
摘要
Google Developers 展示了一个名为 Glanceboard 的电子墨水相框演示,它使用 Gemini 3.6 Flash 和 Nano Banana 构建,可将日历数据转化为每日插图艺术。开源指南和 GitHub 仓库展示了如何使用 Google Antigravity 和现成硬件来构建它。
查看缓存全文
缓存时间: 2026/07/31 02:43
Raph 使用 Gemini 3.6 Flash 和 Nano Banana 通过 vibe coding 方式制作了一个电子墨水屏相框,帮助他的家人开启新的一天。
了解他如何使用 @Antigravity 完成这一项目,并按照开源指南打造属于你自己的版本。
https://t.co/CEWWbfX2q4 https://t.co/sHmMlRzvL0
google-gemini/glanceboard
来源:https://github.com/google-gemini/glanceboard
Glanceboard 演示
Glanceboard 是一款由 Gemini 驱动的电子墨水屏,帮助你开启美好一天
此演示展示了如何使用 Gemini 3.6 Flash 和 Nano Banana 将你的 Google 日历转化为电子墨水屏上的艺术作品。
只需一台电脑和一个 iCal 订阅源,Glanceboard 就能将你的日程安排、当地天气和自定义家庭角色转化为由 Nano Banana 生成的艺术画面。每天早上,它会读取你的日历并生成一幅全新的插画,让你了解今天有什么安排、需要带什么、穿什么。
没有屏幕干扰。没有通知推送。只有一幅安静的相框,让你轻松掌握今日要事。
注意: 此演示完全使用 Google Antigravity 通过 vibe coding 方式打造,并使用现成的硬件。
电子墨水屏上的 Glanceboard
工作原理
Glanceboard 在你的电脑(或 Raspberry Pi)上运行一个轻量级本地服务器。每隔几小时,它会:
- 通过 iCal 链接读取你的日历事件(日历数据 .ics 文件的通用标准)
- 获取你所在位置的当前天气
- 为你的角色构建创意提示词
- 使用 Nano Banana 根据以上信息生成一幅生动的每日计划插图
- 将图像进行抖动处理以适配 6 色电子墨水屏,并发送到你的显示器
显示器会轮询服务器以获取新图像——无需云账户。
所需设备
| 部件 | 说明 |
|---|---|
| Waveshare ESP32-S3 PhotoPainter (https://www.waveshare.com/esp32-s3-photopainter.htm) | 带木质相框的 7.3 英寸彩色电子墨水屏,内置 WiFi |
| USB-C 数据线 | 用于供电(也可使用可选的锂电池) |
| 一台电脑或 Pi | 用于运行 Glanceboard 服务器 |
| Python 3.9+ | 服务器运行所需 |
| Node.js 18+ | 构建 Web 仪表盘所需 |
无需焊接。无需排线。只需一块显示屏和一台服务器。
使用 Raspberry Pi 作为显示屏? 旧版 Pi + 独立电子墨水屏 HAT 方案仍然支持——请参阅 旧版 Pi 设置。
功能特性
- 每日 Nano Banana 艺术 — 你的日历事件将变为精美的每日计划插画
- 6 种艺术风格 — 钢笔素描、时尚速写、水彩、像素艺术、漫画和日式水墨
- 自定义角色 — 添加家人和宠物,并通过参考照片保持一致形象
- 拖拽式小组件 — 将体育比分、股票行情、新闻、每日名言、邮件摘要、天气等添加到你的显示布局中
- Google 日历 — 通过 iCal 链接连接(任何支持导出 iCal 的日历均可)
- 天气感知 — 在屏幕上显示天气;角色会根据实际天气状况着装
- 位置感知 — 根据你的位置生成符合地域特色的场景(悉尼不会下雪!)
- 智能倒计时 — AI 扫描你的日历中的生日、旅行和节日,进行倒计时
- Gemini 事件改写 — 将“上午 9 点 Tavi 图书馆书包“转化为“Tavi——记得带图书馆书包!“
- 电子墨水屏优化 — 采用 Floyd-Steinberg 抖动算法适配 6 色 Spectra 面板
- 智能调度 — 在你选择的时间自动生成,且仅在日历或天气变化时触发
- 自定义提示词 — 可编辑图像生成提示词模板
- 邮件摘要 — 可选的 Gmail 集成功能,显示未读邮件摘要(需要设置)
- 完全本地化 — 在你自己的机器上运行,无需云账户
快速开始
1. 克隆并安装
git clone https://github.com/google-gemini/glanceboard.git
cd glanceboard
# 安装服务器依赖
cd server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ..
# 安装并构建 Web 仪表盘
cd web
npm install
npm run build # 首次运行时会自动从模板创建 src/config.js
cd ..
2. 启动服务器
cd server
source venv/bin/activate
python3 -m uvicorn app:app --host 0.0.0.0 --port 8000
打开 http://localhost:8000 — Glanceboard 仪表盘将引导你完成设置:
- API 密钥 — 输入你的 Google AI Studio 密钥(请参阅下文API 密钥设置)
- 日历 — 粘贴你的 iCal 链接
- 位置 — 设置你的时区和地理位置以获取天气
- 艺术风格 — 从 6 种风格中选择
- 角色 — 添加你的家庭成员和宠物
3. 设置显示屏
请参阅下文显示屏设置指南,了解如何刷写并连接你的 PhotoPainter。
想要 24/7 全天候运行? 请参阅自托管指南,了解 systemd 服务配置、Raspberry Pi 安装说明以及将 Glanceboard 作为常驻家庭服务器的运行方法。
推荐模型
Glanceboard 支持多种 AI 图像生成模型:
| 模型 | 提供商 | 说明 |
|---|---|---|
| Nano Banana Pro | Gemini API | 推荐。 最佳画质、文字渲染和角色一致性。 |
| Nano Banana 2 | Gemini API | 在速度与画质之间取得平衡 |
Glanceboard 还使用 Gemini Flash 3.6 提供智能功能:
- 将日历事件改写为友好的语言
- 生成符合天气状况的场景描述
- 扫描日历以发现重要的即将到来的事件
API 密钥设置
Glanceboard 需要一个 Gemini API 密钥 来生成图像。
- 访问 aistudio.google.com/apikey (https://aistudio.google.com/apikey)
- 点击 创建 API 密钥 → 选择你的 Google Cloud 项目(或新建一个)
- 复制密钥(以
AIza...开头) - 在 Glanceboard 仪表盘的引导流程中粘贴该密钥
就这样。 密钥会本地存储在
server/data/config.json文件中,并仅在服务端用于调用 Gemini API。
显示屏设置指南
第一步:刷写固件
- 通过 USB-C 将你的 PhotoPainter 连接到电脑
- 在 Chrome 或 Edge 浏览器中打开 Glanceboard Web Flasher (https://raphdixon.github.io/glanceboard-firmware/)
- 点击 安装 Glanceboard 固件 并选择你的设备
- 等待刷写完成(约 2 分钟)
- 拔下并重新插入 USB-C 数据线以重启
第二步:连接 WiFi 并进行配置
- 重启后,显示屏会显示一个设置界面,其中包含名为
Glanceboard-XXXX的 WiFi 名称 - 在手机或电脑上连接到
Glanceboard-XXXXWiFi 网络(无需密码) - 设置页面会自动打开(或访问
http://192.168.4.1) - 输入你的 WiFi 网络名称 和 密码(开放式网络可留空密码)
- 从 Glanceboard 仪表盘粘贴显示图像链接(位于设置 → 电子墨水屏设置 → 📋 复制链接)——格式类似于
http://YOUR_SERVER_IP:8000/images/latest_display.bmp - 选择轮询间隔(显示屏刷新的频率)
- 点击保存并连接
设备将重新启动,连接你的 WiFi,并开始轮询获取图像。显示屏将在约 60 秒内完成更新。
提示: 之后你可以通过同一网络上的任何浏览器访问设备的 IP 地址来重新配置。设置完成后,IP 地址会显示在屏幕上。
使用 Raspberry Pi 作为显示屏? 旧版 Pi + 独立电子墨水屏 HAT 方案仍然支持——请参阅旧版 Pi 设置。
系统架构
本地服务器(基于 Python 3.11+ 的 FastAPI)
──────────────────────────────────────────────────────
server/app.py
├── /api/config GET/POST — 设置
├── /api/generate POST — 触发图像生成
├── /api/status GET — 生成状态
├── /api/preview GET — 预览提示词
├── /images/* 静态文件 — 生成的显示图像
└── /* 静态文件 — 构建后的 Vite SPA 仪表盘
data/config.json 本地配置(API 密钥、日历等)
data/images/ 生成的显示图像
调度器(APScheduler)
└── 每 15 分钟运行一次,在用户选择的时间生成
仅在日历或天气变化时触发
Web 仪表盘(Vite SPA)
├── 引导向导
├── 设置面板
├── 拖拽式小组件布局编辑器
├── 角色管理器
└── 实时显示屏预览
──────────────────────────────────────────────────────
│ │
▼ ▼
ESP32-S3 PhotoPainter AI 提供商
轮询 /images/latest_* Gemini API
更新电子墨水屏 (Gemini Flash / Pro)
Gemini Flash 3.6
• 将日历事件改写为友好的文本
• 生成符合天气状况的场景提示词
• 扫描日历以发现重要的倒计时事件
项目结构
glanceboard/
├── server/ # 本地 Python 服务器(FastAPI)
│ ├── app.py # 所有后端逻辑 + API 端点
│ ├── requirements.txt # Python 依赖
│ ├── requirements-email.txt # 可选的邮件小组件依赖
│ └── data/ # 运行时数据(已加入 gitignore)
│ ├── config.json # 你的设置(已加入 gitignore)
│ ├── config.example.json # 配置模板
│ ├── gmail_credentials.json # Gmail OAuth 凭据(已加入 gitignore,可选)
│ ├── gmail_token.json # Gmail OAuth 令牌(已加入 gitignore,可选)
│ └── images/ # 生成的显示图像(已加入 gitignore)
├── web/ # 前端(Vite SPA)
│ ├── index.html # 仪表盘 + 落地页
│ └── src/
│ ├── main.js # 应用逻辑
│ ├── style.css # 样式
│ ├── config.js # Firebase 配置(已加入 gitignore,仅用于托管版本)
│ └── config.example.js # 配置模板
├── functions/ # Cloud Functions(用于托管版本)
│ ├── main.py # 后端逻辑(Firebase 变体)
│ └── requirements.txt # Python 依赖
├── firmware/ # ESP32-S3 PhotoPainter 文档
│ └── README.md # SD 卡及固件设置
├── pi/ # 旧版 Raspberry Pi 脚本
│ ├── LEGACY_PI_SETUP.md # Pi 设置指南
│ ├── install.sh # 一键安装脚本
│ └── display_update.py # 显示屏更新脚本
├── firestore.rules # Firestore 安全规则(托管版本)
├── storage.rules # Storage 安全规则(托管版本)
├── firebase.json # Firebase 配置(托管版本)
├── SELF_HOSTING.md # 在自己服务器上 24/7 运行的指南
├── FIREBASE_DEPLOY.md # Firebase 部署指南(托管版本)
├── EMAIL_SETUP.md # 可选的邮件小组件设置指南
└── LICENSE # Apache 2.0 许可证
邮件小组件(可选)
Glanceboard 可以选择在显示屏上显示未读 Gmail 的摘要。这需要设置你自己的 Google Cloud OAuth 凭据——请参阅 EMAIL_SETUP.md 获取分步指南。
邮件小组件:
- 仅读取主题行和发件人姓名(不读取邮件正文)
- 通过 Gemini 将其汇总为简短摘要
- 完全在你自己的机器上运行——数据不会离开你的服务器
- 完全可选——所有其他功能无需它即可正常工作
贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解如何贡献以及贡献者许可协议(CLA)流程的详细信息。
许可证与免责声明
版权所有 2026 Google LLC
所有软件均依据 Apache License 2.0(Apache 2.0)授权;除非遵守 Apache 2.0 许可证,否则您不得使用此文件。您可以在以下网址获取 Apache 2.0 许可证的副本:https://www.apache.org/licenses/LICENSE-2.0
所有其他材料均依据 Creative Commons Attribution 4.0 International License(CC-BY)授权。您可以在以下网址获取 CC-BY 许可证的副本:https://creativecommons.org/licenses/by/4.0/legalcode
除非适用法律要求或书面同意,根据 Apache 2.0 或 CC-BY 许可证在此分发的一切软件和材料均按“原样“分发,不附带任何明示或暗示的保证或条件。请参阅相应许可证以了解管理权限和限制的具体语言。
这不是 Google 的官方产品。
由 Raph Dixon (https://raph.plus) 使用 Antigravity (https://antigravity.google/) 和 Gemini Flash 3.6 (https://ai.google.dev/gemini-api/docs/models/gemini-3.6-flash) 倾心打造 ❤️
相似文章
@_philschmid: 今日发布:Nano Banana 2 Lite(GA)和 Gemini Omni Flash API(预览版)。Nano Banana 2 Lite(`gemini-3.1-flash-lite…
Google 发布了用于图像生成的 Gemini 3.1 Flash Lite(GA)以及用于多轮对话式视频编辑的 Gemini Omni Flash API 预览版,价格为 $0.10/秒。
开始使用 Nano Banana 2 Lite 和 Gemini Omni Flash 进行构建
Google DeepMind 发布 Nano Banana 2 Lite,这是其最快、最具成本效益的图像模型,并将 Gemini Omni Flash 提供给开发者用于视频生成和对话式编辑。
Gemini Omni 和 Gemini 3.5 的 9 个实际演示
Google 展示了其新模型 Gemini Omni(通过对话进行视频生成和编辑)和 Gemini 3.5 Flash(用于复杂任务的智能体模型)的 9 个演示,这些演示在 Google I/O 2026 上呈现。
Google 正在为 Gemini Notebook 开发交互式应用(2 分钟阅读)
Google 正在为 Gemini Notebook 开发一项新的 "App" 功能,该功能可将源材料转化为交互式应用,如仪表盘或学习辅助工具,同时还有 AI Notes 和水印等其他改进。
体验 Gemini 2.0 Flash 原生图像生成
Google 向所有开发者开放 Gemini 2.0 Flash 原生图像生成功能,支持多模态文本和图像输出,可用于故事创作、对话式图像编辑以及需要世界理解和文本渲染的应用。