
Voir It In Action: https://tinybots.net/artbot
Artbot est un client Web frontal non officiel conçu pour interagir avec le cluster distribué stable Horde - un groupe de GPU exécutant une diffusion stable dont le temps de traitement a été aimablement donné par une communauté enthousiaste de bénévoles.
ArtBot est construit en utilisant Next.js 13 et TypeScript. Il avec a été créé comme un projet secondaire afin d'expérimenter diverses technologies côté client, telles que les API indededDB et LocalStorage. Ces API vous permettent de stocker en toute sécurité les images générées par l'IA que vous avez créées avec le cluster au sein de votre propre navigateur.
Les composants de l'interface utilisateur sont construits sur mesure en utilisant une combinaison de composants stylisés et de CSS de vent arrière, avec des efforts plus récents a strictement concentré sur l'utilisation de CSS de vent arrière. L'objectif à long terme est de supprimer complètement les composants stylisés de la base de code.
Artbot utilise des icônes à partir de la tableuse.
>= 18.0.0>= 9.0.0La plupart de ces étapes doivent être applicables aux environnements Linux / MacOS / Windows.
L'installation de différentes versions de Node.js sur votre machine peut être délicate. Je suis un grand fan de NVM, qui vous permet d'exécuter facilement facilement des versions isolées de Node.js sur votre machine.
En utilisant nvm , vous pouvez installer un nœud comme ceci:
> nvm install v18.16.0
> nvm alias default nodeUne fois que vous avez votre configuration d'environnement Node.js, vous pouvez cloner ce référentiel et installer les packages requis. Selon les spécifications de votre machine et la vitesse de votre connexion Internet, l'installation de tous les packages peut prendre une minute ou deux.
> git clone https://github.com/daveschumaker/artbot-for-stable-diffusion
> cd artbot-for-stable-diffusion
> npm install Un script postinstall s'exécutera automatiquement qui crée un fichier .env vierge dans la racine du dossier du projet. Vous n'avez pas besoin d'y ajouter quoi que ce soit, mais sa présence est requise par le package dotenv .
Bien qu'il ne soit pas nécessaire, la base de code fait référence à quelques variables environnementales à divers endroits. Ce sont généralement des points de terminaison pour la messagerie, les services de télémétrie que j'exécute ou le stockage de données local lié aux comptes de modèles et aux totaux de génération d'images.
IMPORTANT: Tenter d'exécuter l'application de cette façon sur une machine Windows ne fonctionnera pas. Cela est dû au passage des variables d'environnement à l'application Web avec les scripts npm . Voir la section de dépannage pour plus d'informations.
Très bien, vous devriez maintenant pouvoir exécuter l'application Web ArtBot! Pour s'exécuter en mode développement (qui utilise la fonction de rechargement chaud de NextJS - où vous pouvez voir des mises à jour en direct sur le site lorsque vous apportez des modifications)
> npm run dev Ensuite, ouvrez votre navigateur et visitez http://localhost:3000 , vous devriez maintenant pouvoir faire immédiatement des demandes d'image à la horde stable. Rendez-vous sur http://localhost:3000/artbot/settings et entrez votre clé API Horde stable pour des temps de génération plus rapides.
Si vous souhaitez exécuter cela dans un type d'environnement de production, vous devrez d'abord lancer une version, puis exécuter car vous exécuteriez normalement une application Node.js.
> npm run build
> npm run startSur Tinybots, mon serveur Web pour l'hébergement ArtBot, j'utilise PM2 afin de persister l'application et de redémarrer automatiquement après des accidents ou des redémarrages. Vous pouvez modifier les paramètres liés PM2 dans eCosystem.config.js.
De plus, vous pouvez démarrer et arrêter PM2 en utilisant:
> npm run pm2:start-prod
> npm run pm2:stop-prod Comme mentionné précédemment, la tentative d'utilisation npm run dev ou npm run start dans un environnement Windows entraînera une erreur. Une solution possible à cela est de supprimer la variable d'environnement. Dans le cas de npm run dev , cela ressemblerait à ceci.
package.jsonscripts/dev pour supprimer PORT=3000 du script: > npm run update:build-id && node server.jspackage.json et tenter de courir à nouveau: > npm run devPour d'autres numéros non mentionnés ici, n'hésitez pas à ouvrir un nouveau numéro sur GitHub ou visitez le canal de rétroaction ArtBot sur le serveur Horde Discord stable.
Les contributions sont les bienvenues! Les directives générales sont les suivantes:
> git checkout -b my-cool-new-featureFaites-moi savoir si vous avez des questions. Je suis plus qu'heureux d'aider.
Voir Licence.md