feat(ai-ui): add guided WeChat UI - #711
Merged
Merged
Conversation
The app layer called guided_wechat_pairing_*() directly behind ENABLE_AI_CHAT_GUI_GUIDED_WECHAT guards, coupling your_chat_bot to one specific GUI variant. Add AI_UI_DISP_NETCFG_BEGIN / _TOKEN_RECEIVED / _COMPLETE / _RESET display commands and translate them inside the guided WeChat UI via its disp_other_msg handler, so the application stays GUI-agnostic: any UI variant can implement (or ignore) the pairing notifications without app-level #if churn. Co-Authored-By: Claude Code <noreply@anthropic.com>
Mirror the v9 Kconfig plumbing into liblvgl v8: the shared LV_USE_QRCODE option now defaults to y when LVGL_VERSION_8 is selected (preserving the previous hardcoded "#define LV_USE_QRCODE 1" behavior for existing v8 users) and n otherwise. The conf-level fallback stays 0 on both versions so an explicit CONFIG_LV_USE_QRCODE=n is always honored. - liblvgl/Kconfig: default y if LVGL_VERSION_8 - v8/CMakeLists.txt: bridge CONFIG_LV_USE_QRCODE to -DLV_USE_QRCODE=1 - v8/conf/lv_conf.h: replace the hardcode with the v9-style wrapper Verified on DNESP32S3_BOX (esp32s3, LVGL v8): default build keeps qrcode compiled in (lv_qrcode.c.o carries lv_qrcode_create), and an explicit "# CONFIG_LV_USE_QRCODE is not set" produces an empty translation unit. Co-Authored-By: Claude Code <noreply@anthropic.com>
The guided WeChat shell's bottom-left menu button stayed visible on top of the full-screen camera and album pages because those overlays bypass the guided page state machine that owns its visibility. Add a shell-owned helper guided_wechat_menu_btn_set_hidden() and call it from the camera/album display callbacks: hide on open (including the select-mode entry that skips disp_open) and restore on close, only when the chat surface is active so guided pages keep it hidden. Co-Authored-By: Claude Code <noreply@anthropic.com>
yingtao450
approved these changes
Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR adds an SDK-native Guided WeChat UI for the
your_chat_botapplication on T5AI touch-screen boards.The new UI combines the existing WeChat-style chat experience with a guided first-run flow for language selection, device authorization, and network configuration.
New Features
Guided onboarding flow
Authorization status and device information
TUYA_EVENT_BIND_STARTTUYA_EVENT_BIND_TOKEN_ONTUYA_EVENT_MQTT_CONNECTEDTUYA_EVENT_RESETLocalized QR-code guidance
https://tuyaopen.ai/pricinghttps://tuyaopen.ai/zh/pricingWeChat-style chat UI
Camera and image functions
When the corresponding camera/image components are enabled, the new UI supports:
SDK and configuration changes
guided_wechatUI module.ai_chat_ui.c.CONFIG_ENABLE_AI_CHAT_GUI_GUIDED_WECHAT.CONFIG_LV_USE_QRCODE.TUYA_T5AI_BOARD_LCD_3.5.configTUYA_T5AI_BOARD_LCD_3.5_CAMERA.configTUYA_T5AI_BOARD_LCD_3.5_CAM_PRINTER.configTUYA_T5AI_BOARD_LCD_3.5_WITH_L511.configTUYA_T5AI_BOARD_LCD_3.5_v101.configapp_default.configunchanged.Expected Impact
CONFIG_ENABLE_AI_CHAT_GUI_GUIDED_WECHAT=yis selected.your_chat_botapplication and T5AI touch-screen board profiles.Validation
tos.py clean -f.using.cmake,tuya_kconfig.h, and related build files.ENABLE_AI_CHAT_GUI_GUIDED_WECHATENABLE_COMP_AI_VIDEOENABLE_COMP_AI_PICTUREENABLE_IMAGE_ALBUMLV_USE_QRCODEyour_chat_botapplication started normally.