Windows Host OpenClaw Voice Bridge and Home Assistant
This document describes the actual architecture, startup method, data files, and Feishu links of this desk pet system, as well as how to present this solution in future reports.
1. Project Objectives
The goal of this system is not to cram all capabilities into the development board, but to implement a clear layering structure:
- The development board is only responsible for voice input and voice announcements.
- The Windows host is responsible for OpenClaw inference, home supplies Q&A, and Feishu order notifications.
- Feishu is responsible for remote notifications, restock reminders, and order viewing.
The reason for doing this is straightforward:
- The development board already has built-in ASR/TTS capabilities, making it suitable for “listening” and “speaking”.
- OpenClaw has been deployed on a Windows host, making it suitable for “understanding” and “decision-making”.
- Home supplies lists, replenishment orders, and Xiaoshu messages are naturally better managed on the host side.
II. Current Architecture
The current system uses a bridging structure of “board-side voice front-end + host OpenClaw center”.
mermaidflowchart LR
A["MagicBox 麦克风"] --> B["板端 audio_io<br/>ASR / KWS"]
B --> C["/prompt_text"]
C --> D["Windows 主机桥接脚本"]
D --> E["OpenClaw(Windows 主机)"]
E --> F["家庭库存查询 / 补货逻辑 / 飞书推送"]
E --> G["回复文本"]
G --> H["板端 /tts_text"]
H --> I["板端 TTS 播报"]
E --> J["飞书消息 / 订单提醒"]
One-sentence summary:
The development board is responsible for “turning sound into text, and then turning the reply text back into sound”; The Windows host is responsible for “real thinking”.
III. Currently Implemented Features
3.1 Family Remaining Supplies List
The current inventory is stored in a local CSV file, which facilitates long-term maintenance and retrieval.
The file location is as follows:
Among them, inventory.csv stores core inventory information. The fields include:
物资名字阈值所在位置剩余个数购买链接建议补货量最近更新时间
3.2 Family Supplies Q&A
Currently, the following three types of questions and answers are supported:
- Query the materials closest to the threshold value.
- Query the location of a specific item.
- Generate a restock order for the specified material.
The local query script is as follows:
Typical commands are as follows:
bashpython C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\household_inventory_cli.py top --limit 3 --format text
python C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\household_inventory_cli.py locate --name 剪刀 --format text
python C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\household_inventory_cli.py create-order --name 苹果 --send-feishu --format text
3.3 Feishu Replenishment Reminders and Order Notifications
Now, it is possible to directly send replenishment messages to Feishu from a Windows host, and write the order details into restock_orders.csv.
This means that the system already has:
- Detect low inventory
- Generate replenishment records
- Send alerts to Lark
In the report, this section can be described as:
“Table Pet Frontend is responsible for listening to user requests, OpenClaw understands the requests and generates replenishment actions, and Feishu pushes the action results to users.”
IV. Board-side Voice Bridging Design
4.1 Only ASR/TTS is retained at the board end
This project no longer uses the on-board qwen_llm as the main thinking model.
The structures currently retained at the board end are:
audio_io- Wake word detection
- Speech to text
- Text to speech
The board end no longer handles the intermediate reasoning, and the reasoning is handed over to OpenClaw on the Windows host.
4.2 Windows host takes charge of thinking
The Windows host side is responsible for:
- Receive the text identified by the receiving board.
- Call the local OpenClaw.
- Perform inventory queries, location searches, and generate replenishment orders.
- Send the response text back to the board via TTS.
The bridging script is as follows:
4.3 Current wake-up word
The keyword file on the current board has been expanded into a version that is more suitable for the name “Tun Tun Pliers”. The core wake-up words supported include:
囤囤钳囤囤豚豚吞吞屯屯
Keep the original as is:
你好地瓜地瓜你好地瓜地瓜开始对话结束对话束对话
4.4 Exit Commands
The current host bridge layer treats the following prefixes as exit/dormant signals:
再见拜拜休眠关闭
When a voice like “Goodbye, Hunt Hunt” is detected, the host bridging layer will turn off the lights and stop the conversation.
5. Lighting Effect Design
The current light effect logic is divided into three states:
- Not awakened: Four lights off
- Listening: Breathing light
- Responding: Running horse light
The board end light effect script has been expanded:
New light effects include:
led breatheled marquee
Therefore, it can now be executed directly at the board end:
bashsudo python3 /userdata/magicclaw/runtime/bin/magicbox-hw led breathe cyan 2 0.04
sudo python3 /userdata/magicclaw/runtime/bin/magicbox-hw led marquee blue 12 0.08
VI. Current Launch Methods
6.1 Starting the OpenClaw Gateway
On a Windows host:
powershellopenclaw gateway restart
6.2 Prepare the board-side voice front end
Execute on a Windows host:
powershellpython C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\magicbox_voice_bridge.py prepare
This step will do four things:
- Synchronize wake-up word
- Turn off on-board
qwen_llm - Pull up
audio_io:ASR/TTS onlymode - Start the board-side prompt subscription auxiliary script
6.3 Starting the Host Bridging
Execute on a Windows host:
powershellpowershell -ExecutionPolicy Bypass -File "C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\start_magicbox_voice_bridge.ps1"
Or directly:
powershellpython C:\Users\kewei\Documents\2026\202603\06地瓜机器人新版教程桌宠\openclaw_magicbox\tools\magicbox_voice_bridge.py run
VII. Recommended demonstration process for current reports
The recommended demonstration order is as follows:
- First, explain the system hierarchy.
- Show the local inventory table.
- Display the Feishu message push.
- Present voice wake-up and Q&A features.
The recommended demonstration script is as follows.
Demo 1: Inventory Alert Query
User says:
text你好你好,我想知道现在剩余物资最少的 3 样是哪 3 样?
System response example:
text当前最接近阈值的 3 样物资分别是:
第一,洗衣液,当前剩余 1,阈值 1,已经贴近补货线。
第二,牙膏,当前剩余 2,阈值 3,已经低于阈值。
第三,卷纸,当前剩余 5,阈值 6,也已经接近阈值。
Demo 2: Generate Replenishment Orders
User says:
text我想把苹果补一下货,请你直接生成一下订单,推送到我的飞书上。
System response example:
text好的,已为您生成苹果的补货单,请到飞书查阅。
Then, a restock reminder is seen in the flyer.
Demo Three: Location Query
User says:
text我想问一下我的剪刀在哪?
System response example:
text剪刀在您身后的柜子上。
VIII. List of Current Key Files
8.1 Family Inventory and Orders
8.2 Host-side Logic
8.3 Board Control
9. Current Status Explanation
The core concept of this solution is now clear, and the code has been implemented:
- The board end is responsible only for ASR/TTS.
- The Windows host is responsible for OpenClaw inference.
- Home inventory is stored in local CSV format.
- Feishu is used for replenishment messages and order viewing.
- The wake-up word and light effect have been modified for the “Hunt Hunt Pliers” scenario.
If a general statement is needed in the report, you can directly use this sentence:
This table pet system has been transformed from a “board-end large model integration” model into a structure of “board-end voice front end + Windows host OpenClaw center”. It retains the natural voice input and output capabilities of the development board, while assigning real task understanding, home inventory analysis, and Feishu order notifications to a more flexible host-side AI agent.