机器人编程伴侣服务

Reachy Claude MCP是一款将Reachy Mini机器人转变为互动编程伴侣的服务,通过情感反应、语音反馈和庆祝动画增强编程体验。

  • by mchardysam
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 mchardysam/reachy-claude-mcp

使用说明

雷奇·克劳德MCP

MCP服务器带来 Reachy Mini 成为你的编程伙伴 克劳德代码.

Reachy用情感、演讲和庆祝舞蹈来回应你的编码会议,让编码更具互动性和乐趣!

特性

功能 基本 +LLM +内存
机器人情感和动画 ✅ ✅ ✅
文本转语音(Piper TTS) ✅ ✅ ✅
会话跟踪(SQLite) ✅ ✅ ✅
智能情绪分析 ❌ ✅ ✅
人工智能生成的响应 ❌ ✅ ✅
语义问题搜索 ❌ ❌ ✅
跨项目内存 ❌ ❌ ✅

需求

  • Python 3.10+
  • Reachy Mini 机器人 或 模拟(见下文)
  • 音频输出(扬声器/耳机)

平台支持

平台 基础 LLM(MLX) LLM(Ollama) 内存
macOS苹果硅✅ ✅ ✅ ✅
macOS英特尔 ✅ ❌ ✅ ✅
Linux ✅ ❌ ✅ ✅
Windows ⚠️ 实验 ❌ ✅ ✅

快速开始

  1. 安装软件包:

    pip install reachy-claude-mcp
    
  2. 启动Reachy Mini模拟 (如果你没有实体机器人):

    # On macOS with Apple Silicon
    mjpython -m reachy_mini.daemon.app.main --sim --scene minimal
    
    # On other platforms
    python -m reachy_mini.daemon.app.main --sim --scene minimal
    
  3. 添加到克劳德代码 (~/.mcp.json):

    {
      "mcpServers": {
        "reachy-claude": {
          "command": "reachy-claude"
        }
      }
    }
    
  4. 启动克劳德代码 Reachy会对你的编码做出反应!

  5. (可选)为Claude添加说明 -复制 examples/CLAUDE.md 到您的项目根目录或 ~/projects/CLAUDE.md这教会了克劳德何时以及如何有效地使用Reachy的工具。

安装选项

基础(仅限机器人+TTS)

pip install reachy-claude-mcp

没有LLM功能,Reachy使用关键字匹配来表达情感——仍然效果很好!

LLM(智能响应)

选项A:MLX(仅限苹果硅-最快)

pip install "reachy-claude-mcp[llm]"

选项B:Ollama(跨平台)

# Install Ollama from https://ollama.ai
ollama pull qwen2.5:1.5b

# Then just use the basic install - Ollama is auto-detected
pip install reachy-claude-mcp

系统会自动选择最佳可用后端:MLX→ 奥拉玛→ 关键字回退。

全功能(需要Qdrant)

pip install "reachy-claude-mcp[all]"

# Start Qdrant vector database
docker compose up -d

开发安装

git clone https://github.com/mchardysam/reachy-claude-mcp.git
cd reachy-claude-mcp

# Install with all features
pip install -e ".[all]"

# Or specific features
pip install -e ".[llm]"     # MLX sentiment analysis (Apple Silicon)
pip install -e ".[memory]"  # Qdrant vector store

运行Reachy Mini

没有机器人?使用模拟!

你不需要实体Reachy Mini来使用它。模拟效果很好:

# On macOS with Apple Silicon, use mjpython for the MuJoCo GUI
mjpython -m reachy_mini.daemon.app.main --sim --scene minimal

# On Linux/Windows/Intel Mac
python -m reachy_mini.daemon.app.main --sim --scene minimal

模拟仪表板将在 http://localhost:8000.

物理机器人

跟随 Reachy Mini设置指南 连接到您的物理机器人。

配置

环境变量

变量 默认值 描述
REACHY_CLAUDE_HOME ~/.reachy-claude 数据库、内存、语音模型的数据目录
LLM设置
REACHY_LLM_MODEL mlx-community/Qwen2.5-1.5B-Instruct-4bit MLX型号(苹果硅)
REACHY_OLLAMA_HOST http://localhost:11434 Ollama服务器URL
REACHY_OLLAMA_MODEL qwen2.5:1.5b Olama型号名称
内存设置
REACHY_QDRANT_HOST localhost Qdrant服务器主机
REACHY_QDRANT_PORT 6333 Qdrant服务器端口
语音设置
REACHY_VOICE_MODEL (自动下载) 自定义Piper语音模型的路径

MCP工具

基本互动

工具 说明
robot_respond 说出总结(1-2句话)+发挥情感
robot_emotion 仅播放情感动画
robot_celebrate 成功动画+精彩演讲
robot_thinking 思考/处理动画
robot_wake_up 会议开始问候
robot_sleep 会话结束再见
robot_oops 错误确认
robot_acknowledge 快速点头,不说话

舞蹈动作

工具 说明
robot_dance 表演舞蹈动作
robot_dance_respond 边跳舞边说话
robot_big_celebration 重大里程碑庆典
robot_recovered 在修复了一个棘手的bug之后

智能功能

工具 说明
process_response 自动分析输出并做出适当反应
get_project_greeting 基于历史的上下文感知问候
find_similar_problem 跨项目搜索过去的解决方案
store_solution 保存问题解决方案对以备将来使用
link_projects 标记项目之间的关系

公用事业

工具 说明
list_robot_emotions 列出可用的情绪
list_robot_dances 列出可用的舞蹈动作
get_robot_stats 跨会话的内存统计信息
list_projects Reachy记得的所有项目

可用情绪

amazed, angry, anxious, attentive, bored, calm, celebrate, come, confused,
curious, default, disgusted, done, excited, exhausted, frustrated, go_away,
grateful, happy, helpful, inquiring, irritated, laugh, lonely, lost, loving,
neutral, no, oops, proud, relieved, sad, scared, serene, shy, sleep, success,
surprised, thinking, tired, uncertain, understanding, wake_up, welcoming, yes

可用舞蹈

庆祝活动: 庆祝、胜利、嬉戏、聚会 致谢: 点头、同意、倾听、承认 反应: 情绪低落、恢复、修复,哇 微妙: 空闲、处理、等待、思考 有表现力的: 窥视、一瞥、锐利、时髦、光滑、螺旋

使用示例

Claude可以在编码会话期间调用这些工具:

# After completing a task
robot_respond(summary="Done! Fixed the type error.", emotion="happy")

# When celebrating a win
robot_celebrate(message="Tests are passing!")

# Big milestone
robot_big_celebration(message="All tests passing! Ship it!")

# When starting to think
robot_thinking()

# Session start
robot_wake_up(greeting="Good morning! Let's write some code!")

# Session end
robot_sleep(message="Great session! See you tomorrow.")

建筑

src/reachy_claude_mcp/
├── server.py           # MCP server with tools
├── config.py           # Centralized configuration
├── robot_controller.py # Reachy Mini control
├── tts.py              # Piper TTS (cross-platform)
├── memory.py           # Session memory manager
├── database.py         # SQLite project tracking
├── vector_store.py     # Qdrant semantic search
├── llm_backends.py     # LLM backend abstraction (MLX, Ollama)
└── llm_analyzer.py     # Sentiment analysis and summarization

故障排除

找不到语音模型

语音模型在首次使用时自动下载。如果您有问题:

# Manual download
mkdir -p ~/.reachy-claude/voices
curl -L -o ~/.reachy-claude/voices/en_US-lessac-medium.onnx \
  https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx
curl -L -o ~/.reachy-claude/voices/en_US-lessac-medium.onnx.json \
  https://huggingface.co/rhasspy/piper-voices/resolve/main/en/en_US/lessac/medium/en_US-lessac-medium.onnx.json

Linux上没有音频

安装PulseAudio或ALSA实用程序:

# Ubuntu/Debian
sudo apt install pulseaudio-utils

# Fedora
sudo dnf install pulseaudio-utils

LLM不工作

检查哪个后端可用:

  • MLX:仅适用于苹果Silicon Mac。安装时使用 pip install "reachy-claude-mcp[llm]"
  • 奥拉玛确保Ollama正在奔跑(ollama serve)你画了一个模型(ollama pull qwen2.5:1.5b)

如果两者都不可用,系统将退回到基于关键字的情感检测(仍然有效,只是不够智能)。

Qdrant连接失败

确保Qdrant正在运行:

docker compose up -d

或者指向远程Qdrant实例:

export REACHY_QDRANT_HOST=your-qdrant-server.com

模拟无法启动

如果 mjpython 如果未找到,您可能需要单独安装MuJoCo或使用常规Python:

# Try without mjpython
python -m reachy_mini.daemon.app.main --sim --scene minimal

在Linux上,您可能需要设置 MUJOCO_GL=egl 或 MUJOCO_GL=osmesa 用于无头渲染。

许可证

麻省理工学院