为Embodied Claude-AI提供身体的项目
廉价的硬件(约4000日元~),给予Claude「眼」「头」「耳朵」「声音」「脑(长期记忆)」的MCP服务器群。也可以带你出去散步。
原作: 克米祖/化身克劳德
独立开発方针(2026-02-12决定):本项目是独立于kmizu/embodied-claude的项目。虽然不进行代码同步,但请根据需要参考设置步骤等参考信息。功能追加·设计判断全部由本项目独自进行。
概念
以前的LLM是“让我看”的存在,但是拥有身体就会变成“自己看”的存在。 用3980日元的Wi-Fi相机可以充分实现眼睛和脖子。只提取了本质(看·动)的简单的构成。
目录结构
embodied-claude/
├── usb-webcam-mcp/ # USB ウェブカメラ制御(Python)
│ └── src/usb_webcam_mcp/
│ └── server.py
│
├── wifi-cam-mcp/ # Wi-Fi PTZ カメラ制御(Python)
│ └── src/wifi_cam_mcp/
│ ├── server.py # MCP サーバー実装
│ ├── camera.py # Tapo カメラ制御
│ └── config.py # 設定管理
│
├── elevenlabs-t2s-mcp/ # ElevenLabs TTS(Python)
│ └── src/elevenlabs_t2s_mcp/
│ ├── server.py # MCP サーバー実装
│ └── config.py # 設定管理
│
├── memory-mcp/ # 長期記憶システム(Python)
│ └── src/memory_mcp/
│ ├── server.py # MCP サーバー実装
│ ├── memory.py # ChromaDB 操作
│ ├── types.py # 型定義(Emotion, Category)
│ ├── config.py # 設定管理
│ ├── episode.py # エピソード管理
│ ├── sensory.py # 感覚記憶
│ └── working_memory.py # 作業記憶
│
├── system-temperature-mcp/ # 体温感覚(Python)
│ └── src/system_temperature_mcp/
│ └── server.py
│
├── installer/ # PyInstaller ベース GUI インストーラー
│ └── src/installer/
│ ├── main.py
│ └── pages/ # ウィザード形式の各ページ
│
├── docs/
│ ├── team_ops/ # 三者協働運用ドキュメント
│ └── requirements/ # 要件定義ドキュメント
│
├── LOG/ # 作業ログ
├── autonomous-action.sh # 自律行動スクリプト(cron用)
├── autonomous-mcp.json.example
├── CLAUDE.md # Claude Code プロジェクト指示
├── AGENTS.md # リポジトリガイドライン
├── DECISIONS.md # 重要な確定事項一覧
└── .claude/ # Claude Code ローカル設定身体ー
|MCP服务器|身体部位|功能|支持硬件| | --- | --- | --- | --- | | usb网络摄像头mcp 第|从USB相机获取图像|nuroum V11等| | 无线摄像头mcp 眼睛、脖子、耳朵|PTZ相机控制+声音识别|TP-Link Tapo C210/C220等| | elevenlabs-t2s-mcp | 声 | ElevenLabs で音声合成 | ElevenLabs API | | 存储器mcp 脑|长期记忆(语义检索)|ChromaDB| | 系统温度mcp 体温感觉系统温度监视
体系结构
┌─────────────────────────────────────────────────────────────────┐
│ Claude Code │
│ (MCP Client / AI Brain) │
└─────────────────────────┬───────────────────────────────────────┘
│ MCP Protocol (stdio)
┌───────────────┼───────────────┬───────────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ usb-webcam │ │ wifi-cam │ │ memory │ │ system │
│ -mcp │ │ -mcp │ │ -mcp │ │ temperature │
│ (目) │ │ (目/首/耳) │ │ (脳) │ │ -mcp │
│ │ │ │ │ │ │ (体温感覚) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ USB Webcam │ │ Tapo Camera │ │ ChromaDB │ │Linux Sensors│
│ (nuroum V11)│ │ (C210等) │ │ (Vector) │ │(/sys/class) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘需要的东西
硬件
- USB网络摄像头(任意): nuroum V11 等
- Wi-Fi PTZ摄像头(推荐):TP-Link Tapo C210或C220(约3980日元)
- 图形处理器(语音识别用):NVIDIA GPU(Whisper用、GeForce系列的VRAM8GB以上推荐)
软件
- Python3.10+(基本要求。不过
system-temperature-mcp是Python3.12+必需的) - uv(Python包管理器)
- ffmpeg(图像·声音捕捉用)
- OpenCV(USB相机用)
- ElevenLabs API键(语音合成用)
开发指南
通用规则
- 包管理器:紫外线
- 测试框架:pytest+pytest异步
- 林特:ruff(行长100)
- 非同期:基于asyncio
- 命名规则:
snake_case、测试文件为test_*.py - 缩进:4个空格
基本命令
# 依存関係インストール(各サブプロジェクトディレクトリで実行)
uv sync
# テスト実行(現在 memory-mcp のみ)
cd memory-mcp && uv run pytest
# リント
uv run ruff check .
# サーバー起動
uv run 刀具列表
详细的参数是各服务器的自述文件吗 list_tools 来修改标记元素的显示属性。
usb-webcam-mcp(目)
工具|说明| | --- | --- | | list_cameras 连接的相机列表 | see |捕捉图像|
wifi-cam-mcp(目・首・耳)
工具|说明| | --- | --- | | see |捕捉图像| | look_left / look_right 左右面包 | look_up / look_down 上下倾斜 | look_around 环视4个方向 | listen 声音录音+Whisper文字叫醒 | camera_info / camera_presets / camera_go_to_preset 设备信息预设操作
右眼/立体视觉等其他工具 wifi摄像头mcp/README.md 来修改标记元素的显示属性。
elevenlabs-t2s-mcp(声)
工具|说明| | --- | --- | | say 将文本进行语音合成并发言
存储器mcp
工具|说明| | --- | --- | | remember 保存记忆 | search_memories 语义搜索 | recall 基于上下文的回忆 | recall_with_associations 回想起来,包括相关记忆 | list_recent_memories 最近的记忆一览 | get_memory_stats 存储统计信息
行动记忆、连锁、趣事、感觉记忆、作业记忆等详细情况 内存mcp/README.md 来修改标记元素的显示属性。
行动记忆
工具|说明| | --- | --- | | remember_action |结构化并记录工具执行结果|
実装予定(Planned)
工具|说明| | --- | --- | | recall_divergent 让联想发散的回忆 | consolidate_memories 手动播放和集成处理 | get_association_diagnostics |联想搜索的诊断信息|
情感:快乐、悲伤、惊讶、感动、兴奋、怀旧、好奇、中立 类别:日常、哲学、技术、记忆、观察、感觉、对话、行动
system-temperature-mcp(体温感觉·概日节奏)
工具|说明| | --- | --- | | get_system_temperature 获取系统温度 | get_current_time 获取当前时间 | get_circadian_state 获取昼夜节律状态(daypart/问候语/观察间隔/记忆重要度偏差)
安装,安装
GUI安装程序(推荐)
installer/ 目录中提供了GUI安装程序。
cd installer
uv sync
uv run embodied-claude-installer可以通过向导的形式进行依存关系检查、相机设置、MCP设置的自动生成。 详情 安装程序/README.md 来修改标记元素的显示属性。
手动设置
1.各MCP服务器的依赖性安装
# 使用するサーバーのディレクトリで実行
cd wifi-cam-mcp && uv sync
cd memory-mcp && uv sync
cd elevenlabs-t2s-mcp && uv sync
# 必要に応じて他も2.设置环境变量
# Wi-Fi カメラ
cd wifi-cam-mcp
cp .env.example .env
# .env を編集してカメラの IP、ユーザー名、パスワードを設定
# ElevenLabs
cd elevenlabs-t2s-mcp
cp .env.example .env
# .env に ELEVENLABS_API_KEY を設定
# WSLで音が出ない場合:
# ELEVENLABS_PLAYBACK=paplay
# ELEVENLABS_PULSE_SINK=1
# ELEVENLABS_PULSE_SERVER=unix:/mnt/wslg/PulseServer3.Claude code rden bureauuthorized,Hongkuan,said Xiaohuang,said。。。
{
"mcpServers": {
"usb-webcam": {
"command": "uv",
"args": ["run", "--directory", "/path/to/embodied-claude/usb-webcam-mcp", "usb-webcam-mcp"]
},
"wifi-cam": {
"command": "uv",
"args": ["run", "--directory", "/path/to/embodied-claude/wifi-cam-mcp", "wifi-cam-mcp"],
"env": {
"TAPO_CAMERA_HOST": "192.168.1.xxx",
"TAPO_USERNAME": "your-username",
"TAPO_PASSWORD": "your-password"
}
},
"memory": {
"command": "uv",
"args": ["run", "--directory", "/path/to/embodied-claude/memory-mcp", "memory-mcp"]
},
"elevenlabs-t2s": {
"command": "uv",
"args": ["run", "--directory", "/path/to/embodied-claude/elevenlabs-t2s-mcp", "elevenlabs-t2s"],
"env": {
"ELEVENLABS_API_KEY": "your-api-key"
}
}
}
}Tapo相机的设置(注意事项)
- 用Tapo应用程序设置相机
- 创建相机的本地帐户,而不是TP-Link云帐户
- 应用程序→相机选择→齿轮→高级设置→相机帐户
- 确认照相机的IP地址(可从终端信息确认,推荐固定IP)
- 打开第三方协作(“我”标签→语音助手→第三方协作)
详细的设置步骤(带屏幕快照) 原作资源库的自述文件 来修改标记元素的显示属性。
用法
启动Claude Code后,可以使用自然语言操作相机:
> 今何が見える?
(カメラでキャプチャして画像を分析)
> 左を見て
(カメラを左にパン)
> 上を向いて空を見せて
(カメラを上にチルト)
> 周りを見回して
(4方向をスキャンして画像を返す)
> 何か聞こえる?
(音声を録音してWhisperで文字起こし)
> これ覚えておいて:コウタは眼鏡をかけてる
(長期記憶に保存)
> コウタについて何か覚えてる?
(記憶をセマンティック検索)
> 声で「おはよう」って言って
(音声合成で発話)外带(可选)
如果有移动电池和智能手机的抖动,可以把相机放在肩上在外面散步。
外出所需的东西
- 大容量移动电池(40,000mAh 推奨)
- USB-C PD→DC9V转换电缆(Tapo相机供电用)
- 智能手机(联机+VPN+操作UI)
- 尾标(VPN。相机→智能手机→用于连接自家电脑)
- 克劳德代码webui(从智能手机浏览器中操作Claude Code)
构成
[Tapoカメラ(肩)] ──WiFi──> [スマホ(テザリング)]
|
Tailscale VPN
|
[自宅PC(Claude Code)]
|
[claude-code-webui]
|
[スマホのブラウザ] <-- 操作RTSP的影像流也通过VPN到达自家机器,所以从Claude Code可以以与照相机在室内相同的感觉进行操作。
自主行动脚本(可选)
注意:此功能完全是可选的。因为需要cron设定,定期用相机进行拍摄,所以请考虑隐私使用。
概要
autonomous-action.sh 是为Claude提供定期自律行为的脚本。每10分钟用相机观察一次房间,如果有变化就保存在记忆中。
设置自律行动
# MCP サーバー設定ファイルの作成
cp autonomous-mcp.json.example autonomous-mcp.json
# autonomous-mcp.json を編集してカメラの認証情報を設定
# 実行権限を付与
chmod +x autonomous-action.sh
# crontab に登録(10分ごと、オプション)
crontab -e
# */10 * * * * /path/to/embodied-claude/autonomous-action.sh动作
- 用照相机环视房间
- 与上次相比检测出变化(有无人、亮度等)
- 将发现保存到记忆中(category:observation)
- 记录
~/.claude/autonomous-logs/保存到
支持昼夜节律(Phase1)
可以根据时间段调整自律行动的举止。在环境变量中启用。
|环境变量|默认|说明| | --- | --- | --- | | CIRCADIAN_ENABLED |MCP: true /外壳: false |启用概日节奏功能| | CIRCADIAN_TIMEZONE | Asia/Tokyo |时区(MCP服务器端)| | CIRCADIAN_MORNING_START | 05:00 早上的开始时间 | CIRCADIAN_DAY_START | 10:00 白天的开始时间 | CIRCADIAN_EVENING_START | 18:00 傍晚的开始时间 | CIRCADIAN_NIGHT_START | 22:00 晚上的开始时间
每天打招呼,打招呼,打招呼,打招呼,打招呼,打招呼 | --- | --- | --- | --- | | morning | bright | 10分 | +0 | | day | normal | 10分 | +0 | |傍晚|平静|15分 | +1 | | night | quiet | 30分 | +1 |
get_circadian_state 使用工具(system-temperature-mcp)可以获取当前状态。
今后的展望
- 腕:伺服马达或激光指示器的“指向”动作
- 移动:使用机器人车轮移动房间
- 长距离散歩在温暖的季节去更远的地方
注意事项
WSL2环境
- USB摄像头:
usbipd将相机传送到WSL - 温度传感器:在WSL2中
/sys/class/thermal/无法访问 - 图形处理器:CUDA可在WSL2上使用(Whisper用)
安全性
.env不提交文件(已添加到.gitignore)- 相机密码由环境变量管理
- 使用环境变量管理ElevenLabs API密钥
- 长期记忆
~/.claude/memories/保存到
三方协同开发模式
项目名称 Yoshihito先生(项目所有者)、体系结构、实施工程师 的三方协作体制开发。
役割分担
| 役割 | 担当 | 責務 |
|---|
项目所有者/最终决策、要求定义和发布判断 架构|上游设计、要求整理、架构制定| 实施工程师实施、测试、代码审核、LOG记录
决策流程
課題/要望の明確化(Yoshihitoさん)
↓
設計提案と影響整理(Codex)
↓
実装方針・見積もり共有(Claude Code)
↓
最終判断(Yoshihitoさん)
↓
記録(LOG / DECISIONS.md)通信规则
- 全部用日语记述
- AI发信信息
From: / To:使用格式 - 口调以前熟悉的休闲标准语(〜だよ/〜だね/〜かな/〜じゃない?)
- 不使用礼貌语、敬语 - 不使用方言 - 此存储库有限规则
- 作业记录
LOG/YYYY-MM-DD.md追记 - 重要的决定事项是
DECISIONS.md过账
开发过程文档
|文档|说明| | --- | --- | | 三方协作指南 会话开始步骤、语言规则、审核操作 | Claude Code役割定义 | Claude Codeの责务、Startup Procedure、质量基准| | Codex役割定义 | Codexの责务、设计方针、Startup Procedure | | 团队体系结构 |角色分担、决策流程、升级标准| | 日志模板 |每日记录的填写形式(5节)| | DECISIONS.md |重要的确定事项一览|
开発方法论
- 开发规则:
AI起动时(MUST):会话开始时的必要参照步骤(角色定义→Dev-Rules→Best Practice→UI/UX心理学)是 CLAUDE.md的“会话开始时的必需参照” 来修改标记元素的显示属性。
提交消息规则
- 常规承诺形式(
feat:,fix:,feat!:),模板名称将采用不同的格式 - 用日语记述,明确变更的意图(why)
许可证
MIT许可证
谢辞
这个项目 kmizu 他说,这是给AI赋予身体性的实验性尝试。 以3980日元的照相机开始的一小步,成为了探索AI和人类新的关系性的旅行。
