DraggyDocs
Français
draggy.org Télécharger

DocsRéférence

Compilation et architecture

Lancer depuis les sources, l'organisation du code, et les deux frontières.

Lancer depuis les sources#

cd win
npm install
npm run electron:dev

Vite et Electron ensemble avec rechargement à chaud, sur le port 5173. Si un processus Vite resté en vie garde le port, le lancement suivant échoue : arrêtez-le d'abord.

npm run check

Typage, lint et les tests. La CI lance la même commande. npm run electron:build écrit un programme d'installation dans dist-electron/.

Comment c'est organisé#

Dossier Contient
core/ Coeur Rust partagé : état de session, politique d'URL, routage MCP, fournisseurs et analyseur de documents
win/ Application Electron Windows (electron/ pour le processus principal et src/ pour l'interface React)
macos/ Application native macOS en SwiftUI
linux/ Application native Linux en GTK 4 et libadwaita
shared/ Jeux de test partagés, listes d'hôtes et icônes

Les deux frontières#

electron/preload.cjs est celle de la sécurité. Le rendu n'a aucun accès à Node et n'atteint le système de fichiers, le réseau et la base de données qu'à travers ce qui y est exposé. Y ajouter une fonction est un acte délibéré.

La séparation des sessions est l'autre. La fenêtre de Draggy tourne sous une CSP stricte ; chaque page externe tourne sur une partition séparée, sans aucune politique de notre part. Les fusionner appliquerait notre politique aux sites des autres et les casserait.

Journaux et diagnostics#

Draggy conserve deux journaux rotatifs dans le dossier des données de l'application (logs/) :

  • app.log : Événements du cycle de vie, gestion des modèles et erreurs. Les requêtes et les réponses sont réduites à des empreintes et des longueurs, et les secrets sont masqués.
  • debug.log : Une trace plus détaillée. Le flux de sortie y est enregistré par longueur, pas par texte.

Les journaux tournent à 5 Mio et gardent trois archives. Pour les voir, ouvrez Paramètres → Diagnostics → Ouvrir le dossier des journaux, ou définissez LOG_LEVEL=DEBUG ou DEBUG_LOG_LEVEL=DEBUG pour le maximum de détails. Pour un signalement de bug, utilisez Paramètres → Diagnostics → Exporter les diagnostics.

Moteur d'inférence#

Draggy exécute des modèles locaux avec un moteur intégré :

  • GGUF (llama.cpp) : Exécute des fichiers de modèles .gguf dans un processus enfant masqué llama-server sur le port 11435. Il utilise Metal sur macOS. Sous Windows, il essaie CUDA pour les cartes NVIDIA, puis Vulkan, puis le processeur. Sous Linux, l'ordre est le même. Les cartes AMD utilisent Vulkan, sauf si vous activez la version ROCm dans Réglages → Modèles.

CONTRIBUTING.md a le reste, et SECURITY.md couvre le signalement d'une faille.

Suggérer une modification