Connect your phone
Connect to your PC from a phone
Pair over direct HTTPS and use conversations on your PC from the Android PWA.
At a glance
- Use an Android PWA to access Kyalulu on your PC or personal server over HTTPS.
- A trusted certificate and device enrollment are required. Devices share the same owner’s conversation data.
- The PWA does not run an LLM on the phone or generate offline. The PC must remain awake and running.
On this page
Take your PC conversations with you#
The Android PWA connects directly over HTTPS to Kyalulu on your own PC or server. That server owns the characters, history, and memories and runs model inference; the phone provides the interface. One person manages one Runtime and accesses the same data from their own devices. Pairing does not isolate multiple users.
This does not provide managed Cloud, phone-only LLM execution, automatic synchronization between servers, or Google Play distribution. Even with an external cloud model, the PC holding your conversations must remain awake and online. For relay access without inbound port forwarding, see the Remote guide.
Pair over HTTPS#
- Build the Web app on the PC and prepare a certificate Android trusts and the exact HTTPS Origin. Keep the private key outside the served Web directory.
- Start the home server. To continue existing conversations, select the Desktop data directory and avoid running another Runtime against it concurrently. Use one worker without auto-reload.
- Issue an eight-digit code on the PC with home_server.py code.
- Open the HTTPS address in Android Chrome and enter a device name and the code.
- Open a conversation and add the app to the home screen through app information or Chrome's menu.
pnpm --filter web build
# Replace certificate paths and hostname with your own values
.venv/Scripts/python.exe scripts/home_server.py serve --origin https://home.example:8000 --cert C:/certs/home.pem --key C:/certs/home-key.pem
.venv/Scripts/python.exe scripts/home_server.py code --tls-name home.example --ca C:/certs/ca.pemThe code lasts 120 seconds, permits one use, and locks after five failed attempts. Issuing a new code invalidates the previous one. Do not routinely use LAN HTTP or bypass certificate warnings. TLS, network, and firewall setup are not automatic.
Servers, disconnections, and updates#
Save servers under the conversation portability settings. Switching opens that server's interface without forwarding credentials. Switching servers does not migrate data, and card import/export alone does not move a whole conversation with its memories.
After a disconnect, generation IDs are checked against durable history. Disconnection does not trigger automatic resubmission; do not manually send the same message again before checking its result. The Service Worker caches only public build assets such as the interface, never APIs, conversation history, or user images. Offline history reading and reply generation are unavailable. Apply an update after generation or editing has finished and the result is confirmed; updates wait while another Kyalulu tab is open.
Device management and limits#
Paired devices can edit characters, import files/text, and correct memories. LE management, model deletion/download, comparison experiments, and external Hub search/URL retrieval remain PC operations. For a lost device, find its ID with devices and revoke it on the PC. A server restart also invalidates all registrations, although work accepted before revocation may finish.
Drafts use device-local storage, not an encrypted vault, and remain after revocation. Use OS locking and delete site data on shared devices. Public documentation describes implementation and browser checks; physical Android installation, Gboard input, network switching, and real-model quality and latency remain formal release checks. Preparation is not formal acceptance. Continue to the import guide to migrate cards.
Sources for this article
Edited from public GitHub materials. Links are pinned to the reviewed commit.
eea271bReport a correction ↗