À propos du projet

DSH for Vaults est un plugin de bureau Obsidian qui intègre l'interface Web native de DeepSeek Harness (DSH) à l'intérieur d'Obsidian. Selon le README, chaque coffre dispose de sa propre instance DSH entièrement isolée : l'ouverture d'un coffre lance DSH avec ce coffre comme espace de travail, et les historiques de session restent propres à chaque coffre sans jamais se mélanger. Le plugin agit comme un lanceur et un client intégré plutôt que de regrouper une implémentation de DSH. Capacités clés décrites dans le README : - Interface webview intégrée : la véritable interface DSH s'exécute dans une webview Electron dédiée avec un stockage de session persistant par coffre et une authentification par jeton sécurisée pour les cookies. - Pont bidirectionnel : faites un clic droit sur le texte sélectionné pour envoyer une ligne de localisation avec le fichier et la plage ligne/colonne au compositeur DSH ; cliquez sur un chemin de fichier de coffre dans le chat DSH pour ouvrir la note correspondante dans Obsidian. Un fichier manquant génère un avis, tandis que les chemins hors coffre et binaires conservent le comportement de DSH. - Transmission des raccourcis clavier : les raccourcis Obsidian configurés continuent de fonctionner lorsque le panneau DSH a le focus, via un commutateur dans les paramètres. - Bootstrap sans terminal : si Node.js ou DSH est absent, le panneau peut installer un runtime portable privé (environ 30 Mo, sans droits admin, système inchangé) puis télécharger et démarrer le noyau DSH de lui-même, avec progression en direct et repli vers un miroir npm. - Synchronisation de la configuration des modèles entre instances DSH : le mode incrémentiel copie les entrées manquantes et les invites par conflit ; le mode écrasement aligne les fournisseurs et les références d'identifiants sur une source choisie et sauvegarde automatiquement les fichiers. Les éléments synchronisés incluent les fournisseurs LLM et les références d'identifiants API ; les enregistrements de connexion par instance, la route du modèle par défaut, le modèle de recherche et les profils de plugin ne sont pas synchronisés. - Politique de mise à jour : suit le canal stable officiel et n'installe que après confirmation explicite ; le démarrage ne se connecte pas en ligne pour modifier les versions. - Migration des données : la mise à niveau vers des noyaux plus récents migre automatiquement les données de session et les sauvegarde au préalable, avec un répertoire de sauvegarde configurable. - Isolation par coffre : les données sont stockées dans un répertoire local dédié au coffre, à l'extérieur de celui-ci, et ne sont pas synchronisées via OneDrive selon le README. - Diagnostics : les paramètres affichent le temps de démarrage par étape pour la sonde, la détection Node, le port, le chargement du noyau et de l'UI, ainsi que les queues d'erreurs et des journaux copiables ; les arbres de processus obsolètes sont nettoyés lors d'un timeout. Configuration requise : Obsidian desktop v1.4 ou plus récent sur Windows. Node.js n'est pas requis au préalable car le plugin peut installer un runtime portable ou détecter une installation existante par chemin absolu. Installation : disponible via les plugins communautaires d'Obsidian en recherchant DSH for Vaults, via BRAT en utilisant le dépôt moozhu/dsh-obsidian, ou manuellement en plaçant main.js, manifest.json et styles.css dans le dossier .obsidian/plugins/dsh-ob/ du coffre et en activant le plugin. Utilisation : ouvrez le panneau via l'icône de baleine ou la palette de commandes, attendez le démarrage, puis discutez avec le coffre comme espace de travail actif. La barre d'état affiche l'état de l'instance. Le comportement multi-coffres inclut des ports déterministes par coffre, des instances indépendantes pour différents coffres, une instance partagée pour le même coffre dans deux fenêtres, et l'arrêt d'une instance à la fermeture de la fenêtre sauf configuration contraire. La marge inférieure est réglable de 0 à 40 pixels. Confidentialité : le README stipule que le plugin est un lanceur plus un client intégré, communique avec DSH uniquement via localhost (127.0.0.1), et ne possède ni télémétrie ni relais. DSH lui-même peut effectuer des requêtes sortantes, telles que les API de modèles, selon les tâches. L'historique des sessions, la configuration des modèles et les identifiants API résident dans le répertoire de données local dédié au coffre. Les paramètres incluent le chemin de l'exécutable, la mise à jour de version, le répertoire de sauvegarde des données, le port de base, le démarrage automatique à l'ouverture d'Obsidian, l'arrêt à la fermeture, la transmission des raccourcis clavier, le pont inverse, la synchronisation de la config des modèles, l'emplacement du panneau, la marge inférieure du panneau et les diagnostics de temps de démarrage. Les commandes de développement sont npm install, npm run dev pour le watch TypeScript, npm run typecheck, et npm run build pour vérifier les types et compiler avec esbuild.