Hikma è progettata per essere compatibile con le API di OpenAI, comprese quelle fornite da llama-server, del quale si consiglia l'uso. L'applicazione è basata su gtk4 e permette agli utenti di interagire con modelli linguistici in modo intuitivo e semplice.
Maggiori informazioni alla pagina GitHub dedicata.
Dipendenze: (Debian 13 / Trixie) valac, libgtk-4-dev, libsoup-3.0-dev, libjson-glib-dev, libsecret-1-dev, meson, ninja-build, git, ca-certificates (che sono solitamente già installati)
Installazione: (utilizzando il Makefile wrapper)
make
per configurare Meson e compilare,
make run
per compilare e eseguire ./build/src/hikma,
make install
per compilare e installare attraverso Meson,
make debian
per creare pacchetti Debian binari.
Impostazioni: Non vengono scritti dati sensibili in chiaro, il PIN dell'utente è utilizzato come chiave simmetrica; la chiave derivata è salvata nel keyring per validare lo sblocco delle impostazioni; il PIN in chiaro non è mai salvato, i campi sensibili (endpoint, chiave API, modello, timeout, prompt) sono crittografati con XOR byte per byte con la chiave derivata, poi codificati in Base64 e salvati nel keyring come un singolo blob; all'avvio, Hikma richiede il PIN se le impostazioni salvate sono presenti. Con il PIN corretto, la configurazione è decrittata e caricata mentre, senza il PIN corretto, le impostazioni rimangono bloccate e non possono essere utilizzate. Anche il contesto recente della chat è salvato (crittografato) nel keyring per fornire continuità tra le sessioni: il contesto è utilizzato per precompilare il payload della richiesta in modo che la conversazione rimanga coerente.
Licenza: Hikma è software libero rilasciato con GNU General Public License v3.