Chat de rôle IA avec des personnages personnalisés en utilisant vos services d'IA préférés.
Version en direct | Discorde
Visitez la version en direct sur Agnai.chat.
Basé sur les premiers travaux de Galatea-UI par PygmalionAI.
Important! MongoDB et Redis sont facultatifs ! Agnaistic fonctionnera en mode "Invité uniquement" si MongoDB n'est pas disponible.
Agnaistic est publié sous forme de package NPM et peut être installé globalement :
# Install or update:
npm install agnai -g
agnai
# View launch options:
agnai help
# Run with the Pipeline features
agnai --pipeline
Lorsque vous utilisez le package NPM, vos images et fichiers JSON seront stockés dans : HOME_FOLDER/.agnai
.
Exemples :
Linux : /home/sceuick/.agnai/
Mac : /Users/sceuick/.agnai
Windows : C:Userssceuick.agnai
.
anonymous-only
si aucune base de données n'est disponible.Anonymous
voient leurs données enregistrées dans le stockage local du navigateur. Vos données « persisteront », mais ne pourront pas être partagées entre appareils ou autres navigateurs. La suppression des données d'application/cookies de votre navigateur supprimera ces données.git clone https://github.com/agnaistic/agnai
ou téléchargez-lenpm run deps
pnpm v8
npm run build:all
npm run start
npm run start:win
npm run start:public
npm run start:public:win
docker compose -p agnai -f self-host.docker-compose.yml up -d
docker run -dt --restart=always -p 3001:3001 ghcr.io/agnaistic/agnaistic:latest
-dt
Exécuter le conteneur détaché--restart=always
Redémarrer au démarrage ou si le serveur plante-p 3001:3001
Expose le port 3001. Accédez à l'application à http://localhost:3001
Pour essayer de répondre aux petits ajustements et réglages dont les utilisateurs ont besoin pour leurs besoins spécifiques au niveau de l'application, nous avons settings.json
.
Vous pouvez créer un fichier appelé settings.json
au niveau racine pour appliquer certaines modifications à l'ensemble de l'application.
Si vous avez un besoin spécifique pour votre candidature, c'est ici qu'il faut demander à ce qu'il soit pris en charge.
Je vais essayer de trouver un équilibre entre répondre à ces demandes et ne pas les rendre incontrôlables dans la base de code.
Exemples de demandes adaptées à cela :
Vous pouvez copier ou consulter template.settings.json
pour un exemple de tous les paramètres disponibles. Vous devrez redémarrer Agnai pour que les modifications prennent effet.
Paramètres personnalisés actuellement pris en charge :
baseEndTokens
: ajoutez des jetons de fin de réponse supplémentaires à l'ensemble de base. Je recommande fortement d'utiliser VSCode avec les extensions suivantes :
Prettier - Code formatter
: Pour le formatage automatiqueTailwind CSS Intellisense
: Pour la complétion automatique et l'intellisense avec les classes CSS Tailwind"editor.formatOnSave": true
à votre VSCode settings.json
pour formater automatiquement avec Prettier Lors de l'utilisation pnpm start
, le serveur Node.JS est exécuté en utilisant --inspect
. Cela signifie que vous pouvez utiliser différents clients Inspector pour le débogage.
Les parties importantes de la pile sont :
# Install dependencies - Always run this after pulling changes
> npm run deps
# Run MongoDB using Docker
> npm run up
# Start the frontend, backend, and python service
# Mac/Linux
> npm start
# Windows
> npm run start:win
# Install and run Pipeline API
# If required, this will update the dependencies before running the API
> npm run model # Install poetry into a virtual environment
# Run everything with a single command:
> npm run start:all # Linux and OSX
> npm run start:all:win # Windows
À ce stade, vous devriez pouvoir accéder à http://localhost:3001 dans votre navigateur pour voir l'interface utilisateur.
Vous pouvez également essayer d'accéder au frontend avec un rechargement à chaud sur http://localhost:1234
pnpm start
lance l'API NodeJS à l'aide de l'indicateur --inspect
F5
)chrome://inspect
pour utiliser le débogueurPoetry
- https://python-poetry.org/docs/cli.model/bin/poetry [...args]
Le projet utilise ESLint pour le peluchage, Prettier pour appliquer le style de code et TypeScript pour vérifier les erreurs de type. Lors de l'ouverture d'un PR, assurez-vous de ne pas introduire de nouvelles erreurs dans aucune de ces vérifications en exécutant :
# auto-fixes any style problems
$ pnpm run format:fix
# runs the TypeScript compiler so any type errors will be shown
$ pnpm run typecheck
Ce projet est testé avec BrowserStack.