Assistente de Configuração
bun run setup é o caminho de hospedagem própria (self-hosting) recomendado para instalações locais baseadas no Bun. Ele cria seu .env, gera um CRYPTO_SECRET, pede o token do seu bot do Discord, configura o PostgreSQL e instala as dependências exatas do bun.lock interativamente, então apenas siga os comandos. É seguro
executar novamente; os valores do .env existentes são mantidos, a menos que você escolha reconfigurá-los.
Obter o código
Seção intitulada “Obter o código”git clone https://github.com/Bredrumb/TomoriBot.gitcd TomoriBotEscolha um caminho
Seção intitulada “Escolha um caminho”Depois de executar o comando, você escolherá um de dois caminhos:
bun run setup| Caminho | Usar Quando | O Que Ele Faz |
|---|---|---|
| Full Install | Você deseja a configuração recomendada com extras leves. | Executa Base Install e depois tenta os quatro extras abaixo. |
| Base Install | Você deseja apenas o bot funcionando com o mínimo. | Cria/configura .env, token do Discord, PostgreSQL e dependências. |
O que ter pronto
Seção intitulada “O que ter pronto”- Bun para rodar o bot e o próprio assistente.
- Node.js v20+ (usado para ferramentas MCP).
- Um token de bot do Discord com as intents privilegiadas
GuildMembers,MessageContenteGuildPresenceshabilitadas. - Um banco de dados. O TomoriBot armazena tudo no PostgreSQL. Você não precisa configurá-lo manualmente pois o assistente faz isso por você: ele usará o PostgreSQL se você já o tiver instalado, ou executará um para você no Docker se não tiver. Apenas certifique-se de que um dos dois está instalado antes de começar.
Se o psql estiver ausente ou o provisionamento falhar, o assistente imprime o SQL para executar manualmente. De qualquer
forma, o TomoriBot inicializa seu esquema (schema), seeds, migrações, pgcrypto e o esquema RAG
automaticamente na primeira inicialização.
Extras da Full Install
Seção intitulada “Extras da Full Install”O Full Install executa o Base Install primeiro, depois tenta instalar os extras abaixo. Se algum falhar, ele imprime o comando ou guia para terminar manualmente e continua:
| Extra | Propósito |
|---|---|
pgvector | Busca vetorial para a memória pessoal/RAG. |
pg_cron | Limpeza opcional e agendada de linhas de tempo de recarga/lembretes. |
| Ativos de tokenizador | Ativos locais de tokenizador para bias logit com base no modelo. |
Para instalar qualquer um deles manualmente, veja os Extras da Instalação Manual.
Após a configuração
Seção intitulada “Após a configuração”bun run dev # apenas o botbun run launch --searxng --crawl4ai # bot + sidecars (veja bun run launch --help)Quando o bot estiver online, execute /setup no Discord para conectar um provedor de IA. Um espaço de trabalho (workspace) que não contém um provedor próprio não pode responder, a menos que ele rode no modo BYOK de Usuário (User BYOK) onde o provedor pessoal de cada membro responde em seu lugar, então este é o último passo de todos os caminhos de instalação.
O comando /setup
Seção intitulada “O comando /setup”O /setup abre um painel de checklist efêmero que apenas a pessoa que o executou pode operar. Em um servidor
isso exige Gerenciar Servidor (Manage Server); em uma DM (Mensagem Direta) ele está disponível para o próprio espaço de trabalho da pessoa. Cada linha no
painel é um valor em rascunho: Finish Setup (Finalizar Configuração) é o único controle que escreve alguma coisa, então abrir,
editar, cancelar ou reiniciar deixa todas as linhas do banco de dados intactas.
| Passo | Aparece | O que ele coleta |
|---|---|---|
| Policies (Políticas) | Apenas RUN_ENV=production | Aceitação dos Termos de Serviço e da Política de Privacidade, ambos em um modal. |
| AI Provider (Provedor de IA) | Todos os ambientes | Como as respostas chegam a um modelo. Um dos três modos de acesso abaixo. |
| Starting Settings (Configurações Iniciais) | Todos os ambientes | Persona inicial, estilo de resposta, fuso horário e a predefinição (preset) de prompt de sistema padrão do espaço de trabalho. |
Todo outro valor de RUN_ENV renderiza o layout de dois passos e nenhum texto de política. Uma implantação
rodando com RUN_ENV=production registra /legal terms-of-service e /legal privacy-policy
ao lado de /legal license; todo outro valor registra apenas /legal license.
Modos de acesso do provedor
Seção intitulada “Modos de acesso do provedor”- AI Provider (Recomendado): escolha um provedor do catálogo e cole sua chave de API. A chave é
validada contra o provedor e criptografada no rascunho; o painel mostra apenas que uma chave está
armazenada, nunca a própria chave. Execute
/help, depois Setup (Configuração) > Step 1: Get an API Key (Passo 1: Obter uma Chave de API) para o guia passo a passo por provedor. - Custom Endpoint (Avançado): uma subárea de dois botões para um endpoint de hospedagem própria ou proxy.
Configure Connection (Configurar Conexão) coleta a compatibilidade da API, um rótulo, a URL e um token
de autenticação opcional, e verifica se o endpoint responde. Configure Text Model (Configurar Modelo de Texto) coleta o código do modelo, o
tamanho de contexto e suas declarações de capacidade (capability declarations), e permanece desabilitado até que uma conexão seja validada.
Salvar a conexão novamente limpa a declaração do modelo, porque as declarações dependem da
compatibilidade da API escolhida. Este é o mesmo registro que
/providersrealiza, feito dentro do assistente, e ele não cria nenhuma linha antes de Finish Setup. - User BYOK (apenas servidores, nunca em uma DM): o espaço de trabalho não mantém nenhum provedor próprio e todas as
respostas ativadas por membros resolvem um provedor pessoal em seu lugar. Confirme isso no modal e, em seguida, peça para
os membros registrarem os seus com
/personal providers. Veja Server Moderation.
Configurações iniciais
Seção intitulada “Configurações iniciais”Um modal de quatro linhas coleta a persona, o estilo de resposta, o deslocamento do fuso horário (timezone) e o prompt de sistema padrão. O fuso horário é opcional e o padrão é UTC. O prompt de sistema oferece Built-in Default (Padrão Embutido, Recomendado) além de toda predefinição (preset) no catálogo do espaço de trabalho: a escolha embutida não armazena nenhum texto de prompt, então ela continua rastreando o padrão enviado de fábrica, e uma escolha de predefinição armazena o texto daquela predefinição conforme ele é lido no momento do commit. Excluir uma persona ou prompt armazenado do catálogo reabre o passo até que outro seja escolhido.
Finalizando e cancelando
Seção intitulada “Finalizando e cancelando”Finish Setup permanece desabilitado até que cada passo renderizado esteja completo. Ele revalida os catálogos e o estado do espaço de trabalho, faz o commit de todo o rascunho em uma única transação, e substitui o painel com o recibo. Cancel (Cancelar) descarta o rascunho e expira todo controle no painel.
Um rascunho vive no processo do bot, não no banco de dados, então ele termina apenas quando é cancelado,
concluído ou quando o processo é reiniciado. No máximo SETUP_DRAFT_MAX_ENTRIES (padrão 200) rascunhos são mantidos
ao mesmo tempo; o mais antigo é descartado no limite. Isso está documentado em .env.optional.example sob
Setup wizard drafts. Um controle para uma sessão que não está mais disponível não escreve nada.
Atualizando
Seção intitulada “Atualizando”Use o comando de atualização com backup primeiro: bun run update
Isso executa bun run backup, em seguida
git pull --rebase --autostash, depois bun install --frozen-lockfile. Adicione --build se você rodar a partir de dist/,
ou --docker para uma implantação Compose. Detalhes completos na
página Manutenção & Backups.