当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]Paimon是一款放置在我桌面上的桌面伴侣机器人,使用M5Stack官方的Stack-chan套件构建:包含一个面部显示屏、两个用于头部倾斜和转动的舵机、顶部12颗LED环用于情绪照明,以及M5Stack CoreS3作为主控制器。

Paimon:由Claude Code驱动的语音控制桌面机器人

这个项目是关于什么的?

Paimon是一款放置在我桌面上的桌面伴侣机器人,使用M5Stack官方的Stack-chan套件构建:包含一个面部显示屏、两个用于头部倾斜和转动的舵机、顶部12颗LED环用于情绪照明,以及M5Stack CoreS3作为主控制器。

但这个项目的重点并不在于硬件本身。而在于:这是一个可以通过语音操控的小型机器人,它真正了解你。

你可以这样指令:

“Paimon,向左转30度,然后变红。”——机器人转向,灯光变为红色。

“Paimon,查找我上周写的项目笔记。”——机器人调用我在Mac上的个人知识库,读出答案。

“Paimon,以我的写作风格撰写一篇关于那个舵机故障的博客文章。”——机器人调用本地写作技能,返回完整的草稿。

三个能力层叠加在一起,才让这一切成为可能。

第一层是基于 XiaoZhi AI 和 DeepSeek 构建的中文语音管道,能够处理听觉和语音交互,响应时间低于一秒,首词即达。

第二层是我添加到固件中的MCP工具集,使云端大语言模型可以直接控制硬件:任意舵机角度、LED颜色,以及点头、摇晃等快速手势。

第三层至关重要:它连接了机器人与运行在Mac上的Claude Code。这个Claude Code已加载了我的个人记忆,拥有15个以上的自定义技能(如写作、研究、图像生成),以及30多个MCP服务器(包括Outlook、Teams、SharePoint、我的个人Wiki、GitHub等)。这个环境真正了解我,但它通常只是藏在终端里。

我为何决定这么做

因为所有我尝试过的桌面AI玩具都显得空洞无物。

它们可以聊天、讲笑话、在维基百科上查找信息——但它们实际上并不真正认识我。问一个主流AI对话者“上周我写的那个薪资系统项目是什么?”它会道歉;问“今天有紧急邮件吗?”它会更改主题。

而我的Mac上的Claude Code则积累了大量个人上下文:我的笔记、我的写作风格、我的电子邮件、我的日历、我的项目文件。那个环境早已非常熟悉我,只是它恰好生活在一个终端窗口里。

我希望我的桌面机器人能像我一样,深入那个克洛德代码。不是另一个云上的化身——而是我的真实化身。

同时,我也希望保留那种趣味性:当我喊出“抬头庆祝”时,它应该自然地抬起头来,并自行闪烁彩虹色的LED灯,而无需我预先编程这个特定的动作。让大语言模型从我的声音中,决定它该做什么、如何行动。

它是如何工作的

该系统由三个相互协作的部分组成。

第一部分:机器人固件(M5Stack CoreS3)。基于78/xiaozhi-esp32进行修改。我添加了新的MCP工具,使云LLM可以直接调用:将头部调整至任意角度、快速点头、快速摇晃、设置LED颜色。唤醒词“Hi XiaoZhi”全天候运行(默认固件在空闲30秒后关闭麦克风——我已禁用此功能)。GitHub Actions会自动构建固件,你只需下载生成的文件并刷入你的Stack-chan设备即可。

第二部分:云端语音循环(XiaoZhi + DeepSeek)。XiaoZhi提供完整的语音流处理链:麦克风 → 语音转文字 → LLM → 文字转语音 → 语音输出。首词延迟低于一秒。由于其原生集成了MCP,同一LLM可使用相同语法调用机器人的硬件工具以及我的Mac上的桥接工具。

第三部分:Claude Code桥接器(位于我的Mac上)。一台运行在Mac上的FastMCP服务器,由launchd守护,并支持7×24小时自动重启。它向云LLM暴露一个核心工具:claude_code(task),该工具启动真正的claude --print命令行接口,携带我的完整个人上下文(内存、技能、30多个MCP服务器),并返回答案。

由于Claude Code查询通常需要30到120秒,而WSS心跳间隔仅为约30秒,因此该工具会立即返回语音确认(“Paimon正在处理,请稍后再问我”)。实际的查询在后台运行,结果会被写入本地输出框。当我之后询问“是否准备就绪?”时,配套工具会读取最新的结果并以语音形式回复。

完整流程如下:

你说话 → 麦克风 → XiaoZhi云(DeepSeek V4)→ LLM决定使用哪个MCP工具 → 直接控制硬件(转动头部、改变LED灯),或转发至我的Mac桥接器 → FastMCP → 启动claude --print → 我的记忆+技能+30多个MCP服务器 → 结果写入输出框 → 语音回复给你。

你可以让Paimon执行的操作包括:

Claude Code 大脑:说“在知识库中查找 X”,她会查询我的维基、记忆和笔记——结果大约30秒内返回。说“撰写一篇关于 Y 的博客文章”,她便会调用我的写作能力,返回完整的草稿。说“今天有重要的邮件吗?”,她会调用 Outlook MCP 并筛选未读邮件。说“准备好了吗?”,她会阅读收件箱并说出最新的结果。

自己动手搭建

两个开源仓库均位于 GitHub 上:

固件:heavenchenggong/stackchan-xiaozhi-firmware。从 CI 构建产物中直接刷入预编译的二进制文件——无需安装 ESP-IDF。

Mac 桥接器:heavenchenggong/stackchan-claude-bridge。基于 Python 和 launchd。前提条件:你的 Mac 上已安装 claude CLI。

设置过程约需 30 分钟。注册 xiaozhi.me,获取 MCP 端点 URL,将固件刷入 Stack-chan,配置 WiFi 并激活/绑定账户,然后在 Mac 上使用 git 克隆桥接项目,pip 安装依赖,将 MCP URL 添加到 .env 文件,最后通过 launchctl 加载启动守护进程。

你无需安装 ESP-IDF(CI 已为你构建),也无需自托管服务器(XiaoZhi 的免费云服务即可),甚至无需使用 Docker(只需在 Mac 上创建一个 65MB 的 Python 虚拟环境即可)。

下一步是什么

我有两个方向想尝试。

第一个:连接到我的智能家居生态系统。家里已经配备了全套小米智能设备(灯光、空调、音箱),我之前已经写好了一个Python控制器,可以直接与米家云通信,并支持场景联动。将这个控制器作为另一个MCP接入,Paimon就能同时成为全屋助手和个人知识库——同一个机器人既管理我的工作笔记,也控制客厅的灯光。

第二个:把Paimon变成一个Claude Code状态显示装置。当Mac上的Claude Code在任务中间需要审批,或某个工具卡住时,Paimon应转向我,让她的LED灯变黄,并说:“主人,我需要您的批准。” 这些功能我已经用于Kindle状态监控项目。将Paimon从被动响应者升级为主动协作伙伴——这才是真正桌面伴侣应有的样子。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭