• 用 ESP32 做了一个 AI Agent 桌面状态核心,科技感直接拉满


    最近一直在折腾一个挺有意思的小项目AgentCore-Light。

    开源地址:https://github.com/FPGAmaster-wyc/AgentCore-Light   

    感谢大家的星星,你的星星是对我最大的鼓励,我会继续优化下去!!!

    直接先看视频 哈哈哈哈

    我发现现在大家都在用各种 AI Agent、Codex、Claude Code、OpenCode 写代码,但 AI 的工作过程其实一直都是“隐藏”的:

    • AI 在思考?

    • AI 在运行命令?

    • AI 卡住了?

    • Token 快没了?

    • 需要人工确认?

    很多时候只能盯着终端窗口。

    于是我就在想:

    能不能把 AI 的工作状态,做成一个真正“看得见”的桌面设备?

    于是就有了这个项目:

    Agent Core Light

    一个基于:

    • ESP32-S3

    • WS2812 RGB灯环

    • SSD1306 OLED

    • 3D打印外壳

    实现的 AI Agent 状态核心灯。

    image


    1. 项目简介

    AgentCore-Light 是一个:展示AI 的工作状态,做成一个真正“看得见”的桌面设备

    AI Agent 实体状态核心

    核心思路:

    • 使用 ESP32-S3 作为主控

    • 使用 WS2812 RGB 灯环实现动态状态灯效

    • 使用 OLED 实时显示 Agent 状态

    • 使用 3D 打印外壳实现桌面设备化

    • 通过串口 / WiFi / 蓝牙脚本接收电脑端状态信息

    用于直观显示:

    • AI 思考中

    • 正在生成代码

    • 正在运行命令

    • 任务完成

    • 错误异常

    • 等待用户确认

    • Token 剩余额度

    本项目当前主打:AI 工作流可视化,让 AI 不再只是一个聊天窗口。


    2. 效果预览

    当前支持状态:

    场景模式灯效
    默认待机 IDLE 深蓝呼吸
    AI 思考中 THINKING 紫色神经脉冲
    AI 正在生成代码 WRITING 青蓝数据流
    AI 正在执行命令 RUNNING 橙红高速扫描
    任务完成 DONE 青绿色扩散
    任务失败 ERROR 红色故障闪烁
    等待人工确认 NEED_CONFIRM 白色双闪
    Token 过低 TOKEN_LOW 红蓝低频警告

    image

    image

    image

    image

    OLED 会同步显示:

    • 当前状态

    • Token 百分比

    • Agent 信息

    • 动态状态动画


    3. 硬件清单

    类别物料数量说明
    主控 ESP32-C3 开发板 1 块 推荐 Type-C 版本
    灯环 WS2812 8位 RGB灯环 1 个 外径约32mm
    显示 OLED 0.96 1 块 I2C接口
    外壳 3D打印外壳 1 套 FDM打印
    导线 飞线 / 杜邦线 若干 建议软硅胶线
    供电 Type-C 数据线 1 条 支持数据传输
    固定 3M双面胶 1 个 固定显示器
    工具 电烙铁、焊锡丝、镊子 若干 基础焊接工具

    4. 硬件结构

    本项目采用:环形灯 + 中心OLED结构。

    整体灵感类似:

    • AI 核心

    • 科幻反应堆

    • 桌面 AI 状态终端

    当前结构:

    WS2812 RGB灯环
            ↓
    OLED显示屏
            ↓
    ESP32-S33D打印外壳

    显示器安装方式:

    L型支架 + 3M双面胶

    固定于显示器顶部或左上角。


    5. 接线说明

    WS2812

    WS2812ESP32-S3
    VCC 3.3V
    GND GND
    DI GPIO4

    OLED

    OLEDESP32-S3
    VCC 3.3V
    GND GND
    SDA GPIO8
    SCL GPIO9

    6. 固件说明

    当前工程基于:

    Arduino Framework

    主要使用:

    • Adafruit NeoPixel

    • Adafruit SSD1306

    • Adafruit GFX

    固件特性:

    • 多状态动态灯效

    • OLED UI

    • Token 百分比显示

    • 串口实时控制

    • 非阻塞动画

    • millis() 动画系统


    7. 串口/蓝牙控制

    当前通过:

    115200 串口

    接收状态命令。

    支持:

    IDLE
    THINKING
    WRITING
    RUNNING
    DONE
    ERROR
    NEED_CONFIRM
    TOKEN:75

    例如:

    ser.write(b"THINKING\n")

    ESP32 会实时切换:

    • 灯效

    • OLED状态

    • 动画逻辑


    8. 当前灯效设计

    模式效果
    IDLE 深蓝呼吸
    THINKING 紫色神经脉冲
    WRITING 青蓝数据流
    RUNNING 橙红高速扫描
    DONE 青绿色扩散波
    ERROR 红色随机故障闪烁
    NEED_CONFIRM 白色双闪
    TOKEN_LOW 红蓝低频警告

    整体风格:

    • 科技感

    • 克制

    • 非电竞RGB

    • AI状态拟态


    9. OLED UI

    OLED 当前显示:

    Codex
    THINKING
    Token 75%

    同时支持:

    • 状态动画

    • Thinking 动态点

    • 扫描条

    • 成功/错误提示

    由于结构原因:

    OLED 左右边缘会被遮挡。

    当前 UI 使用:

    中心安全显示区域

    避免边缘内容被挡住。


    10. 3D打印结构

    整个外壳采用:PLA材质 3D打印

    当前版本:

    • 圆柱主体

    • RGB环形结构

    • OLED居中

    • 深空灰风格

    • L型支架固定

    后续计划:

    • 导光罩

    • 半透明灯环

    • 更薄结构

    • 隐藏走线

    • 更高集成度


    11. 后续计划

    后面准备继续升级:

    • WiFi联网

    • Web控制台

    • BLE版本

    • 手机通知

    • 微信小程序

    • Codex Hooks

    • Cursor 联动

    • 多Agent协同

    • AI语音联动

    甚至:多Agent桌面生态

    不同 AI:

    • 不同颜色

    • 不同人格

    • 不同状态核心


    12. 为什么做这个项目

    因为我越来越觉得:

    AI 不应该只是:一个聊天窗口而应该:真正存在于桌面上。

    比如:

    • AI正在思考

    • AI正在执行任务

    • AI正在等待你确认

    • AI额度快没了

    这些状态如果能真正:可视化体验会完全不一样。


    13. 当前状态

    目前项目仍处于:第一版原型阶段

    但已经基本实现:

    • ESP32控制

    • OLED显示

    • RGB灯效

    • 3D打印结构

    • 串口通信

    • Agent状态映射

    后续会继续迭代。

    14、后续准备开源

    目前还在继续迭代:

    • 外壳结构

    • 灯效动画

    • OLED UI

    • Codex联动逻辑

    等稳定一点后,准备把:

    • Arduino代码

    • 3D模型

    • 控制脚本

    整理出来。

    如果大家有更好的想法,也欢迎一起交流。


    15、最后

    这个项目目前还只是第一版原型。

    但我越来越觉得:

    未来 AI 的交互形式,可能真的不只是:

    “聊天窗口”。

    而会慢慢变成:

    真正存在于桌面上的“实体设备”。

    AI 不再只是一个窗口。

    而是一个真正“活着”的 Agent。

  • 相关阅读:
    C语言——1.入门须知
    Docker和K8S的区别
    LeetCode每日一题——剑指 Offer II 091. 粉刷房子
    张雪英部分论文集
    UE4蓝图节点不同颜色代表
    【JAVASE系列】14_包装类与日期处理
    【Ubuntu】解压 tar.xz 类型文件
    【数据结构初阶-oj题】栈和队列的oj题(入门)
    [全网唯一]通过修改源码使得从ZIP提取文件并在提取时进行重命名保存(博客园同步发布)
    kubernates dashboard管理界面安装及管理员用户配置
  • 原文地址:https://www.cnblogs.com/FPGAmaster/p/20205353