OpenSquared Assistant PWA

POC de PWA mobile pour parler a l'assistant depuis un telephone.

Fonctionnalites

  • Interface mobile installable sur Android via "Ajouter a l'ecran d'accueil".
  • Bouton micro avec transcription Groq Whisper.
  • Reponse LLM Groq.
  • Lecture audio automatique de la reponse apres interaction utilisateur.
  • Envoi d'emails Gmail avec carnet de contacts contacts.json.

Configuration locale

cd pwa_assistant
copy .env.example .env

Remplir .env :

GROQ_API_KEY=...
GMAIL_EMAIL=...
GMAIL_PASSWORD=...
APP_SECRET=...
TTS_PROVIDER=browser

Installer :

C:\Users\baron\AppData\Local\Programs\Python\Python313\python.exe -m pip install -r requirements.txt

Lancer :

C:\Users\baron\AppData\Local\Programs\Python\Python313\python.exe app.py

Puis ouvrir :

http://localhost:8080

Sur telephone, le micro necessite HTTPS sauf cas particulier localhost.

Deploiement VPS Hostinger

Exemple Ubuntu pour le VPS actuel (/root/openbot) :

cd /root
git clone https://gitea.open-squared.tech/admin/openbot.git openbot
cd openbot
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
nano .env

Service systemd pour que l'app continue apres fermeture de Putty :

cp deploy/opensquared-assistant.service /etc/systemd/system/opensquared-assistant.service
systemctl daemon-reload
systemctl enable --now opensquared-assistant

Commandes faciles :

systemctl start opensquared-assistant
systemctl stop opensquared-assistant
systemctl restart opensquared-assistant
systemctl status opensquared-assistant
journalctl -u opensquared-assistant -f

Optionnel, installer le raccourci openbot :

install -m 755 deploy/openbot /usr/local/bin/openbot
openbot status
openbot restart
openbot logs

Nginx :

server {
    server_name assistant.ton-domaine.com;

    location / {
        proxy_pass http://172.17.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

HTTPS avec Certbot :

sudo certbot --nginx -d assistant.ton-domaine.com

Installation Android

  1. Ouvrir l'URL HTTPS dans Chrome Android.
  2. Menu ....
  3. Ajouter a l'ecran d'accueil ou Installer l'application.
  4. Ouvrir l'icone Assistant.
  5. Appuyer une fois sur Demarrer pour lancer le mode mains libres.
  6. Parler naturellement : apres 2 secondes de silence, le message est envoye.
  7. Appuyer sur Arreter pour couper l'ecoute continue.

Notes

  • Groq Orpheus TTS doit etre accepte dans la console Groq pour fonctionner : https://console.groq.com/playground?model=canopylabs%2Forpheus-v1-english
  • Par defaut TTS_PROVIDER=browser utilise la voix francaise du telephone pour eviter l'accent anglais du modele Groq Orpheus.
  • Pour revenir au TTS Groq, mettre TTS_PROVIDER=groq dans .env.
  • La lecture audio automatique depend toujours des regles du navigateur mobile, mais elle marche mieux dans une PWA apres un tap utilisateur que dans Telegram.
Description
No description provided
Readme 245 KiB
Languages
Python 77.9%
JavaScript 14.4%
CSS 4.8%
HTML 2.5%
Shell 0.4%