[LiteChat] Local first AI chat

LiteChat for YunoHost

Integration level
Install LiteChat with YunoHost

Overview

LiteChat is a modular, extensible, and privacy-focused AI chat application designed for power users, developers, and teams. It supports multiple AI providers, advanced prompt engineering, project-based organization, and powerful developer features like virtual file systems, Git integration, and a comprehensive modding system.

Screenshots

Demo

Documentation

Links

1 Like

Bonjour,
Je n’y connais rien dans ces outils, donc soyez indulgents

Est-ce que ce serait possible avec cet app de crĂ©er un robot chat avec une AI restreinte open-source entraĂźnĂ©e sur un corpus (en l’occurrence une doc et/ou une base de connaissance), qui pourrait constituer un support de premier niveau respectueux de la vie privĂ©e et raisonnablement (??) consommateur de ressource ?
Ou peut-ĂȘtre qu’il y a des outils plus adaptĂ©s ?

Merci d’avance pour vos lumiùres.

No idea. You better ask the app developper. also, see the dev presentation: LiteChat - Un chat IA local first, auto hebergeable sur un server HTTP | Dbuild.dev

bonsoir,
Je suis le créateur de litechat :smiley:
LiteChat est une interface vers vos outils d’inference prĂ©fĂ©rĂ© : openAI, Anthropic, Gemini, et pour le local Ollama ou encore LMStudio
Je ne propose pas d’entrainement pour les models, deja je sais pas faire ^^, et puis c’est extremement consomateur de ressources materiel, par contre, en fonction de ton hardware ollama/lmstudio font un tres bon travail avec des models comme gemma ou qwen.
la version en ligne est hostĂ© sur github pages mais ca tourne deriere n’importe quel serveur http car tout se passe dans le browser

1 Like

Salut @DimitriGilbert, bienvenue dans notre communauté et merci de prendre le temps de participer à la discussion.
IntĂ©ressante dĂ©couverte pour moi, j’utilise actuellement open-webui avec Ollama (ce dernier est disponible dans le catalogue Yunohost). J’ai pas encore ajoutĂ© open-webui au catalogue parce qu’il ne passe pas les tests (l’installation requiert 10G).
Je vais tester Litechat au cours de la semaine prochaine.

1 Like

ca faisait partie des choses qui m’ont amener a creer litechat.
La plupart des outils sont soit

  • trop gros (plsieur Go pour un chat, non merci !)
  • trop limitĂ© (le chat de LMstudio est ok, mais je ne peux pas utiliser de models hoster ailleurs)
  • soit pas hebergeable (t3.chat est un super service vraiment pas cher, mais proprio
)

Les images docker mono langue (fr es it de) font moins de 100Mo et la version total (avec tout les langues) +/-250 (il faudrait que je fasse une image ‘en’ dedier
)

Je m’excuse par avance du design en mousse, c’est vraiment pas mon cotĂ© fort ^^, pareil pour le cotĂ© decouvrable des fonctionalitĂ©s
 c’est un peu le fouillis mais ca c’est parce qu’il y a vraiment plein de truc

  • titre auto,
  • regles custom activable,
  • fs avec support de git dans le navigateur,
  • support des outils (git et fs) et des serveurs mcp externe,
  • bibliotheque de prompt/agent perso,
  • un mode course pour tester une liste de models sur un prompt, ou une liste de prompt sur un model
  • workflows (prompt chaining)
  • le support (tres alpha pour le moment) pour les recherches web (sans MCP)
  • l’IA peut repondre avec des block UI custom (en plus du code)
    • formulaire (base sur https://formedible.dev (un autre outil a moi pour moi ^^)
    • mermaidjs (pour des diagrammes un peu vintage)
    • react-flow (pour du diagramme plus pipou)
    • chart (barre, ligne, camemdert, etc, etc)
    • un interpreteur python (avec pyodide)
    • un interpreteur js avec plusieur mode (safe dans quickjs, en iframe, ou yolo dans la page !) qui peut donner des trucs comme ca (je decline toute responsabilitĂ© en terme de perte de temps)
  • des settings, plein, mais genre plein
 voir trop ^^, le but etant que s’il y a une fonctionalitĂ© avec des options controlabe, ells sont controlable (j’aime pas qu’on prenne la decision sans me laisser le choix meme si j’ai pas touchĂ© a un seul d’entre eux pour etre parfaitement honnete XD)
  • d’autre trucs que j’oublis
 j’en ai mis trop -_-’

Je suis bien entendus preneurs de suggestions et de retour, et il ne faut pas hĂ©siter aller ouvrir des issues sur le repo github, en francais sans probleme :smiley: (hĂ©siter pas a mettre une Ă©toile, c’est une super cure pour mon manque de dopamine ^^)

2 Likes

merci pour l’acceuil au passage,
j’ai submit sans relire et je me suis rendu compte que je me comportais comme un americain -_-’

1 Like

Hey now! That behavior is not exclusive to Americans :joy:

HĂ© maintenant ! Ce comportement n’est pas exclusif aux AmĂ©ricains :joy:

1 Like

On another note, I installed litechat without any errors during installation but am getting a blank page when I load the app.

Providing more context is always helpful.

I guess you are trying to install it in a subfolder like domain.tld/litechat
try to install it in a subdomain like litechat.domain.tld

@DimitriGilbert is it possible to install the app in a subfolder? (like domain.tld/litechat)

you are right @ericg for now it must be in the top directory of your http server

I have to refine my build process, it is a bit messy at the moment for the internationalization and docker support.
The fix is fairly easy though, the src attribute for the main script and the link for the css file start with a /, removing it should do the trick (I am not a yunohost user so i do not really know how things are handled :\ )

@Iammee that’s a fair enough point but the bait potential is so much less ^^

My apologies yes I chose all the default settings

Is is better than the ChatGPT app where you have to enter manually the API key every time you want to use or modifiy the internal code to bypass it :stuck_out_tongue: ?

Real questions @DimitriGilbert :

  • Comment et oĂč sont stockĂ©es les clĂ©s API ? / How and where the API key are stored ?
  • Les conversations sont-elles liĂ©es au compte utilisateur pour ĂȘtre consultĂ©es sur n’importe quel appareil. / The chats are linked to the user account so they can be retrieved on any device ?

sure is :smiley: enter once, use all the times ^^ you can even configure multiple provider/key pair (work, hobby, etc, etc)

  • api keys are stored in the browser indexeDB / les clĂ©s sont stocke dans le navigateur directement
  • no account here (all in browser), you can sync using a git repository on a conversation basis or globally. same with settings. / pas de compte sur litechat (tout sur le browser), il est possible de faire des syncs individuelles pour chaque conversation on globalement, pareil pour les settings

The approach here was to be really “local first” so everything is in browser (I have to work on the url->markdown and search service, for now they use 3rd parties open apis
)
this comes with some quirks and limitations but it insures true privacy (no more interaction with the server after the first load and the update check from the background worker)
Le concept ici c’etait vraiment d’etre “local first” et que tout tourne dans le navigateur (c’est pas le cas pour le moment pour la recherche web et le web scrap maisca va venir bientot :wink: )
ca vient malheureusement avec qqs joyeusetés mais ca assure une experience privée a 100%

I all heartily recommend using an openrouter key here, you’ll have access to most of the providers/models and I have better support for model abilities from there.

J’aime beaucoup Ă  date mais un gros problĂšme que j’ai concerne les autres utilisateurs de mon serveur. Ce n’est pas rĂ©aliste que je partage Ă  chaque utilisateur ma clĂ© API pour qu’ils puissent la rentrer Ă  chaque fois (ou chaque premiĂšre fois) qu’ils ont besoin d’utiliser l’AI.
Est-ce qu’il y aurait moyen d’avoir une option pour stocker clĂ© API, chats, etc, sur le serveur qui serait dĂ©sactivĂ© par dĂ©faut ?

Avec une telle option, un utilisateur du serveur se connecterait au serveur et pourrait directement interagir avec l’AI sans avoir Ă  la prĂ©-configurer.

Aussi, possible d’ajouter une option lors de la sĂ©lection des modĂšles pour dĂ©terminer celui qui serait activĂ© par dĂ©faut ?

I really like it so far, but one big problem I have concerns other users of my server. It’s unrealistic for me to share my API key with every user so they can enter it every time (or every first time) they need to use the AI.

Is there a way to have an option to store API keys, chats, etc., on the server that would be disabled by default?

With such an option, a server user would connect to the server and be able to interact directly with the AI without having to pre-configure it (no need to enter an api key and no need to select the models).

Also, is it possible to add an option when selecting AI models to determine which one would be enabled by default?

Merci / Thanks.

2 Likes

oh non, c’est par browser, sur le serveur n’y a rien de conserver, vraiment, c’est juste un serveur http qui sert un bundle de js/css :slight_smile: chacun vient avec sa clĂ© :smiley:

Oh no no, it is on a browser basis. nothing is stored on the server, it really is just an http server that serves a js bundle :slight_smile: every one is bringing their own key

Tu peux essayer la version en ligne (heberge sur une github pages) et regarder ce qui circule, une fois charge plus rien ne viens chez moi, seulement entre ton provider et toi.
you can try the online hosted version (completely static on github pages) at https://litechat.dev and look at the request made, nothing goes out to me, only between you and your AI provider

as for the default key, I do not have that in store quiet yet
, I am working on another project right now (one that will maybe put food in the fridge ^^) but I could add something like that in the future.
The only way for now is to build the app with a specific setting file so it loads them as default.

git clone git@github.com:DimitriGilbert/LiteChat.git
VITE_USER_CONFIG_FILE="path/to/your/config/file.json" npm run build

The bundled version should be in the dist folder and you should place it at the root of your http server
you can also set the system prompt file with VITE_SYSTEM_PROMPT_FILE :wink:
the config file is the one you export from the settings>data tab

hope this help and I’m glad you like it :slight_smile:

2 Likes

Yes, the default key would be great ! :grin:

and after the new project put food in the fridge, add the option to store the data on the server ^^

Good luck on the project :wink:

1 Like

thx :smiley:

I really wanted to keep it client only for many (privacy ^^ mostly privacy) reasons but I will try to wip up something in a docker compose stack at some point that will use other ongoing work on litechat for easy config distribution (you can always open the code if your curious, it is not buried far away ^^)
I could probably add a way to get the config from a remote json file, but that means it will have to be secured somehow (if your server endpoint is behind logins, it’s ok, I will add the possibility for http basic auth also, but it is a bit shaky at best ^^) as a stop gap if you are interested.
It would be friday/saturday i think ('tis when I’m maintaing litechat :slight_smile: )