Skip to main content
Rikka can run a lightweight HTTP server directly on your Android device. Once the server is running, any browser on the same local network — your laptop, a tablet, or another phone — can open the Rikka chat interface without installing anything. The app stays on your phone; the web UI is just a window into it.
The web server only works while Rikka is running on your Android device. Closing or force-stopping the app shuts the server down. A persistent foreground notification keeps the server alive when the app is in the background.

Starting the Server

1

Open Web Access settings

In Rikka, go to Settings → Web Access.
2

Configure the port

Enter a port number in the Port field. The default is 8080. Use any value between 1024 and 65535. You cannot change the port while the server is already running.
3

Choose network visibility

Toggle Localhost Only if you want the server accessible only from the device itself (useful for ADB port forwarding). Leave it off to allow access from other devices on your Wi-Fi network.
4

Set an access password (recommended)

Enter a password in the Access Password field. See Securing the server below.
5

Start the server

Tap the Start button. Rikka requests notification permission and, on Android 15 and later, local network permission, then starts the server.

Finding the Server URL

Once the server is running, the Web Access page shows the available addresses:
Address typeWhen shownExample
LAN AddressLocalhost Only is offhttp://192.168.1.42:8080
mDNS AddressLocalhost Only is off, mDNS availablehttp://android-device.local:8080
Local AddressAlwayshttp://localhost:8080
Tap any address row to copy it to your clipboard. A toast confirms the copy. Open the URL in any browser on the same network.
The mDNS address (.local) is easier to type and works reliably on most home networks without knowing the device’s IP. If it doesn’t resolve, fall back to the LAN Address.

Securing the Server

If you expose the server beyond localhost (i.e. Localhost Only is disabled), anyone on your local network can reach the chat interface. Set an access password to prevent unauthorized access to your conversations and AI provider keys.
Rikka uses JWT-based authentication to protect the server:
1

Enter an access password

Type a password in the Access Password field on the Web Access settings page.
2

Enable JWT authentication

Toggle on Enable JWT Auth. This toggle becomes available once you have entered a non-empty password. Clearing the password automatically disables JWT auth.
3

Authenticate in the browser

When you open the server URL for the first time, the web UI prompts for the password. On success, a JWT token is stored in the browser session so you don’t have to enter it again until the token expires.

Configuration Reference

Port
integer
default:"8080"
The TCP port the HTTP server listens on. Must be between 1024 and 65535. Shown as an error state if the value is out of range. Cannot be changed while the server is running.
Localhost Only
boolean
default:"false"
When enabled, the server binds to 127.0.0.1 and is only reachable from the device itself. When disabled, the server binds to all network interfaces and is reachable from other devices on the same network. Cannot be changed while the server is running.
Enable JWT Auth
boolean
default:"false"
Require a signed JWT token for every request. Tokens are issued at login using the Access Password. Only available when the access password field is non-empty.
Access Password
string
default:""
The password users must enter in the browser to obtain a JWT token. Clearing this field automatically disables JWT auth. Treat this like any other sensitive credential.

Stopping the Server

Tap the Stop button on the Web Access settings page. The foreground service and notification are dismissed and all active browser sessions lose connectivity immediately. You can also stop the server by dismissing the persistent notification from the Android notification shade.