上个月我做了 M5 Paper Buddy,把一块墨水屏接到 Claude Code 上,监控 AI 在干什么、需要审批什么。
当时挺兴奋的,物理按键审批操作那个仪式感很好。
但用了几周之后我发现,它放在桌上的时间,远比我看它的时间长。
AI 跑得稳的时候根本不需要监控,需要审批的时候我大概率人就在电脑前。它解决的是一个边缘问题。

后来我注意到一个很普遍的现象:很多人会在屏幕边框上贴便签纸,甚至有很多这种便签纸在卖。
写着今天要做什么、几点开会、某个项目的下一步动作。
便签纸的存在不是因为它好用,而是因为人需要"抬头就能看见"的提醒,不想为了看一眼日历切窗口、解锁手机。

但便签能记的东西非常有限,写完就静止了。
日程变了,便签不会变。任务做完,便签还在那。它是一个被时间冻住的物件。
而现在,我们手边有了 AI。它有 Memory,有 Agent,能读我的日历、看我的 GitHub、跟我对话。
如果让 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 一边把日程写进飞书日历,一边把屏上的卡片刷新了一下。
新的日程出现在 todo 槽位里。
更舒服的是反向同步。我做完 AIGC Weekly 的初稿,跟 AI 说"周刊写完了",屏上对应的那一行就被划掉了。
便签纸做不到这件事。便签纸只能记录某个瞬间的快照,而日程的本质是一个不断变化的状态流。
当显示设备和你的 Memory 联通之后他会直接展示你和你的上下文当下的状态。
这是我做完之后最喜欢的一个功能。
墨水屏有个物理特性:断电之后画面会保留。
我专门为这个特性加了一个 Quiet Hours 模式 —— 到了晚上 11 点,或者你长按"睡眠"按钮,屏幕会自动切换到一张电子名片,然后进入深度休眠。
名片上是你的头像、介绍、二维码。整张屏黑白分明,墨水屏特有的纸质感。

这块屏从那一刻起就完全不耗电了,但画面一直在。
它带磁吸,从显示器边上摘下来揣进包里,重量很轻。
下次跟新朋友吃饭,从包里掏出来递过去:黑白名片 + 二维码,加完好友放回口袋。
整个过程没有插电、没有开机、没有打开 App 翻二维码的尴尬。
而早上你坐到桌前,它又会被 AI 唤醒,自动切回工作模式 —— 日程、todo、PR 队列回来了。
墨水屏的限制(不发光、刷新慢、断电保留)在大多数场景下都是缺点,但当你不去硬刚这些限制,反而顺着它去设计场景,会发现它有些屏幕做不到的事。
我维护 CodePilot 这种开源项目,最大的负担是看不见 — 不打开 GitHub 就不知道有没有新 PR、新 Issue。
但每隔十分钟打开一次 GitHub 是非常糟糕的工作节奏,注意力会被切碎。
现在 AI Desk Card 的 bottom 槽位常驻一个 pr-queue widget。
CodePilot 仓库有新 PR、有人在 Issue 里 at 我、CI 挂了,AI 都会把它推上去。
数字小不打扰,但抬头扫一眼就知道有没有要处理的事。等我手头这段写完,再统一去看。

更进一步的玩法是,AI 知道我在做什么。
我现在专注写 AIGC Weekly 的时候,它会自动把 PR 队列降级,只在出现 critical 标签的 Issue 时才推上来。
等我切到 CodePilot 的开发,PR 队列又会回到主位。
屏幕上显示什么,本质上是一个调度问题,不是一个配置问题。
传统 dashboard 让你配 widget,配完一周内还行,之后就变成一面没人看的墙。
AI 主动决策是因为它知道你正在做什么、它能换。
最让我自己意外的一类 widget 是 break-reminder。
我经常一坐就是三四个小时不动。
这个 widget 会在一段时间没有按键活动之后,在某个槽位上轻轻推一句"该起来走走了"。
墨水屏不发光,不会弹窗、不会响、不会震动,但你抬头看到一行字,自然会停一下。
它和番茄钟最大的区别是:没有强制性。它只是存在,不打扰你。
如果你正在跑代码、写文章的状态里,那一行字会被你忽略;
如果你已经累了、状态浮的时候,看到那行字会真的去倒杯水。

天气也是一样。
我不会专门去查今天会不会下雨,但顶部 widget 静静显示"下午有雨"几个字之后,下楼前我会把雨伞拿上。
这种"低优先级但有用"的信息,过去只能靠你自己记得去查,现在它们待在视野边缘,需要的时候被你扫到。
整个安装流程没有 App,没有蓝牙配对页面,没有手机扫码。你跟 AI 说:
"帮我把 ai-desk-card 装上:https://github.com/op7418/ai-desk-card"
接下来发生的事:
1.AI 检测你电脑上有没有 PlatformIO,没装就自动装
2.检测你有没有插 USB,没插就提示你插
3.自动编译固件、烧录到 M5Paper,1 分钟左右
4.问你 Wi-Fi 密码,写进设备
5.问你"想看哪些卡片、多久刷一次"
6.推第一个 widget 上去

整个过程你只回答 Wi-Fi 密码和"想看什么"两个问题。
之后设置定时任务也是一句话:"让卡片每 30 分钟刷新天气和未读邮件,工作日 8 点到 22 点。"
AI 自己去写 cron、自己去注册 loop、自己去调度。
定时任务跑的时候,AI 会读取你的 Memory 来决定推什么内容。
比如我让它每天早上 9 点更新一次,它会去看我 Memory 里最近活跃的项目(CodePilot、AIGC Weekly等),按重要度安排槽位。
这里没有"App 工程师做的设置页面",因为 AI 就是设置页面。
你过去要点十下才能调好的设置,现在一句话就行。
讲到这里需要单独说一下实现思路,这是 AI Desk Card 跟传统 IoT 设备最大的不同。
通常做一个智能硬件,组件是写死在固件里的:
时钟样式、天气图标、字体大小,都是固件工程师在出厂前定好的。要加新功能,要发新固件 / OTA / 重新认证一遍。这是为什么 99% 的智能硬件买回来三个月就跟刚拆封时长得一样。
AI Desk Card 走的是反方向:16 种 widget 模板预置在服务端,AI Agent 只负责往里面塞 JSON 数据。
举个例子,pr-queue 这个 widget 的视觉布局(一个标题区、4 行 PR 信息、每行带状态图标)是渲染端写好的。
AI 不需要画图、不需要排版、不需要选字号。它只要往 daemon 发一个这样的请求:
JSON
{ "slot": "bottom", "type": "pr-queue", "data": { "items": [ {"repo": "codepilot", "title": "Fix scroll jitter", "status": "review"}, ... ] } }
服务端用 Python + Pillow 把这个 JSON 渲染成一张 540×280 的像素图,推到墨水屏上。

这个思路其实来自我们在 CodePilot 桌面端做的生成式 UI。
那边走的是相反的极端:模型实时生成 HTML/SVG,渲染成可交互的 widget。
两个方向看起来截然相反,但精神是一致的 ——
UI 由 AI 决策,不由用户配置。
为什么墨水屏要反着来?因为约束不一样。
浏览器能跑任意代码、有强大的字体引擎、可以加载 CDN,所以让 AI 生成 UI 本身没问题。
墨水屏渲染受限,全屏 GC16 刷新要 2 秒、中文字体一套就要几兆、像素精度不能算错,AI 直接生成 UI 太重了。
所以反过来:UI 提前准备好,AI 只决定填什么、放哪个槽位、什么时候换。
这个组件库还在不断扩。硬件本身基本不变,能力却在持续生长。
聊点更大的事。
传统硬件公司的护城河是 "我设备里能做什么"。
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工具箱”
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md