Claude Desktop Buddy复刻,代码开源

描述

 

你有没有这种“失联感”?写代码时打开Claude,一边等结果一边反复切回窗口,任务到底跑没跑完不确定,审批有没有弹出来也不知道,AI明明在运行,但你却完全“感知不到状态”。这次我们基于ESP32-S3制作了Claude的硬件伴侣,让AI不只是输出结果,而是能被你“看见过程”。

 

代码全开源

1

把Claude做成一个“有反应的设备”

这次我们复刻的是开源项目claude-desktop-buddy,原版运行在M5StickCPlus。我们将它完整移植到基于ESP32-S3自研的RootMaker开发板。它的核心不是显示器,而是一个理念:让AI的运行状态,从屏幕里“走出来”。现在,它可以像一个小伙伴一样,实时反馈Claude的工作状态。

代码

2

从烧录到连接,快速唤醒

硬件准备:

RootMaker(ESP32S3)开发板

TypeC数据线

3D打印外壳(自由设计)

代码

获取源码方式:

公众号 or B站后台回复「Claude buddy

 

基础流程:

1、将源码拉至Arduino

代码


 

2、选择开发板和端口

代码


 

3、编译并烧录固件

代码


 

4、在ClaudeDesktop开启HardwareBuddy→点击Connect连接设备。

代码


 

5、当连接成功的那一刻,设备会“亮起来”——角色正式被唤醒。

代码

3

AI状态开始“可视化”

真正有意思的部分,从连接后开始。Claude运行过程中,设备会实时同步状态

开始任务→进入「工作模式」

等待权限审批→立即提醒闪烁

审批完成→给出确认反馈

断开连接→自动进入睡眠状态

你不再需要频繁切屏确认状态,因为设备已经替你“盯着Claude”。

代码

更有趣的是一些互动设计

摇一摇开发板→角色会“晕”

每累计5万tokens→自动庆祝

支持自定义GIF→蓝牙直接推送,无需重新烧录

代码

4

代码结构与开源实现

从实现角度看,这个项目本质是一个状态机系统主循环每一帧做四件事:接收蓝牙数据→推导状态→处理输入→渲染画面。通信部分使用BLENUS(NordicUARTService),本质就是“蓝牙串口化”,Claude Desktop通过JSON向设备发送状态信息,例如任务进度或审批请求。

显示与动画部分:

LovyanGFX驱动ST7789屏幕

AnimatedGIF负责逐帧解码动画

LittleFS存储角色资源

交互部分:

LIS2DW12加速度计负责“摇一摇检测”

NeoPixel控制状态灯闪烁提示

当attention状态触发时,LED会周期性闪烁,让状态变化更直观。

代码

5

让AI不只是工具

这个项目的意义不只是“做了一个小硬件”,而是把Claude从屏幕里拆出来,让它变成一个可以被感知的存在:它会醒来、会忙碌、会等待、会庆祝,甚至会“晕”,更多创意案例 尽在ESP32系列开发板。项目已开源,可以直接复刻体验。如果你也想试试让AI不只是工具,而是“有状态的伙伴”,这个项目会是一个很有意思的起点。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分