スタックチャン(M5Stack K151)を、自分の頭脳で動かすための置き場所。 手のひらサイズのロボットから、クラウドへの接続を外して、自分のMacに繋ぎ替えた記録です。
このリポジトリは、人間が読むために作っていません。 あなたのエージェント(Claude Code など)に読ませてください。 踏んだ穴は、もう中に入っています。
このリポジトリを読んで、僕の状況に合わせて手順を出して。
持っているもの: M5Stack K151 / Mac
いまの状態: 箱を開けたところ
今日やりたいこと: 出荷時のまま喋らせるところまで
詰まったところは docs/learnings.md に全部書いてあるので、先に読んでから答えて。
先に地図だけ見たい人へ。 どこで止まるかが書いてあります。
| 中身 | |
|---|---|
| 📄 始め方の地図 | 6つの手順と、一度喋らなくなる区間 |
| 📄 失敗カタログ | 踏んだ穴 35件を 6つの型に。なぜそうしたくなるかとセット |
| 📄 原価と日数 | ¥19,494。買ったのは2つだけ。2時間20分で頭脳が自分のものになる |
| 📄 ファーム選び | 5つの比較と、選んだ理由 |
| 📄 作ったもの、全部 | 6系統+土台。何を、どの順で、なぜ作ったか |
| 📖 NFC 受付 | かざすと名前を呼ぶ。ファームを触らずに Mac から RFID Unit を読む。実測と罠 |
| 📖 教科書 | 9章。手順と、実際に詰まった場所 |
| 📖 学びログ | 1,878行。エージェントに読ませる本体 |
手順は人間に渡していません。エージェントに渡してあります。 人間が覚えるのは「渡し方」のほうです。
自宅の Mac を頭脳にして、外に持ち出したスタックチャンをネット越しに動かす。 その状態で Crypto Cafe and Bar のハンズオンイベント(2026-09-29)をやる。
構想の元ネタは docs/00-concept.md(2026-09-02 版、これが一次資料)。
会場:スタックチャン(K151) + iPhoneテザリング(2.4GHz)
│ WebSocket
▼
Tailscale Funnel (HTTPS/WSS 公開)
│
▼
自宅 Mac Studio
├─ xiaozhi-esp32-server (Docker) ← STT / ルーティング / TTS
├─ Ollama (qwen2.5:14b / llama3.2:3b) ← LLM
└─ app/ 記憶・人格・決定論ルーティング ← ここが「作るアプリ」
原則:スタックチャンは頭脳ではなく I/O ゲートウェイ。実機は薄く保つ。 確実性が要るもの(定時通知・センサー反応)は自分のコードで、曖昧な自然文だけ LLM に投げる。
| 場所 | 中身 |
|---|---|
docs/ |
構想メモ(一次資料)、確認済みの差分、遠隔ワークベンチ、DJ連携 |
server/ |
Mac Studio 側の docker-compose と設定 |
app/ |
頭脳層。人格プロンプト、ルーティング、記憶、app/dj/ |
scripts/ |
疎通チェック、スリープ抑止、接続先URL切替メモ |
event/ |
Crypto Cafe and Bar 用の台本・参加者手順・チェックリスト |
ROADMAP.md を見る。関門は2つ。
- 第一関門 宅内で完結動作(テザリングなし、Funnelなし)
- 第二関門 テザリング経由で家の外から動作
ここを越えるまで、SwitchBot もカレンダーも触らない。
並走できるもの(実機や関門を待たなくていい)
- docs/remote-workbench.md — 家に置いたまま外から焼く常設環境
- docs/dj-sync.md — DDJ-FLX2 に合わせて踊らせる。MIDI を読むところはMacだけで書ける
| 状態 | |
|---|---|
| Docker | 29.7.2 あり |
| Ollama | qwen2.5:14b / llama3.2:3b あり |
| Tailscale | 未インストール ← 最初に入れる |
| xiaozhi-esp32-server | 公式Dockerイメージは x86のみ。ARM64は手動ビルドかローカル実行 |
| DDJ-FLX2 | あり。クラスコンプライアントなので macOS に USB MIDI として出る |
| 回線 | v6プラス(MAP-E)。ポート開放は使えない。トンネル前提 |