Files
openbot/README.md

3.1 KiB

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.