Files
Skald-Circle/docs/plugins/mobile-connector.md
T
dguiducci 9224245f6f
Nightly Build / build (push) Successful in 6m38s
docs overhaul: agent-facing doc bundle, read-only docs mount in containers
- Strip ~55 stale upstream docs (dev docs never meant for the agents)
- Write new slim index.md as an agent-facing guide to the app's features
- Add new plugin docs: comfyui, elevenlabs, kokoro_tts, orpheus_tts_3b,
  remote_connectivity, whisper_local (replacing old names)
- Add docs_host to UserFs: docs/… and ~/docs/… resolve to {WD}/docs,
  mounted read-only at /root/docs in every user's container
- Instruct assistant/kid/project-coordinator agents to read docs/index.md
  when users ask how the software works
2026-07-22 10:20:21 +01:00

2.5 KiB

Mobile Connector

  • Plugin id: mobile-connector
  • Category: Mobile companion app bridge
  • Runs: connects out to a relay server over an end-to-end encrypted WebSocket — needs internet access, but never exposes this machine directly to the internet

What it does

Bridges the assistant's Inbox — pending approvals, clarification questions, and MCP elicitations — to a companion mobile app on the user's phone, end-to-end encrypted so even the relay server can't read the content. The phone can also show the full web app UI over the same encrypted tunnel, without any port-forwarding or the server being reachable from the internet.

Unlike most plugins, per-user access here is not the usual grant checklist — it's the device↔user binding itself (see pairing below), so this plugin doesn't show the normal "user access" list in the admin UI.

Requirements

  • A relay server URL (wss://…) to connect through.
  • The companion mobile app installed on the user's phone.

Enabling & configuring (admin)

  1. Plugin catalog → Mobile Connector → enable, then Configure.
  2. Fields:
    • relay_url (required) — the relay server's WebSocket URL.
    • pairing_ttl (default 300, max 600) — seconds a pairing QR code stays valid.
    • require_device_confirmation (default true, recommended) — a newly paired device stays "pending" until an admin explicitly authorizes it; don't turn this off without a good reason.
    • notify_delay_secs (default 20) — grace period before pushing an approval/question to the phone, so answering on the computer first skips the redundant phone notification. 0 = push immediately. (Elicitations are always pushed immediately regardless of this setting.)

Pairing a device (admin-mediated)

This is intentionally not self-service, unlike Telegram:

  1. Admin opens Pair a device (sidebar, admin-only — #plugin/mobile-connector/pairing), which shows a QR code.
  2. The user scans it from the mobile app.
  3. The new device appears as "pending" on the Mobile devices page (#plugin/mobile-connector/devices).
  4. The admin picks which user account to bind it to and confirms — only then can that device see that user's Inbox.

Notes

  • A device stays bound until an admin revokes it from the Mobile devices page.
  • If a user asks "why isn't my phone getting notifications", check: the plugin is enabled, their device is bound (not still pending), and — if it's not urgent — that they're not just inside the notify_delay_secs grace window.