enne2 2fe75f29d7 Binario ottimizzato 33MB: spec PyInstaller con potatura temi icona e lingue
- da 244MB a 33MB (-86%): l'hook PyGObject raccoglieva tutti i temi
  icona di sistema (~70MB Papirus/Breeze/Adwaita) e 122 lingue
- a runtime GTK usa i temi di sistema, i bundlati erano peso morto
- spec con potatura post-analisi (share/icons/*, locale solo it/en)
- release v0.1.0 su Gitea con binario allegato (33.4MB)
2026-08-19 13:27:18 +02:00

Pi Session Launcher

Piccola applicazione GUI (GTK3) per riprendere le sessioni di Pi Agent.

Elenco tutte le sessioni salvate in ~/.pi/agent/sessions/ e, selezionandone una:

  • apre un terminale (Konsole) nella cartella di lavoro (cwd) in cui la sessione era stata avviata;
  • riprende la sessione con pi --session <file sessione>.

Requisiti

  • Python 3 + PyGObject GTK3 (python3-gi, gir1.2-gtk-3.0)
  • Konsole (KDE) — fallback: xterm
  • pi nel PATH

Installazione

./install.sh        # copia la voce nel menu applicazioni KDE (.desktop)

Avvio manuale:

python3 pi-session-launcher.py

Uso

Azione Come
Selezionare una sessione clic sulla riga
Riprendere la sessione doppio clic, Invio o pulsante Riprendi sessione
Rinominare la sessione pulsante Rinomina o F2 (nome vuoto = cancella)
Cercare digitare nel campo di ricerca (filtra per messaggio e cartella)
Aprire la cartella della sessione pulsante Apri cartella (Dolphin)
Aggiornare l'elenco pulsante Aggiorna o Ctrl+R

Le sessioni con nome (/name in pi) sono mostrate in grassetto.

Eseguibile portabile

Build dell'eseguibile singolo ottimizzato (33 MB, PyInstaller + potatura):

python3 -m pip install --user --break-system-packages pyinstaller
# build da spec (vedi pi-session-launcher.spec): pota temi icona di sistema
# (GTK usa quelli di sistema a runtime) e tiene solo lingue it/en
python3 -m PyInstaller --clean --noconfirm pi-session-launcher.spec
./dist/pi-session-launcher

Il file .spec contiene la potatura post-analisi: rimuove share/icons/* (tutti i temi installati sul sistema, ~70 MB) e share/locale/* eccetto it/en.

Nota: Nuitka richiede gli header python3-dev (non installabili senza sudo); PyInstaller è la via raccomandata dalla documentazione PyGObject per app GTK.

Repository

Mirror pubblico su Gitea: https://git.enne2.net/enne2/pi-session-launcher

Release: https://git.enne2.net/enne2/pi-session-launcher/releases/tag/v0.1.0

Come funziona

  • Ogni sessione è un file JSONL in ~/.pi/agent/sessions/--<percorso>--/<timestamp>_<uuid>.jsonl.
  • L'header della prima riga contiene il campo cwd (cartella di avvio).
  • Il primo messaggio utente e il nome (session_info) vengono letti dal file.
  • Il lancio usa: konsole --workdir <cwd> --hold --separate -e bash -c 'pi --session "$1"; exec bash' _ <file>exec bash mantiene la shell aperta quando pi termina.
S
Description
GUI GTK3 per elencare e riprendere le sessioni di Pi Agent (pi --session) nella loro cartella di lavoro
Readme
1.5 MiB
2026-08-21 16:53:57 +00:00
Languages
Python 91.2%
Shell 8.8%