开源一个 Skill,让 AI 接管你屏幕边那张便签纸 · AI HOT
歸藏(guizang.ai) @op7418 73
2026-05-22 18:52 ·41天前
AI 摘要 AI Desk Card 是一款 4.7 寸磁吸墨水屏,结合 AI Agent(如 Claude Code),通过预置模板与数据填充,动态显示日历、待办、GitHub PR 队列、天气等内容。它解决了传统便签纸的静态限制,实现内容自适应和场景切换(如夜间变为电子名片)。核心理念是将硬件从固定功能中解放,使显示能力由 AI 可获取的信息动态定义,从而提升效率并减少手动配置。
歸藏(guizang.ai) @op7418 · X 2026-05-22 18:52 · 41天前
在 X 看原推 · x.com AI 摘要 AI Desk Card 是一款 4.7 寸磁吸墨水屏,结合 AI Agent(如 Claude Code),通过预置模板与数据填充,动态显示日历、待办、GitHub PR 队列、天气等内容。它解决了传统便签纸的静态限制,实现内容自适应和场景切换(如夜间变为电子名片)。核心理念是将硬件从固定功能中解放,使显示能力由 AI 可获取的信息动态定义,从而提升效率并减少手动配置。
CodePilot 仓库有新 PR、有人在 Issue 里 at 我、CI 挂了,AI 都会把它推上去。
数字小不打扰,但抬头扫一眼就知道有没有要处理的事。等我手头这段写完,再统一去看。
我现在专注写 AIGC Weekly 的时候,它会自动把 PR 队列降级,只在出现 critical 标签的 Issue 时才推上来。
等我切到 CodePilot 的开发,PR 队列又会回到主位。
屏幕上显示什么,本质上是一个调度问题,不是一个配置问题。
传统 dashboard 让你配 widget,配完一周内还行,之后就变成一面没人看的墙。
案例四:天气、休息、所有那些"该有但你想不起来配"的东西 最让我自己意外的一类 widget 是 break-reminder。
这个 widget 会在一段时间没有按键活动之后,在某个槽位上轻轻推一句"该起来走走了"。
墨水屏不发光,不会弹窗、不会响、不会震动,但你抬头看到一行字,自然会停一下。
它和番茄钟最大的区别是:没有强制性。它只是存在,不打扰你。
如果你正在跑代码、写文章的状态里,那一行字会被你忽略;
如果你已经累了、状态浮的时候,看到那行字会真的去倒杯水。
我不会专门去查今天会不会下雨,但顶部 widget 静静显示"下午有雨"几个字之后,下楼前我会把雨伞拿上。
这种"低优先级但有用"的信息,过去只能靠你自己记得去查,现在它们待在视野边缘,需要的时候被你扫到。
它是怎么装上的:AI 全程引导 整个安装流程没有 App,没有蓝牙配对页面,没有手机扫码。你跟 AI 说:
"帮我把 ai-desk-card 装上:https://github.com/op7418/ai-desk-card"
AI 检测你电脑上有没有 PlatformIO,没装就自动装 自动编译固件、烧录到 M5Paper,1 分钟左右 整个过程你只回答 Wi-Fi 密码和"想看什么"两个问题。
之后设置定时任务也是一句话:"让卡片每 30 分钟刷新天气和未读邮件,工作日 8 点到 22 点。"
AI 自己去写 cron、自己去注册 loop、自己去调度。
定时任务跑的时候,AI 会读取你的 Memory 来决定推什么内容。
比如我让它每天早上 9 点更新一次,它会去看我 Memory 里最近活跃的项目(CodePilot、AIGC Weekly等),按重要度安排槽位。
这里没有"App 工程师做的设置页面",因为 AI 就是设置页面。
一个跟传统硬件相反的设计:组件预置,AI 只填数据 讲到这里需要单独说一下实现思路,这是 AI Desk Card 跟传统 IoT 设备最大的不同。
时钟样式、天气图标、字体大小,都是固件工程师在出厂前定好的。要加新功能,要发新固件 / OTA / 重新认证一遍。这是为什么 99% 的智能硬件买回来三个月就跟刚拆封时长得一样。
AI Desk Card 走的是反方向:16 种 widget 模板预置在服务端,AI Agent 只负责往里面塞 JSON 数据。
举个例子,pr-queue 这个 widget 的视觉布局(一个标题区、4 行 PR 信息、每行带状态图标)是渲染端写好的。
AI 不需要画图、不需要排版、不需要选字号。它只要往 daemon 发一个这样的请求:
服务端用 Python + Pillow 把这个 JSON 渲染成一张 540×280 的像素图,推到墨水屏上。
这个思路其实来自我们在 CodePilot 桌面端做的生成式 UI。
那边走的是相反的极端:模型实时生成 HTML/SVG,渲染成可交互的 widget。
两个方向看起来截然相反,但精神是一致的 -- UI 由 AI 决策,不由用户配置。
浏览器能跑任意代码、有强大的字体引擎、可以加载 CDN,所以让 AI 生成 UI 本身没问题。
墨水屏渲染受限,全屏 GC16 刷新要 2 秒、中文字体一套就要几兆、像素精度不能算错,AI 直接生成 UI 太重了。
所以反过来:UI 提前准备好,AI 只决定填什么、放哪个槽位、什么时候换。
这个组件库还在不断扩。硬件本身基本不变,能力却在持续生长。
写在最后:AI Agent 把硬件从内置功能里解放了出来 CPU、传感器、操作系统、内置 App,决定了它的能力上限。一旦造好出厂,能力就基本封顶。
AI Desk Card 这种思路下,硬件的能力来源被换掉了。
它本身只是一块墨水屏 + ESP32,能做什么取决于 AI Agent 能拿到什么信息。
日历来自飞书 CLI、PR 来自 GitHub CLI、天气来自任意 API、Memory 来自你的 Obsidian 仓库 -- 这些信息源全都在 Agent 那边,不在硬件里。
当 AI Agent 成为信息中枢之后,硬件可以做得很薄、很专用。
它不需要内置一百个功能,只需要做好一件事 -- 在 AI 决定推送的时候,把内容显示出来。
这件事的成本也降到了很低的水平。M5Paper V1.1 大概 600 块,未来类似的开源开发板会更便宜,三四百块就能买到。墨水屏、彩色墨水屏、TFT 小屏、甚至 Kindle、墨水屏阅读器,理论上都可以适配同一套 Skill。
适配 M5Paper S3 和 Inkplate / Waveshare 等其他墨水屏开发板 尝试给老 Kindle 写一个适配层,把闲置的阅读器变成桌面副屏 跟 Home Assistant 联动,把智能家居状态推到桌面卡上 -- 客厅温度、门锁状态、扫地机器人位置 探索彩色墨水屏的可能性,开放更多 widget 类型 每多支持一种硬件,就多一种 AI 触达物理世界的方式。这些设备不需要变聪明,它们只是 AI Agent 的物理出口。
真正在变聪明的是你桌上那个 AI,而它聪明的速度,比硬件迭代快得多。
GitHub:https://github.com/op7418/ai-desk-card
如果你觉得这次的内容对你有帮助,可以帮我点个赞或者转发给需要的朋友。
如果让 AI 来决定屏幕边框上应该贴什么、什么时候撕掉、什么时候换新的,那就是另一个东西了。
这就是 AI Desk Card Skill 想做的事。
形态上是一块 4.7 寸的墨水屏,带磁吸(类似 MagSafe),可以直接贴在显示器旁边。
背后是一个 Skill -- 装到 Claude Code 或者 Codex 这类 AI Agent 里,AI 接管所有事:
Github:https://github.com/op7418/ai-desk-card
案例一:日程和待办自己会更新 我把 top-left 槽位设成日历,middle 槽位设成 todo。
早上坐到电脑前,屏上已经是当天的完整安排:上午的会、下午健身、晚上要交的稿子。
这些数据来自飞书日历,AI Agent 通过飞书 CLI 直接读取。
我跟 AI 说"周四下午加一个咖啡,3 点",AI 一边把日程写进飞书日历,一边把屏上的卡片刷新了一下。
更舒服的是反向同步。我做完 AIGC Weekly 的初稿,跟 AI 说"周刊写完了",屏上对应的那一行就被划掉了。
便签纸做不到这件事。便签纸只能记录某个瞬间的快照,而日程的本质是一个不断变化的状态流。
当显示设备和你的 Memory 联通之后他会直接展示你和你的上下文当下的状态。
案例二:息屏的时候,它是你的名片 我专门为这个特性加了一个 Quiet Hours 模式 -- 到了晚上 11 点,或者你长按"睡眠"按钮,屏幕会自动切换到一张电子名片,然后进入深度休眠。
名片上是你的头像、介绍、二维码。整张屏黑白分明,墨水屏特有的纸质感。
下次跟新朋友吃饭,从包里掏出来递过去:黑白名片 + 二维码,加完好友放回口袋。
整个过程没有插电、没有开机、没有打开 App 翻二维码的尴尬。
而早上你坐到桌前,它又会被 AI 唤醒,自动切回工作模式 -- 日程、todo、PR 队列回来了。
墨水屏的限制(不发光、刷新慢、断电保留)在大多数场景下都是缺点,但当你不去硬刚这些限制,反而顺着它去设计场景,会发现它有些屏幕做不到的事。
案例三:GitHub 的动态我不再错过了 我维护 CodePilot 这种开源项目,最大的负担是看不见 - 不打开 GitHub 就不知道有没有新 PR、新 Issue。
但每隔十分钟打开一次 GitHub 是非常糟糕的工作节奏,注意力会被切碎。
现在 AI Desk Card 的 bottom 槽位常驻一个 pr-queue widget。
CodePilot 仓库有新 PR、有人在 Issue 里 at 我、CI 挂了,AI 都会把它推上去。
数字小不打扰,但抬头扫一眼就知道有没有要处理的事。等我手头这段写完,再统一去看。
我现在专注写 AIGC Weekly 的时候,它会自动把 PR 队列降级,只在出现 critical 标签的 Issue 时才推上来。
等我切到 CodePilot 的开发,PR 队列又会回到主位。
屏幕上显示什么,本质上是一个调度问题,不是一个配置问题。
传统 dashboard 让你配 widget,配完一周内还行,之后就变成一面没人看的墙。
案例四:天气、休息、所有那些"该有但你想不起来配"的东西 最让我自己意外的一类 widget 是 break-reminder。
这个 widget 会在一段时间没有按键活动之后,在某个槽位上轻轻推一句"该起来走走了"。
墨水屏不发光,不会弹窗、不会响、不会震动,但你抬头看到一行字,自然会停一下。
它和番茄钟最大的区别是:没有强制性。它只是存在,不打扰你。
如果你正在跑代码、写文章的状态里,那一行字会被你忽略;
如果你已经累了、状态浮的时候,看到那行字会真的去倒杯水。
我不会专门去查今天会不会下雨,但顶部 widget 静静显示"下午有雨"几个字之后,下楼前我会把雨伞拿上。
这种"低优先级但有用"的信息,过去只能靠你自己记得去查,现在它们待在视野边缘,需要的时候被你扫到。
它是怎么装上的:AI 全程引导 整个安装流程没有 App,没有蓝牙配对页面,没有手机扫码。你跟 AI 说:
"帮我把 ai-desk-card 装上:https://github.com/op7418/ai-desk-card"
AI 检测你电脑上有没有 PlatformIO,没装就自动装 自动编译固件、烧录到 M5Paper,1 分钟左右 整个过程你只回答 Wi-Fi 密码和"想看什么"两个问题。
之后设置定时任务也是一句话:"让卡片每 30 分钟刷新天气和未读邮件,工作日 8 点到 22 点。"
AI 自己去写 cron、自己去注册 loop、自己去调度。
定时任务跑的时候,AI 会读取你的 Memory 来决定推什么内容。
比如我让它每天早上 9 点更新一次,它会去看我 Memory 里最近活跃的项目(CodePilot、AIGC Weekly等),按重要度安排槽位。
这里没有"App 工程师做的设置页面",因为 AI 就是设置页面。
一个跟传统硬件相反的设计:组件预置,AI 只填数据 讲到这里需要单独说一下实现思路,这是 AI Desk Card 跟传统 IoT 设备最大的不同。
时钟样式、天气图标、字体大小,都是固件工程师在出厂前定好的。要加新功能,要发新固件 / OTA / 重新认证一遍。这是为什么 99% 的智能硬件买回来三个月就跟刚拆封时长得一样。
AI Desk Card 走的是反方向:16 种 widget 模板预置在服务端,AI Agent 只负责往里面塞 JSON 数据。
举个例子,pr-queue 这个 widget 的视觉布局(一个标题区、4 行 PR 信息、每行带状态图标)是渲染端写好的。
AI 不需要画图、不需要排版、不需要选字号。它只要往 daemon 发一个这样的请求:
服务端用 Python + Pillow 把这个 JSON 渲染成一张 540×280 的像素图,推到墨水屏上。
这个思路其实来自我们在 CodePilot 桌面端做的生成式 UI。
那边走的是相反的极端:模型实时生成 HTML/SVG,渲染成可交互的 widget。
两个方向看起来截然相反,但精神是一致的 -- UI 由 AI 决策,不由用户配置。
浏览器能跑任意代码、有强大的字体引擎、可以加载 CDN,所以让 AI 生成 UI 本身没问题。
墨水屏渲染受限,全屏 GC16 刷新要 2 秒、中文字体一套就要几兆、像素精度不能算错,AI 直接生成 UI 太重了。
所以反过来:UI 提前准备好,AI 只决定填什么、放哪个槽位、什么时候换。
这个组件库还在不断扩。硬件本身基本不变,能力却在持续生长。
写在最后:AI Agent 把硬件从内置功能里解放了出来 CPU、传感器、操作系统、内置 App,决定了它的能力上限。一旦造好出厂,能力就基本封顶。
AI Desk Card 这种思路下,硬件的能力来源被换掉了。
它本身只是一块墨水屏 + ESP32,能做什么取决于 AI Agent 能拿到什么信息。
日历来自飞书 CLI、PR 来自 GitHub CLI、天气来自任意 API、Memory 来自你的 Obsidian 仓库 -- 这些信息源全都在 Agent 那边,不在硬件里。
当 AI Agent 成为信息中枢之后,硬件可以做得很薄、很专用。
它不需要内置一百个功能,只需要做好一件事 -- 在 AI 决定推送的时候,把内容显示出来。
这件事的成本也降到了很低的水平。M5Paper V1.1 大概 600 块,未来类似的开源开发板会更便宜,三四百块就能买到。墨水屏、彩色墨水屏、TFT 小屏、甚至 Kindle、墨水屏阅读器,理论上都可以适配同一套 Skill。
适配 M5Paper S3 和 Inkplate / Waveshare 等其他墨水屏开发板 尝试给老 Kindle 写一个适配层,把闲置的阅读器变成桌面副屏 跟 Home Assistant 联动,把智能家居状态推到桌面卡上 -- 客厅温度、门锁状态、扫地机器人位置 探索彩色墨水屏的可能性,开放更多 widget 类型 每多支持一种硬件,就多一种 AI 触达物理世界的方式。这些设备不需要变聪明,它们只是 AI Agent 的物理出口。
真正在变聪明的是你桌上那个 AI,而它聪明的速度,比硬件迭代快得多。
GitHub:https://github.com/op7418/ai-desk-card
如果你觉得这次的内容对你有帮助,可以帮我点个赞或者转发给需要的朋友。