Skip to content

Latest commit

 

History

453 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wollama

Wollama est une application de chat pour Ollama. Elle fonctionne dans le navigateur, avec Electron sur ordinateur et avec Capacitor sur mobile.

Les conversations et les réglages restent disponibles hors ligne. Quand le serveur revient, RxDB synchronise les données avec PouchDB.

Fonctionnalités

  • Chat en streaming avec rendu Markdown, coloration du code, pièces jointes et historique local.
  • Recherche dans les conversations, les messages et les noms d’assistants.
  • Compagnons configurables : modèle, prompt système, voix, ton, humeur, spécialisation et avatar.
  • Entrée vocale avec Whisper et lecture des réponses avec Piper ou Chatterbox.
  • Téléchargement et sélection des modèles Ollama depuis les réglages.
  • Base de connaissances RAG alimentée par des fichiers ou une page web.
  • Skills avec commandes slash, dont /help, /summarize et /translate.
  • Hooks avant et après traitement des messages, avec activation depuis les réglages.
  • Agents de recherche web et de lecture de page.
  • Onboarding, profil local protégé par mot de passe et connexion facultative pour la synchronisation.
  • Thème clair ou sombre, cinq langues et interface responsive.
  • Liens profonds sur mobile et fonctionnement hors ligne.

Stack

Partie Technologies
Client Svelte 5, SvelteKit, Vite, Tailwind CSS 4, @medyll/css-base
Serveur Node.js, Express, PouchDB
Stockage client RxDB et IndexedDB
Bureau Electron
Mobile Capacitor
IA et audio Ollama, Whisper, Piper, Chatterbox
Tests Vitest et Playwright

Prérequis

  • Node.js 20 ou plus récent
  • pnpm 11
  • Ollama sur http://127.0.0.1:11434
  • Android Studio uniquement pour Android

Préparez au moins un modèle Ollama :

ollama serve
ollama pull mistral

Installation

git clone https://github.com/medyll/wollama.git
cd wollama
pnpm install

Les modèles audio sont facultatifs :

pnpm setup:audio

Développement

Lancez le serveur et le client dans deux terminaux :

pnpm dev:server
pnpm dev:client

Le client écoute sur http://localhost:5173 et le serveur sur http://localhost:3000.

Pour Electron :

pnpm dev:electron

Pour Android :

pnpm build
pnpm --filter @wollama/client exec cap sync android
pnpm --filter @wollama/client exec cap run android

Vérifications

pnpm check
pnpm test:client -- --run
pnpm test:server

Tests navigateur :

pnpm --filter @wollama/client exec playwright install
pnpm --filter @wollama/client exec playwright test

État actuel : 224 tests client et 76 tests serveur passent. Playwright couvre notamment l’onboarding, le shell du chat, les réglages, le responsive, les compagnons, les skills et la synchronisation entre appareils.

Structure

wollama/
├── client/       Application Svelte, Electron et Capacitor
├── server/       API Express, Ollama, audio, RAG, skills et agents
├── shared/       Schémas et types partagés
└── packages/     Paquets internes, dont Chatterbox

Le schéma de données de référence se trouve dans shared/db/database-scheme.ts.

Configuration

Si Ollama refuse les requêtes du client, autorisez son origine :

OLLAMA_ORIGINS="*" ollama serve

Les données du serveur sont stockées dans server/db_data/. Effacer les données du navigateur déclenche une nouvelle synchronisation depuis le serveur.

About

cross-platform AI chat application designed to run locally with Ollama. It supports text and voice interactions (Speech-to-Text & Text-to-Speech) and is built for Web, Desktop (Windows/Linux/macOS), and Mobile (Android/iOS).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages