Connect with the Android Client

Starting in v0.45.0, Holon includes a native Android client powered by an Android SDK. The app lets you monitor agents, review conversation briefs, and send tasks from an Android device or emulator.

This guide explains how to connect the Android app to a running Holon daemon.

Prerequisites

Connection Options

Choose the network setup that matches your environment:

Target EnvironmentDefault API Base URLHost Preparation
Android Emulatorhttp://10.0.2.2:7878/apiNone required
Physical Device (USB)http://127.0.0.1:7878/apiadb reverse tcp:7878 tcp:7878
Local LAN / Remotehttps://holon.example.com/apiReverse proxy or tailnet

Security Note: Production deployments should always use HTTPS. While the debug build allows loopback HTTP without warning, connecting over unencrypted HTTP across a network requires explicit confirmation in the app.

Step 1: Prepare the Daemon

Ensure your daemon listens on the network interface you intend to reach. For USB or emulator access, localhost is sufficient:

holon daemon start

If your daemon requires authentication, have your access token ready. This can be the bearer token configured when starting the daemon (--token <TOKEN> or --token-file <PATH>) or a bootstrap token generated during setup.

Step 2: Configure Port Forwarding for USB Devices

If you are testing on a physical phone connected over USB, route device traffic to your workstation daemon:

adb reverse tcp:7878 tcp:7878

You do not need this step when using the standard Android emulator.

Step 3: Log In from the Android App

  1. Open the Holon app on your device.
  2. Enter your API Base URL:
    • For the emulator: http://10.0.2.2:7878/api
    • For a USB-forwarded phone: http://127.0.0.1:7878/api
    • For a remote server: https://<your-host>/api
  3. Enter your auth token or bootstrap secret.
  4. Tap Connect.

The app exchanges your token via the daemon's /api/auth/session/exchange endpoint, creates an encrypted session stored securely in Android Keystore, and discards the input token from memory.

Step 4: Interact with Agents

Once connected, you can:

Building from Source

If you want to compile the Android app from the repository:

cd apps/android
./gradlew :app:assembleDebug

Install the resulting APK with adb install app/build/outputs/apk/debug/app-debug.apk.

Next Steps