AI Roleplay Chat com personagens personalizados usando seus serviços de IA favoritos.
Versão ao vivo | Discórdia
Visite a versão ao vivo em Agnai.chat.
Baseado no trabalho inicial de Galatea-UI da PygmalionAI.
Importante! MongoDB e Redis são opcionais! O Agnaistic será executado no modo "Somente Convidado" se o MongoDB não estiver disponível.
Agnaistic é publicado como um pacote NPM e pode ser instalado globalmente:
# Install or update:
npm install agnai -g
agnai
# View launch options:
agnai help
# Run with the Pipeline features
agnai --pipeline
Ao usar o pacote NPM, suas imagens e arquivos JSON serão armazenados em: HOME_FOLDER/.agnai
.
Exemplos:
Linux: /home/sceuick/.agnai/
Mac: /Users/sceuick/.agnai
Windows: C:Userssceuick.agnai
.
anonymous-only
se não houver banco de dados disponível.Anonymous
têm seus dados salvos no armazenamento local do navegador. Seus dados “persistirão”, mas não poderão ser compartilhados entre dispositivos ou outros navegadores. Limpar os dados/cookies do aplicativo do seu navegador excluirá esses dados.git clone https://github.com/agnaistic/agnai
ou baixe-onpm 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
Execute o contêiner desanexado--restart=always
Reinicia na inicialização ou se o servidor travar-p 3001:3001
Exponha a porta 3001. Acesse o aplicativo em http://localhost:3001
Para tentar atender aos pequenos ajustes e ajustes que as pessoas precisam para suas necessidades específicas no nível do aplicativo, temos settings.json
.
Você pode criar um arquivo chamado settings.json
no nível raiz para aplicar algumas alterações em todo o aplicativo.
Se você tiver uma necessidade específica para sua aplicação, este é o lugar para solicitar que ela seja atendida.
Tentarei encontrar um equilíbrio entre atender a essas solicitações e não deixá-las fora de controle na base de código.
Exemplos de solicitações adequadas para isso:
Você pode copiar ou consultar template.settings.json
para obter um exemplo de todas as configurações disponíveis. Você precisará reiniciar o Agnai para que as alterações tenham efeito.
Configurações personalizadas atualmente suportadas:
baseEndTokens
: Adicione tokens de final de resposta extras ao conjunto base. Eu recomendo usar o VSCode com as seguintes extensões:
Prettier - Code formatter
: para formatação automáticaTailwind CSS Intellisense
: para preenchimento automático e intellisense com classes Tailwind CSS"editor.formatOnSave": true
ao seu VSCode settings.json
para formatar automaticamente com Prettier Ao usar pnpm start
, o servidor Node.JS é executado usando --inspect
. Isso significa que você pode usar vários Inspector Clients para depuração.
As partes importantes da pilha são:
# 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
Neste ponto, você poderá acessar http://localhost:3001 em seu navegador para ver a IU.
Você também pode tentar acessar o frontend com hot reloading em http://localhost:1234
pnpm start
inicia a API NodeJS usando o sinalizador --inspect
F5
)chrome://inspect
para usar o depuradorPoetry
- https://python-poetry.org/docs/cli.model/bin/poetry [...args]
O projeto usa ESLint para linting, Prettier para impor o estilo de código e TypeScript para verificar erros de tipo. Ao abrir um PR, certifique-se de não introduzir novos erros em nenhuma dessas verificações executando:
# auto-fixes any style problems
$ pnpm run format:fix
# runs the TypeScript compiler so any type errors will be shown
$ pnpm run typecheck
Este projeto foi testado com BrowserStack.