本页目录

Chapter 4: AI Conversation

AI interaction is the standout core feature of Luwu-OS — it turns the robot dog from just a device into a smart companion that listens and talks, sees and moves, and even has a bit of personality. In this mode you can talk to the robot dog directly: it understands your questions and answers with voice, observes its surroundings through the camera and describes what it sees, performs actions on voice command (such as shaking hands or dancing), and remembers your preferences to form its own "personality".

Unlike the old version — which required you to apply for an API Key and configure everything via a local web page — the new AI Chat Pro only needs you to scan a QR code with your phone: the robot then auto-provisions, binds, and connects to the cloud AI service for you. No web configuration is required.

This chapter covers:

  • 4.1 Voice Conversation: how to enter AI mode, how to provision & bind, how to wake and talk, and what each button does
  • 4.2 Feature Overview: visual Q&A, voice-driven motion control, auto-interrupt, emotional expressions
  • 4.3 Provisioning & Binding: how to scan a QR code so the robot connects to the cloud AI service
  • 4.4 Web Console: how to control the robot from a web browser on your computer or phone

4.1 Voice Conversation

Talk to the robot directly — it understands your questions, answers with voice, and shows matching facial expressions on the screen. The AI runs as an app called AI Chat Pro, which starts on the robot's own screen.

⚠️ English (International) users must configure the AI first. The English AI Chat Pro is not ready-to-talk out of the box: you have to scan the QR code on its screen, download the agent.luwudynamics.ai App, and complete provisioning & binding before it can chat (see 4.3). After that one-time setup, you can talk to it as described below.

After you open it, the app walks through three screens in turn:

  1. Loading / Starting — a splash screen with a progress bar while the app checks the network and the cloud binding status
  2. Setup QR (only if needed) — shows a QR code to provision & bind when there's no network or the robot isn't bound yet (see 4.3)
  3. Chat standby — the main talking screen, waiting for you to say the wake word

Steps:

  1. Make sure the robot is connected to WiFi (AI features require internet access, see "Chapter 2: Network Connection"). If it isn't connected to the network or isn't bound to the cloud yet — which is the usual case the first time you use the English/International system — the screen will show a Scan to Add Device QR code first. Scan it with your phone to download the App and provision & bind (see 4.3) before you can talk.
  2. On the main menu, flip the cards to "AI Chat" and press D (the confirm/Enter button) to enter

The "AI Chat" card on the main menu

  1. The screen first shows the "AI Chat Pro / Starting..." splash; wait for the program to load

AI Chat Pro splash screen

  1. Once loaded, the chat standby page appears, showing "Say 'Hi Luka' to start" (in Chinese mode: "请说「小陆同学」唤醒")
  2. Say the wake word to the robot: - Chinese mode: "小陆同学" (Xiao Lu Tong Xue) - English mode: "Hi Luka"

AI chat standby page: say the wake word to start

  1. A "ding" tone means the robot is awake and listening
  2. Ask your question, for example: - "What's the weather like today?" (real-time web query) - "Tell me a story" - "What is 3 plus 5?" - "What do you see?" (triggers visual Q&A) - "Shake hands" / "Dance" (triggers motion control)
  3. Pause briefly after speaking — the robot detects the end of your speech automatically
  4. A short tone means it got your question and is thinking; the screen shows a matching facial expression, and the robot speaks the answer aloud

Continuous conversation — after a reply finishes, the robot stays in the listening loop, so you can just keep talking without repeating the wake word. When the session times out, it returns to the standby screen.

Button functions during a conversation (matching the corner hints on the chat page):

ButtonFunctionNotes
ASetup & BindRe-open the provisioning QR code page (see 4.3)
BInterruptStart a conversation directly from standby; interrupt while speaking and start listening; end the session and return to standby if already in a conversation
CExitReturn to the main menu

💡 Wake the robot in a quiet environment, 1–2 meters away, speaking at normal volume. Heavy background noise affects wake-up and recognition accuracy.

💡 Note: the new version no longer has the old "D to start" button — starting a conversation is now unified on the B button, or simply say the wake word while in standby.

4.2 Feature Overview

Visual Q&A

The robot doesn't just "hear" you — it can also "see": with the camera and a vision model (VLM), it understands the scene in front of it and tells you about it.

  • Say "Take a photo", "What do you see?" or any question that needs an image (e.g. "What's on the desk?") to the robot
  • The robot captures the current camera view and shows it on the screen first, so you can confirm what it sees; the preview stays up for about 2 seconds (longer during analysis)
  • It then uploads the photo to the server's vision model, which analyzes it and describes the scene aloud, e.g. "I see a person standing next to a table with a book on it"
  • You can keep asking about details of the same picture, e.g. "What color is the book?"

💡 The camera is also used by the vision features in Chapter 5. The app releases the camera after taking a photo, so it can be shared without conflict.

Voice-driven motion control

The conversation isn't limited to "talking" — it can "act" too: one sentence gets it moving. Using tool calling (MCP), the AI can control the robot's actions:

  • "Shake hands" → it reaches out a paw
  • "Lie down" / "Stand up" / "Dance" → the action is performed
  • The AI decides on its own when an action is needed, so conversation and motion blend naturally

Beyond the robot's own motions, the AI can also query on-device information through the same tool interface, for example to check the device status or system info, and even to restart the system.

Auto-interrupt (AEC)

When you don't want to hear the rest of the current reply, you can just speak — the robot "interrupts" itself and listens to your new command instead.

  • On-device echo cancellation (AEC) ensures it isn't "distracted" by its own voice
  • Speak to interrupt at any time — no need to wait for the reply to finish, making the conversation feel natural
  • Auto-interrupt can be toggled on/off from the app (it's a persisted setting)

💡 In some app versions, tapping B (Interrupt) does the same thing manually — it stops the current speech and starts listening for your next command.

Emotional expressions

It has moods too, and wears them on its "face".

  • Based on the conversation and the emotion returned by the server, the screen automatically switches to a matching expression animation
  • The server emotion name maps to a local GIF animation, including: neutral / idle, listen (mic), thinking, happy, laughing, fun, sad, angry, crying, surprised, wink, sleepy, awkward (embarrassed), stunned, and more

Continuous conversation

After the robot finishes a reply, it stays in the listening loop (it doesn't drop back to standby immediately). You can just keep talking — no need to repeat the wake word each time. If nobody speaks for a while, the session times out and returns to the standby screen.

Network monitoring

If the WiFi drops out continuously during a chat (about 30 seconds), the program automatically stops the conversation and switches back to the provisioning QR page to guide you through reconnecting; once the network is back, it returns to chatting automatically.

4.3 Provisioning & Binding

The new AI feature no longer requires any local configuration page — you only need to scan the QR code shown on the robot's screen with your phone, and the robot will automatically provision, bind, and connect to the cloud AI service.

When do you need to provision?

  • First use (the robot hasn't been bound to the cloud yet)
  • You've switched to a new WiFi network
  • The AI service reports unbound / server unavailable

Steps:

  1. After entering AI mode, if the robot isn't connected or isn't bound yet, the screen automatically shows the provisioning QR page; you can also press A at any time to re-open it

Provisioning QR page: scan to add device

  1. The screen shows a QR code and prompts such as "Scan to download App / Waiting for phone: XGO-XXX"
  2. Scan the QR code on the screen with your phone: - English (International) mode: scan to download the official App (from agent.luwudynamics.ai), open it, and complete provisioning & binding inside the App — this is a required first step, the English AI will not chat until it is done - Chinese mode: use WeChat Scan to enter the mini-program's provisioning & binding flow (from agent.xgorobot.com)
  3. The phone guides you to pick a WiFi and enter its password, sending the network info to the robot over Bluetooth (BluFi)
  4. After a successful provisioning, the phone automatically binds the robot to the server using its MAC address
  5. The robot then fetches its MQTT credentials from OTA, connects to the cloud, and returns to the chat standby page

💡 Could provisioning fail? Provisioning relies on Bluetooth and a network transfer — keep the phone and robot close together and make sure the network is healthy. If it says "Connect failed, retry", simply try again.

💡 China vs. International: the robot automatically picks the right server based on its system language — connecting to the China server (xl-api.xgorobot.com) for a Chinese system, or the International server (xl-api.luwudynamics.ai) for an English system. No manual switching needed.

⚠️ The provisioning QR code is the credential that lets the robot join the network and cloud service you trust — do not share it with strangers.

4.4 Web Console

Besides talking to the robot, you can also control it from a web browser on your computer or phone. The robot runs a built-in web console (also called the "Portal") that lets you check the device, connect to WiFi, start apps and demos, and more — all without installing any software.

💡 The web console runs on the robot itself, so you must open it from a device that is on the same network (same WiFi/router) as the robot.

💡 You can reach it by the robot's IP address, e.g. http://192.168.31.170/. If you don't know the IP, use the hostname http://luwudynamics.local/ instead.

Login

Out of the box, the portal is not locked — just open it in your browser and you land straight on the home page. There is no password to enter by default.

If you (or someone else) has set up the portal lock (the lock icon at the top-right), the portal will ask for a PIN. This PIN is the portal's own lock, independent of the device account. Enter the PIN you set (or that was set) and tap OK.

💡 You can turn this lock on or off yourself from the portal's lock icon (top-right). If you ever forget the PIN, SSH into the robot and delete /opt/luwu-os/apps/portal/.portal_pin to reset it.

Home page (card wall)

The home page shows a card wall with shortcuts to the main functions and the demos, plus the SSH access info.

Web console home page

The cards at the top are:

CardWhat it does
WiFi SetupScan for and connect to a wireless network
Blockly CodingLaunch the drag-and-drop Blockly coding web page
AI ChatStart the AI Chat Pro app on the robot's screen
SettingsView device info and set preferences

Below is the Demos area, which lists the built-in example programs (Performance, RC Mode, Group Show, Gesture, Face Follow, Ball Catch, Gamepad, Radar, RL Demo, AI Chat Dev). Click one to launch it on the robot's screen. A card marked "Setup" needs to be configured before it can run; a card marked "Stopped" means it isn't running yet.

At the bottom is the SSH Access box. It shows the hostname, IP address, and the SSH login credentials (luwu / luwu). You can use these to connect to the robot over SSH from a terminal.

💡 The AI Chat card and the AI Chat Dev demo are two different AI conversations. The card starts the new AI Chat Pro on the robot's own screen (see 4.1–4.3), while the demo launches the old development AI (AI Chat Dev). Both are described in detail below.

WiFi Setup (/wifi)

Opens the wireless network page. It shows the current connection and scans for nearby networks; tap Connect on a network to join it, or use the Manual connect form to enter an SSID and password. If the IP changes after a successful connection, just open the portal again at luwudynamics.local.

Web console WiFi Setup page

Settings (/settings)

The Settings page groups everything about the device into a few panels:

  • Device Info: model, product, serial number, firmware, system version, xgolib/xgoedu/coding versions, IP address, hostname
  • About Device: CPU model & cores, CPU load, disk usage
  • Preferences: current time, interface language, volume, time zone
  • System Update: check for and install system updates
  • Firmware Flash: link to the flashing tool for the robot's lower controller firmware
  • App & Docs: links to the official app and documentation
  • Contact Us: QR codes for support contact and app download
  • Reboot Device: restart the robot on this page

Web console Settings page

Demos (/demos)

The Demos page lists all the built-in example programs in a grid. Click one to launch it.

Web console Demos page

The two AI conversations: AI Chat Pro vs. AI Chat Dev

There are two different AI features in the portal, and it helps to tell them apart before you start:

AI Chat (card)AI Chat Dev (demo)
Where to find itThe AI Chat card at the top of the home pageThe AI Chat Dev card in the Demos area (or /demos)
App it startsAI Chat Pro (the new voice chat)The old development AI app
Runs onThe robot's own screenThe robot's own screen
ConfigurationMust be configured first — in English/International mode scan the QR code, download the App and provision & bind (see 4.3). To personalise its character, use the Agent Manager link in the card (opens an external site agent.luwudynamics.ai)A full local web config page at http://<robot-ip>:5000 (welcome wizard + AI Brain / ASR / TTS / Agent tabs)
Best forEveryday use — set up once (scan + App) then talk to the robotDevelopers who want to plug in their own model service

Both launch the same kind of on-screen voice chat, but they differ in how you prepare them, so the two subsections below walk through each one in detail.

1. AI Chat Pro (the new AI Chat card)

This is the everyday AI. To start it:

  1. On the home page, tap the AI Chat card

The AI Chat card on the web console home page

  1. The robot's screen shows the AI Chat Pro splash, then the chat standby page
  2. If the robot isn't connected or isn't bound to the cloud yet (this is always the case for the English / International system until you set it up), the screen shows a Scan to Add Device QR code. Scan it with your phone — in English mode this downloads the agent.luwudynamics.ai App, and you complete provisioning & binding inside the App (see 4.3). The English AI will not chat until this one-time configuration is done.
  3. Say the wake word ("Hi Luka" in English, "小陆同学" in Chinese) to start a conversation
  4. Ask your question; the robot answers aloud and shows matching expressions

During a conversation the button layout on the chat page is the same as described in 4.1 (A = Setup & Bind, B = Interrupt, C = Exit).

💡 The AI Chat card starts the app on the robot's own screen, not in your web browser. The web console is only the launcher for it.

To build or edit the character this AI uses, open the Agent Manager (openAgentConsole) — a link in the AI Chat card that opens an external website (in Chinese: https://agent.xgorobot.com, in English: https://agent.luwudynamics.ai). This is a separate cloud dashboard, not the portal's own /ai config page; the card simply links out to it. The AI itself has no on-device / portal configuration page — the only setup it needs is the one-time scan + App provisioning & binding from step 3 above (see 4.3).

2. AI Chat Dev (the old development AI demo)

This is the older development AI, kept for developers who want to bring their own LLM / ASR / TTS service. Its configuration is quite different from the AI Chat Pro above: it uses a full local web configuration page that you must fill in before it can talk.

First, configure it (you can do this before or after launching the app):

  1. Tap the AI Chat Dev card. The robot starts the old AI app on its screen and opens the app's own configuration page in a new browser tab: http://<robot-ip>:5000

The AI Chat Dev config page (welcome wizard)

  1. On the welcome page, paste your API Key (from your model provider, e.g. Alibaba Cloud Bailian) and pick the region (China / International), then tap Save Key.
  2. Go through the four tabs and set them up: - AI Brain: pick the LLM provider, Base URL, model name, and enter the API Key - Speech Recognition (ASR): pick the ASR provider and model used to turn your voice into text - Speech Synthesis (TTS): pick the TTS provider, voice, and model used to speak the answers - Agent: the character — see Agent (character) configuration below
  3. Tap Save Configuration at the bottom of the page. The robot's screen then starts the voice chat using your configured service; talk to it with the mic-enabled workflow the same way you'd use any voice AI

💡 The AI Chat Dev demo points at apps/ai/main.py and serves its config page on port 5000. That page is the old AI's own, separate config page — it is not the portal's /ai page (which is a compact shortcut to the same apps/ai/config.json). The newer AI Chat Pro has no web config page at all.

Agent (character) configuration

The Agent tab is where you give the old AI Chat Dev its personality. It is the richest part of the setup:

1. Naming — set the agent name and how it addresses you:

Agent tab: naming and MBTI personality

FieldWhat it meansDefault example
Agent nameThe name the robot answers toXGO
Call meWhat the robot calls you (its nickname for you)Master
Output languageThe language the robot replies inFollow system / 中文 / English

2. Personality type — pick one of the 16 MBTI types from the grid, or take the Quick Test:

MBTIChinese nickname
INTJ / INTP / ENTJ / ENTP建筑师 / 逻辑学家 / 指挥官 / 辩论家
INFJ / INFP / ENFJ / ENFP提倡者 / 调停者 / 主人公 / 竞选者
ISTJ / ISFJ / ESTJ / ESFJ物流师 / 守护者 / 总经理 / 执政官
ISTP / ISFP / ESTP / ESFP鉴赏家 / 探险家 / 企业家 / 表演者

Agent tab: quick test

3. Description & prompt — write what you want the robot to be like, then let the page auto-generate (or edit) the system prompt:

Agent tab: requirements, prompt and memory

FieldWhat it does
Describe your ideal robotA short description of the traits / speaking style / habits you want
Generate PromptBuilds the system prompt from the above (you can also edit it by hand)
Current system promptThe prompt sent to the LLM as its system prompt

4. Long-term memory — turn this on so the robot summarises and remembers your preferences after each chat, and brings them back next time. You can see the character count and Clear Memory to reset it.

ℹ️ This Agent configuration belongs to the old AI Chat Dev and lives on the :5000 config page. The newer AI Chat Pro has no web config page at all — it ships with a built-in character (customised externally via the Agent Manager link), so you only need to scan the QR code to provision & bind (see 4.3).