Smart Pet with MCP
by shijianzhong
A smart pet companion application based on the MCP (Model Context Protocol) protocol, providing real-time interaction and services for pet owners through speech recognition and natural language processing technology. This application is an MCP-Client application that can be freely combined with MCP-Server to achieve requirements.
View on GitHub
Last updated: N/A
Smart Pet with MCP
一个基于 MCP(Model Context Protocol)协议的智能宠物伴侣应用,通过语音识别和自然语言处理技术,为宠物主人提供实时互动和服务。该应用是一个 MCP-Client 应用,可以自主无限搭配 MCP-Server 实现需求。
配合测试的mcp server 开源地址:https://github.com/shijianzhong/mcp-server-for-pc 该mcp server 主要是用来操作个人PC的,比如打开浏览器,打开应用,打开文件,播放音乐,发送邮件等。
项目特点
- 🎯 智能交互:通过语音识别和自然语言处理实现智能对话
- 🎨 精美界面:采用 Vue3 + Electron 构建的现代化界面
- 🔄 实时响应:基于 MCP 协议实现快速响应
- 🐱 宠物陪伴:提供虚拟宠物互动体验
- 🌐 多平台支持:支持 Windows、macOS 和 Linux 系统
技术栈
- 前端框架:Vue 3 + Electron
- 语音识别:FunASR
- 协议支持:MCP (Model Context Protocol)
- UI 渲染:Pixi.js
- 数据库:Better-SQLite3
- AI 模型:支持 Anthropic、OpenAI 等大模型
功能特性
核心功能
- 🎤 语音识别:通过麦克风捕获用户语音,并转换为文本
- 🤖 自然语言处理:将语音识别的文本转换为 MCP 协议格式的指令
- 💬 智能对话:支持与虚拟宠物进行自然语言对话
- 🎮 交互控制:支持语音和点击等多种交互方式
特色功能
- 🎭 虚拟形象:支持 Live2D 虚拟形象展示
- 🌡️ 环境感知:支持天气和环境信息展示
- 🔄 实时更新:支持应用自动更新
- ⚙️ 配置管理:支持 MCP 服务器配置管理
系统架构
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ Smart Pet App │────▶│ MCP Client │────▶│ MCP Server │
│ (Electron) │ │ │ │ │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ FunASR Engine │ │ AI Models │ │ File System │
│ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
快速开始
环境要求
- Node.js >= 16
- pnpm >= 7
- Docker (用于运行 FunASR)
安装步骤
- 克隆项目
git clone https://github.com/yourusername/smart-pet-with-mcp.git
cd smart-pet-with-mcp
- 安装依赖
pnpm install
- 启动开发环境
pnpm start
构建应用
# Windows
pnpm build:win
# macOS
pnpm build:mac
# Linux
pnpm build:linux
FunASR 配置
启动 Docker 容器
sudo docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
mkdir -p ./funasr-runtime-resources/models
sudo docker run -p 10096:10095 -it --privileged=true \
-v $PWD/funasr-runtime-resources/models:/workspace/models \
registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
启动 FunASR 服务
cd FunASR/runtime
nohup bash run_server_2pass.sh \
--model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx \
--online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx \
--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
--punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx \
--lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \
--itn-dir thuduj12/fst_itn_zh \
--certfile 0 \
--hotword ../../hotwords.txt > log.txt 2>&1 &
贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进项目。在提交之前,请确保:
- 代码符合项目的编码规范
- 提交信息清晰明确
- 测试覆盖新增功能
在线演示
项目截图
<img src="./resources/demo1.jpg" width="400" height="400"> <img src="./resources/mcpsetting.jpg" width="400" height="400">联系与支持
联系方式
- 邮箱:[email protected]
- QQ群:994129509
交流群
<div align="center"> <img src="./resources/wechat.jpg" width="400" height="400"> </div>支持项目
<div align="center"> <p>感谢您的支持!</p> <div align="center"> <img src="./resources/dashang.jpg" width="400" height="400"> </div> </div>特别感谢
感谢以下赞助者的支持:
- 红薯队长 ¥5
- 陆涛 ¥10
- 大喵哥 ¥50
- 蔡从洋Tom ¥1
- 简文斌 ¥5
- 加油,支持 ¥5
- Tanix ¥5
- 朱松岭 ¥5
- Victor ¥5
- kelly ¥1