Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Mobile App

ankurCES edited this page Jun 7, 2026 · 6 revisions

Mobile App (blugo)

blugo is the blumi phone app — a Flutter client that mirrors the TUI, talking to a blumi serve gateway over your LAN. It's built for the Pixel 9 Pro Fold (single-pane in portrait, multi-pane unfolded) but runs on any modern Android device.

Welcome · interactive grid Chat · streaming Control center Command palette
welcome grid diagram chat control command palette

The whole app rides one design system (Living-Rose tokens + a reusable widget kit), so every screen shares a consistent, animated look — gradient wordmarks, accent-bordered chat bubbles, status colors, pressable cards, and reduced-motion-aware transitions.

Welcome screen — your grid at a glance

The welcome screen is an interactive network diagram of your blumi grid (drawn natively, no WebView): this device is the hub at the center, your saved gateways orbit it on gradient spokes, and auto-discovered (mDNS) gateways appear as dashed/dotted nodes with a + badge. A radar sweep animates while it scans the LAN.

  • Tap a saved nodeConnect · Edit · Delete (the forget button sits on the side).
  • Tap a dashed (discovered) node → a connect sheet with the password auto-focused; the name, host, and port are pre-filled from discovery.
  • + Add → add a gateway by IP (host:port).
  • A saved gateway whose token went stale prompts for the password again on connect.

Connect to a gateway

  1. On your machine, start a gateway → Gateway:
    blumi serve pair
    blumi serve install --host <LAN-ip>
  2. Open blugo. Saved + discovered gateways appear as nodes on the welcome diagram — tap a node to connect, or + to add one by IP (host:port).
  3. Enter the gateway password. Done — the same session is live in the TUI, web UI, and phone.

You can save multiple gateways by name and switch between them; discovered-but-unsaved ones appear automatically as dashed nodes.

What's inside

  • An interactive grid welcome diagram (above) — connect, edit, forget, or add gateways by tapping nodes.
  • A / command palette (also from the composer) for quick actions: new session, compact, undo, YOLO, control center, speak last reply, switch gateway.
  • Streaming chat with markdown + syntax-highlighted code, tool cards, and the animated thinking mascot.
  • Approval / clarify / plan cards — approve tools (once / session / deny) right from the phone.
  • Sessions — new / resume; transcript auto-refreshes after each turn (+ pull-to-refresh).
  • Control center — model, persona, theme, YOLO, and tabs for Status, Tasks, Grid, Usage, Skills, Memory, and Voice.
  • Grid — delegate a task across your LAN grid right from the phone: pick all peers or one, type a task, and get each machine's result back (hostname + output + latency). It's a direct dispatch, so it works on any model — no tool-calling required. See Grid.
  • Voice — TTS (ElevenLabs / OpenAI) and mic→text (Whisper). See Voice.

Install a build

A signed release APK is produced by flutter build apk --release. Sideload it:

adb install -r build/app/outputs/flutter-apk/app-release.apk

Build it yourself

Prereqs: Flutter 3.44.1 stable, Android SDK + JDK 17 (flutter doctor all green).

cd blugo
flutter pub get
flutter run -d <device> # debug
flutter build apk --release # release (signing: see blugo/README.md)

Release signing reads android/key.properties + a keystore (both gitignored). Full steps are in blugo/README.md.

Tips

  • The app and gateway must be on the same LAN/Wi-Fi. If discovery fails, add the gateway by IP and check the gateway is running (blumi serve status).
  • Backgrounding the app and returning reconnects automatically (SSE with Last-Event-ID replay).

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /