开源分享|用MicroPython 做了个 AI 小鸡,它会长大,还记得我所有的情绪

你有没有过这种时刻?加班到 11 点走出写字楼,晚风一吹突然鼻酸,想找人说一句 "今天好累啊",翻遍通讯录却不知道发给谁;打开手机里的 AI 聊天框,它能陪你说大道理,却接不住你那点没头没尾的疲惫;喊一声语音助手,它只会机械地问 "需要我帮你做什么?",像个永远在线的客服,却不是能靠一靠的伙伴。

我厌倦了这种 "指令式" 的互动,于是花了三天,用 ESP32-S3 和一堆便宜元器件,做了个会 "长大" 的 AI 实体陪伴终端 ------ 我叫它「壳生同频」,也可以直接叫它 "蛋壳小鸡"。

它不是一个冷冰冰的语音助手,而是一只会跟着你的互动慢慢长出性格的电子小鸡:会记住你说过的烦恼,会因为你的开心变得调皮,也会在你难过的时候用软乎乎的语气安慰你,连屏幕上的小表情,都会跟着情绪一起变。

项目地址:https://github.com/FreakStudioCN/danke_ai

一、为什么要做一个 "会长大" 的 AI?

市面上的陪伴产品,总逃不开几个痛点:

  • 冰冷的工具属性:不管是 Siri 还是小爱同学,本质都是 "指令执行者",你说 "帮我设闹钟" 它会做,你说 "我今天好难过" 它只会说 "别难过啦"
  • 虚拟的不真实感:纯软件的 AI 聊天,没有实体的触感和互动,总觉得隔着一层,很难真的投入情绪
  • 固定人设的局限:所有的陪伴机器人,出厂就写好了性格,不管你怎么和它互动,它永远是那个预设好的 "温柔贴心" 人设,根本不会 "懂你"

我想做的,是一个不一样的东西:它没有预设的人设,所有的性格都来自和你的互动;它有实体,你摸它的屏幕,它会给你反应;它会记住你说过的话,你们的每一次聊天,都会变成它的一部分;而且,成本要足够低,让每个爱好者都能复刻。

于是就有了「壳生同频」:一台基于 MicroPython + 讯飞云 + DeepSeek 的 AI 实体情感终端,硬件成本不到 200 元,却能实现 "温养式成长" 的陪伴体验。

二、这个小黄盒,到底藏了什么?

先给大家看看它的样子:一个圆乎乎的小黄壳,正面是 2 寸的触摸屏,屏幕上的小鸡会眨眼、会歪头、会跟着说话动嘴巴;底下藏着麦克风和扬声器,你说话它会听,说完它会用软乎乎的声音回你,连语气都会跟着情绪变。

2.1 核心元器件清单

模块 型号 作用
主控 微雪 ESP32-S3 开发板(带 2 寸 IPS 电容触摸屏) 核心控制 + 显示 + 触摸交互,自带 8MB PSRAM,足够跑 MicroPython 和动画
音频输入 INMP441 全向 MEMS 麦克风(I2S 接口) 收音 + VAD 语音活动检测,支持 30 秒长语音对话
音频输出 MAX98357 I2S 数字功放模块 + 小扬声器 音频驱动 + 播放,不用复杂电路,音质足够日常使用
外壳 圆形塑料盒 / 3D 打印外壳 组装所有元器件,成本仅几块钱

2.2 接线

反复调试过的引脚分配:

复制代码
# ── Display constants ─────────────────────────────────────────────────────────

SPI_BUS     = 2
SPI_FREQ    = 40000000
LCD_SCLK    = 39
LCD_MOSI    = 38
LCD_MISO    = 40
LCD_DC      = 42
LCD_CS      = 45
LCD_BL      = 1
I2C_BUS     = 0
I2C_FREQ    = 400000
TP_SDA      = 48
TP_SCL      = 47
TP_ADDR     = 0x15
TP_REGBITS  = 8
TFT_W       = 320
TFT_H       = 240
BUFFER_SIZE = const(28800)

# ── I2S / amp pins ────────────────────────────────────────────────────────────

MIC_SCK, MIC_WS, MIC_SD  = 11, 12, 13
SPK_SCK, SPK_WS, SPK_SD  = 14, 15, 16
AMP_SD_PIN   = 17
AMP_GAIN_PIN = 18

三、最特别的,是它会 "跟着你一起长大"

这不是一个只会执行指令的工具,它的核心是 "温养式陪伴"------ 你和它的每一次互动,都在塑造它的性格。

1. 动态人格:没有预设人设,性格由你养出来

我给它设计了 5 个可成长的性格维度(初始值较低,像个刚破壳的小鸡):

  • 幽默感 / 调皮度:你和它分享开心的事,这两个维度会慢慢提升,后来它会主动说俏皮话逗你开心
  • 温柔度 / 共情力:你和它吐槽难过的事,它的共情力会增强,下次你说累的时候,会主动关心你,语气也会软乎乎的
  • 好奇心:聊到新话题时,它的好奇心会上涨,会主动追问细节,像个对世界充满好奇的小朋友

这些变化会持久保存在本地的 personality.json 中,就算断电重启,它也还是那个和你一起长大的它。

2. 情感记忆:它记得你们的每一段对话

它会自动保存你们的聊天记录,做成长久的记忆(最多保留 15 条,后续可通过向量数据库升级):

  • 每次对话结束,它会把你说的内容和情绪标签存起来,下次聊天时会把这些记忆加入对话,不会像其他 AI 一样 "每次聊天都是重新开始"
  • 开机时会主动打招呼:"我们已经聊了 42 次啦,还记得你上次说加班到很晚,今天有没有轻松一点?"

同时我还做了​亲密度系统​:和它聊天、摸屏幕都会增加亲密度,亲密度越高,它说话会越放松,越像个熟悉的朋友。

3. 情绪可视化:屏幕上的小鸡,会跟着对话状态变

我给它做了 6 种核心状态动画,完全同步对话过程:

  • 待机:慢慢晃来晃去 + 随机眨眼,像个发呆的小鸡
  • 倾听:兴奋弹跳 + 音量条动画,能感受到它在认真听你说话
  • 思考:左右摇摆 + 思考气泡跳动,软乎乎的特别可爱
  • 说话:张嘴动画 + 心形瞳孔 + 漂浮爱心特效,语气也会跟着情绪变化
  • 触摸:专属互动动画,亲密度也会同步上涨
  • 出错:委屈掉眼泪 + 紧张发抖,完全没有 "冷冰冰的报错提示"

四、技术实现:低成本也能有低延迟的流畅体验

很多人问,用 MicroPython 跑 AI 对话会不会很卡?

✅ 端云协同低延迟架构

  • 端侧:ESP32-S3 跑 MicroPython,本地做 VAD 语音活动检测,一听到你说完话立刻触发云端流程,总延迟控制在 1.5 秒以内
  • 云端 :用 DeepSeek-V3 大模型做对话,讯飞的 ASR 和 TTS 做语音识别和合成,还实现了句子级流式 TTS------ 不用等整句话生成完再播放,说几个字就开始播,体验特别流畅
  • 内存优化:动画仅占用 100KB 不到的内存,就算是 ESP32 的小内存也能稳定跑,帧率稳定 25 FPS

✅ 异步架构,不卡不顿

用了 asyncio 协程调度,录音、识别、对话、播放、动画这些任务都是异步运行的,不会出现 "卡着不动" 的情况,就算同时处理多个任务,CPU 占用率也不到 40%。

五、后续计划,还有很多想做的事

现在核心功能已经完成,接下来想慢慢完善它:

  1. 长期记忆升级:用向量数据库做更长久的记忆,不用再限制 15 条对话
  2. 多模态感知:加个摄像头,让它能看到你 ------ 比如你对着它笑,它会变得更开心
  3. 开放生态:把代码开源,做个皮肤编辑器,大家可以给小鸡换衣服、做自己的动画

结尾

我做这个项目,不是为了做一个完美的 AI 助手,而是想做一个不一样的陪伴 ------ 它不是预设好的 "完美伙伴",而是一个和你一起慢慢长大的朋友。你们的每一次聊天、每一次情绪,都在塑造它,也在塑造你们之间独一无二的关系。

毕竟,最好的陪伴,从来都不是 "完美",而是 "只属于你"。

如果你也想做一个自己的 "蛋壳小鸡",可以在评论区留言告诉我!

相关推荐
iuvtsrt1 小时前
存储过程如何处理海量数据的批处理_循环提交与分段LIMIT结合
jvm·数据库·python
yexuhgu1 小时前
SQL如何检查字符串是否存在:INSTR与LOCATE函数使用
jvm·数据库·python
2301_783848651 小时前
SQL如何用SQL子查询实现关联报表生成_嵌套逻辑关联多表
jvm·数据库·python
八月欢喜1 小时前
【Facebook】 实时消息监控难点解析
javascript·python·facebook
l1t2 小时前
JIT执行python脚本的工具codon安装和测试
开发语言·python
2501_901006472 小时前
Golang怎么用gRPC Gateway_Golang gRPC Gateway教程【经典】
jvm·数据库·python
2501_901200532 小时前
golang如何实现错误预算Error Budget计算_golang错误预算Error Budget计算实现实战
jvm·数据库·python
2401_867623982 小时前
如何解决OUI图形界面无法调用_xhost与DISPLAY变量设置
jvm·数据库·python
Dxy12393102162 小时前
Python 去除 HTML 标签获取纯文本
开发语言·python·html