Tentacle Monster Roleplay ESP32:相機、LLM 與實體回饋的具身 AI 閉環查核 | Allen 知識庫 | Allen 知識庫Security / DevTools / Open Source
Tentacle Monster Roleplay ESP32:相機、LLM 與實體回饋的具身 AI 閉環查核
查核成人向 ESP32 角色扮演專案的真實架構、安全邊界與非商用授權;重點是 iPhone 相機、LLM 即時判斷、TCP/Serial、ESP32-S3 與 BLE 裝置形成的 observe-act-observe 閉環。
2026年8月30日5 分鐘閱讀👁 6
ra1nyxin/tentacle-monster-roleplay-esp32 是一個成人向角色扮演情境的 hobby project,但真正值得研究的不是題材,而是它把「視覺觀察、LLM 主持與實體裝置回饋」串成可運作的本地閉環。本文只整理工程架構、查核結果與安全邊界,不重製露骨劇本內容。
查核時間:2026-08-30;基準 commit:357699b4。GitHub 數字與程式碼會持續變動。
一句話結論
這是具體可讀、可編譯的「iPhone 相機 → 本機最新畫面 → AI 判斷 → TCP/Serial → ESP32-S3 → BLE 裝置」原型,不是只有 README 的概念案;但相機橋缺乏認證、沒有測試/CI,授權又禁止商用,因此適合研究互動閉環,不適合直接納入 BigIntTech 商業產品。
實際架構
官方 README 與程式碼呈現的資料流如下:
iPhone Safari camera
→ HTTPS POST /frame
→ Windows Node.js bridge (0.0.0.0:7777)
→ latest.jpg + latest.json
→ Codex / vision-capable LLM reads latest.jpg
→ vibration-control.py
→ TCP 127.0.0.1:25363
→ esp32-bridge.ps1
→ USB Serial/JTAG
→ ESP32-S3 firmware
→ BLE service 0x1000 / write characteristic 0x1001
→ device named GK36
這個 loop 的產品意義是:LLM 不只是回覆文字,而是持續讀取最新畫面、更新場景狀態,並把有限時長的設備回饋當成環境/NPC 行動的一部分。
Repo 真實度查核
截至查核時,GitHub API 顯示:
- 約 740 stars、81 forks、31 open issues。
- 建立於 2026-06-19;最近 push 為 2026-08-15。
- 只有一位主要 contributor,13 次貢獻。
- 沒有 GitHub Releases。
- Repo 內沒有測試檔或 CI workflow。
- GitHub API 的 license 欄位是
NOASSERTION,因為它使用自訂非商用授權,而非標準 SPDX/OSI license。
這些數字證明它受到社群注意,但不能當成成熟度或安全性的證明;不少 open issues 只是打卡與討論,並非系統化 bug report。
我實際檢查與跑過什麼
node --check server.js:通過。
python3 -m py_compile vibration-control.py random-wave.py:通過。
vibration-control.py --set 101:exit 2,正確拒絕超過 0–100 的強度。
--advanced --randomset 80-20:exit 2,正確拒絕反向範圍。
- 全 repo credential pattern scan:未找到硬編碼 API key、password、Bearer token 或私鑰。
- 未做硬體端實測:本次沒有 ESP32-S3、GK36/GALAKU 實機,也沒有重跑 ESP-IDF build,因此不能宣稱 BLE packet 與裝置效果已獨立驗證。
做得好的工程邊界
1. 裝置控制預設綁 loopback
2. 強度在兩層 clamp
Python CLI 對 SET、randomset 與 randomhit 做 0–100 邊界檢查;main.c 的 clamp_level() 再做一次韌體端 clamp。這是正確的 defense in depth。
3. 有 STOP 與有限時長
控制腳本具 STOP、背景任務 stop file、正數 duration/interval 檢查;PowerShell bridge 結束時也會嘗試送 STOP。韌體的 HIT 預設維持約 7 秒後逐步衰減,而不是永久保持。
4. 非阻塞 feedback loop
持續回饋可用 detached background process 啟動,LLM 隨即再讀 latest.jpg,不必等待效果結束。這個 pattern 可泛化到燈光、震動、風扇、音效、機器人或 smart-home RPG。
主要風險
1. 最新攝影機畫面可被同網段讀取
server.js 綁定 0.0.0.0:7777,但 /frame、/status 與 /latest.jpg 沒有 token、session、client certificate 或來源限制。自簽 HTTPS 只加密傳輸,不等於完成身份驗證。
因此同網段能連到該 Windows 主機的裝置,理論上可能:
- 讀取最新私人畫面;
- 上傳偽造影像覆蓋
latest.jpg;
- 查詢拍攝狀態與 metadata。
最低修正應包含一次性 session token、讀寫分離權限、只允許已配對手機、Windows Firewall allowlist,以及最新畫面的短 TTL/記憶體保存選項。
2. BLE 只按廣播名稱找裝置
韌體以 TARGET_NAME = "GK36" 匹配 BLE 廣播名稱,再尋找固定 service/characteristic。廣播名稱不是強身份;至少應綁定已配對裝置地址、驗證 service/characteristic 組合,並設人工 arm/disarm gate。
3. LLM 有直接實體輸出的安全風險
雖然腳本有 0–100 clamp 與時間上限,但「允許 AI 自主連續觀察並調整強度」仍需要更高層的硬限制:
- 人類可隨時觸及的實體 kill switch;
- 啟動前明確 consent 與可撤回狀態;
- 每次 session 的最大強度、最大 duty cycle、cooldown 與總時長;
- 失去相機、LLM、TCP、Serial 或 BLE 連線時 fail-closed 歸零;
- 不讓 prompt injection 或畫面文字直接形成控制指令。
目前 repo 的 AGENTS.md 已把「玩家要求停止」列為最高規則,但 prompt 規則不能取代硬體 safety interlock。
4. 沒有 automated tests、CI 與 release artifact
目前只有語法可讀與 repo 內部設計,沒有 protocol tests、hardware-in-loop tests、fuzzing、threat model、release binary 或 reproducible build evidence。任何使用都應先在假裝置/低風險 actuator 上驗證。
授權:不是可商用的 open source
LICENSE 明確限定 non-commercial use,禁止付費服務、營利產品、廣告支援產品、專有整合、轉售與收費再授權。
- 可閱讀原始碼;
- 可個人、教育、研究與非商用修改/分發;
- 不是 OSI 定義的 open-source license;
- BigIntTech 不可直接複製進商業產品,除非取得作者書面商業授權。
對 BigIntTech 的價值
最值得吸收的不是專案題材,而是四個 workflow pattern:
- Latest-state visual loop:以最新影像檔作為 agent 可重複讀取的世界狀態。
- Bounded background actuation:設備效果在背景執行,但必須具 duration、upper bound 與 stop channel。
- Narrative abstraction layer:LLM 看到的是 scene state 與 action primitives,不必暴露底層 BLE packet。
- Observe → Act → Observe:每次 actuation 後立即重看環境,而非一次規劃到底。
如果要產品化,建議 clean-room 重做:保留抽象架構,不抄程式碼與劇本;先建 safety policy engine、device registry、session consent、audit log 與 hardware kill switch,再接任何具身回饋設備。
採用判斷
| 面向 | 判斷 |
|---|
| 概念完整度 | 高:相機、AI、橋接與 ESP32 韌體均存在 |
| 可重現性 | 中低:Windows + iPhone + ESP-IDF + 特定 GK36 硬體 |
| 程式成熟度 | 低:單人、無測試、無 CI、無 release |
| 安全性 | 需補強:相機 LAN 無認證,缺 hardware interlock |
| 商用性 | 不可直接商用;需商業授權或 clean-room 重寫 |
| 研究價值 | 高:具身 Agent 的即時觀察—控制閉環範例 |
來源