Riferimento tecnico
Rete e porte
| Modalità | Bind | URL tipico |
|---|---|---|
| LAN Wi‑Fi | 0.0.0.0:8099 | http://192.168.x.x:8099 |
| Tailscale HTTPS | 0.0.0.0:8443 | https://100.x.x.x:8443 |
Script: ./scripts/serve-lan.sh (HTTP) e ./scripts/serve-lan.sh --https (TLS self-signed da data/ssl/rudis.crt o data/rudis.crt).
Endpoint utili
GET /health— demone vivo, modello caricato?GET /api/network— IP LAN, indirizzo Tailscale 100.x, hostnamePOST /api/verify— My Factum, Shopper Truth (headerX-RUDIS-App)
Certificati e firewall
HTTPS usa certificati self-signed accettati dalle app RUDIS su host privati/Tailscale. Su macOS consenti connessioni in entrata per RUDIS/python se il firewall è attivo. Guest Wi‑Fi isolato blocca :8099 — usa Tailscale.
Modelli e cartelle
I modelli restano nelle cartelle configurate da RUDIS sul Mac (MLX/Hugging Face locali). Non vengono sincronizzati sul telefono. Scarica modelli dal Mac prima di usare le app.
Limiti payload (app iOS)
- OCR testo — circa 12.000 caratteri max (Contract Lens, Invoice Check, …)
- Trascrizione verbale — circa 16.000 caratteri max (RUDIS Minutes)
- JPEG e file audio — non inviati; preprocessing on-device
Header X-RUDIS-App
Ogni app client invia un identificativo (es. factum, jobtailor, cinearchive) per routing e log sul backend. Non è tracking pubblicitario.
Troubleshooting
Connection refused— demone non avviato o bind su 127.0.0.1 invece di 0.0.0.0. Usaserve-lan.sh.- Errore certificato Tailscale — prova prima HTTP :8099 in LAN; poi Detect salva HTTPS 100.x.
- Timeout — modello non caricato o Mac in sleep. Controlla menu bar e
/health. - 403 / model missing — installa un default_model sul Mac.
Network and ports
| Mode | Bind | Typical URL |
|---|---|---|
| LAN Wi‑Fi | 0.0.0.0:8099 | http://192.168.x.x:8099 |
| Tailscale HTTPS | 0.0.0.0:8443 | https://100.x.x.x:8443 |
Scripts: ./scripts/serve-lan.sh (HTTP) and ./scripts/serve-lan.sh --https (self-signed TLS from data/ssl/rudis.crt or data/rudis.crt).
Useful endpoints
GET /health— is the daemon up, model loaded?GET /api/network— LAN IP, Tailscale 100.x address, hostnamePOST /api/verify— My Factum, Shopper Truth (X-RUDIS-Appheader)
Certificates and firewall
HTTPS uses self-signed certs trusted by RUDIS apps on private/Tailscale hosts. On macOS allow incoming connections for RUDIS/python if the firewall is on. Isolated guest Wi‑Fi blocks :8099 — use Tailscale.
Models and folders
Models stay in RUDIS-configured folders on the Mac (local MLX/Hugging Face). They are not synced to the phone. Download models on the Mac before using apps.
Payload limits (iOS apps)
- OCR text — about 12,000 characters max (Contract Lens, Invoice Check, …)
- Minutes transcript — about 16,000 characters max (RUDIS Minutes)
- JPEG and audio files — not uploaded; on-device preprocessing
X-RUDIS-App header
Each client app sends an identifier (e.g. factum, jobtailor, cinearchive) for routing and logging on the backend. Not advertising tracking.
Troubleshooting
Connection refused— daemon not running or bound to 127.0.0.1 instead of 0.0.0.0. Useserve-lan.sh.- Tailscale certificate error — try HTTP :8099 on LAN first; then Detect saves HTTPS 100.x.
- Timeout — model not loaded or Mac asleep. Check menu bar and
/health. - 403 / model missing — install a default_model on the Mac.