Skip to content

Gemini customer build: Gemini Live only, English UI, Google Cloud branding - #1

Merged
Ocean-lhy merged 4 commits into
geminifrom
cursor/gemini-customer-build-c25c
Oct 22, 2026
Merged

Ocean-lhy merged 4 commits into
geminifrom
cursor/gemini-customer-build-c25c

Conversation

@Ocean-lhy

@Ocean-lhy Ocean-lhy commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Gemini product build of Stack-chan, controlled by CONFIG_STACKCHAN_GEMINI_ONLY (on in this fork's sdkconfig.defaults). Upstream code paths are kept rather than deleted, so main can keep syncing from ciniml/stackchan-idf with small conflicts.

What changes

AI provider

  • Gemini Live is the only provider. OpenAI / XiaoZhi are hidden from the device UI, the web settings and the BLE settings page (not removed; the Provider enum is unchanged).
  • The Gemini API key ships empty; the user enters their own AI Studio key.
  • Default model is set by CONFIG_STACKCHAN_GEMINI_DEFAULT_MODEL.

Language

  • English is the default and the language switch is hidden. Japanese stays in the source for upstream builds.
  • Web settings pages are translated at build time (tools/settings_i18n/): the fully inlined settings_wifi.html (device page and SoftAP captive portal), tools/settings.html and its scripts, including JS-generated strings. Controlled by CONFIG_STACKCHAN_SETTINGS_ENGLISH (default on for Gemini builds). The build fails if any Japanese is left in the served pages.

Branding

  • Google Cloud boot splash for all boards (CONFIG_STACKCHAN_BOOT_SPLASH_MS, default 2000 ms), generated by tools/gen_google_cloud_splash.py from Google_Cloud_logo.svg.
  • Web settings title is "Google Cloud Stack-chan Settings", with an inline Google Cloud header icon and favicon (no network fetch, works on SoftAP).
  • The avatar face is the original Stack-chan face, unchanged.

OTA / Pages

Build

  • A plain idf.py build (e.g. the ESP-IDF IDE extension) now defaults to the CoreS3 Stack-chan config (sdkconfig.defaults + .esp32s3 + .cores3), and finds an nvm-installed Node for the avatar DSL step. make build BOARD=... and CI are unaffected.

Testing

  • ESP-IDF v5.5.3 builds for all four boards:
Board Image OTA slot Free
CoreS3 3,845,152 B 5 MB 27%
AtomS3R 3,521,328 B 4 MB 16%
AtomS3 2,876,672 B 4 MB 31%
StopWatch 3,521,328 B 5 MB 33%
  • 0 Japanese characters in the embedded settings page for all four boards and in the translated BLE settings page assets.
  • On a CoreS3 Stack-chan: Google Cloud splash and Gemini-only settings verified on device.

Notes

  • With GCC 14, the M5Unified submodule needs tools/apply-m5-patches.sh before building (existing upstream patch, as described in the README).

cursoragent and others added 4 commits October 22, 2026 08:56
…ash, fork OTA

Customer build for Google on top of the gemini branch. Gated by
CONFIG_STACKCHAN_GEMINI_ONLY (on in sdkconfig.defaults, off in Kconfig so
upstream merges stay easy). OpenAI / XiaoZhi source is hidden, not deleted;
Provider enum values are unchanged.

- Force effective provider to Gemini even with a stale NVS value; ignore
  other providers on BLE/HTTP. Add NVS + BLE 0x32/0x33 + HTTP for the
  Live model and voice (default gemini-3.8-live / Aoede).
- NVS lang key, English default, Japanese strings kept. No language UI.
  Hide Japanese-only TTS tools in English. Settings pages overlay in EN.
- Google Cloud boot splash (Wikimedia CC BY 4.0 wordmark) at board-native
  resolutions until the face render task starts, min 2 s.
- OTA/voice catalog URL is Kconfig; this fork points at
  m5stack.github.io/stackchan-idf-gemini. Pages also deploys from gemini.

Co-authored-by: Dylan Luo <Ocean-lhy@users.noreply.github.com>
IDE extensions run idf.py build without SDKCONFIG_DEFAULTS, which produced a 2MB/8MB-partition config that fails. Default to sdkconfig.defaults + esp32s3 + cores3 (and .local if present) when none is given, and fall back to an nvm-installed node for the avatar DSL step. make BOARD=... and CI are unaffected.
@Ocean-lhy Ocean-lhy changed the title feat(gemini): Gemini Live–only customer build (English default, Cloud splash, fork OTA) Gemini customer build: Gemini Live only, English UI, Google Cloud branding Oct 22, 2026
@Ocean-lhy
Ocean-lhy marked this pull request as ready for review October 22, 2026 11:58
@Ocean-lhy
Ocean-lhy merged commit ad53823 into gemini Oct 22, 2026
1 check passed
@Ocean-lhy
Ocean-lhy deleted the cursor/gemini-customer-build-c25c branch October 22, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants