Files
PsAgentAI/DEPLOY.md
T
marcocosta10000 6b3b6541a7 feat: add psagentai agent with deployment and configuration
Initial project setup including the main agent script, configuration
files, profile JSON state, systemd service unit, startup script,
deployment documentation, and Python dependencies.

Includes .env, venv/, and __pycache__/ which should likely be
excluded via .gitignore to avoid committing secrets and artifacts.
2026-10-25 17:05:13 -03:00

5.2 KiB

PsAgentAI - Deploy em Servidor

Deploy como serviço systemd em Debian/Ubuntu para funcionar 24/7 em VPS.


Pré-requisitos no servidor

sudo apt update
sudo apt install -y python3 python3-venv python3-pip git

Habilite o journal se quiser logs persistentes (opcional):

sudo apt install -y systemd-journal-remote

1) Copie o projeto para o servidor

Use git ou scp/rsync. Exemplo com git:

cd /opt
sudo git clone <URL_DO_REPOSITORIO> psagentai
sudo chown -R $USER:$USER /opt/psagentai
cd /opt/psagentai/app

Ajuste o caminho no serviço systemd para o diretório real:

nano psagentai.service
# altere /home/marco/PsAgentAI/app para /opt/psagentai/app

O serviço usa User=marco por padrão. Crie o usuário se não existir:

sudo useradd -m -s /bin/bash marco || true
sudo usermod -aG sudo marco

Ou edite User= no .service para o usuário existente do seu VPS.


2) Configure o .env

cp .env.example .env   # se existir exemplo
nano .env

Preencha obrigatoriamente:

  • TELEGRAM_BOT_TOKEN
  • TELEGRAM_CHAT_ID
  • AI_PROVIDER (openrouter, stepfun, qwencloud ou llamacpp)
  • DEFAULT_MODEL
  • pelo menos a chave de IA correspondente ao provider escolhido

Ajuste opcionalmente:

  • MIN_INTERVAL_MINUTES / MAX_INTERVAL_MINUTES
  • MIN_MESSAGE_LINES

Importante: no Telegram, envie /start uma vez para o bot antes de ligar o serviço, caso contrário ele não conseguirá enviar mensagens iniciantes.


3) Instale as dependências

chmod +x iniciar.sh
./iniciar.sh

Esse script cria o venv, instala dependências e valida as variáveis do .env.


4) Instale o serviço systemd

# caminho absoluto no seu servidor
sudo nano /etc/systemd/system/psagentai.service

Conteúdo mínimo:

[Unit]
Description=PsAgentAI
After=network.target

[Service]
Type=simple
User=marco
WorkingDirectory=/opt/psagentai/app
Environment="PATH=/opt/psagentai/app/venv/bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=/opt/psagentai/app/venv/bin/python3 /opt/psagentai/app/psagentai_agent.py
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Ative e inicie:

sudo systemctl daemon-reload
sudo systemctl enable psagentai
sudo systemctl start psagentai

5) Comandos úteis

# status
sudo systemctl status psagentai

# logs em tempo real
sudo journalctl -u psagentai -f

# reiniciar após atualização
sudo systemctl restart psagentai

# parar
sudo systemctl stop psagentai

6) Atualizações futuras

cd /opt/psagentai/app
git pull
./iniciar.sh
sudo systemctl restart psagentai

7) Múltiplos usuários / VPSs

Cada instância do sistema é independente por chat ID do Telegram.

Para cada novo usuário/VPS:

  1. Crie o bot via @BotFather (/newbot) e pegue o token.
  2. Copie o projeto em um diretório separado, por exemplo /opt/psagentai-user2.
  3. Crie um .env próprio com TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID e suas chaves de IA.
  4. Instale dependências com ./iniciar.sh.
  5. Crie um serviço systemd separado, ex: psagentai-user2.service, apontando para esse diretório.
  6. Habilite e inicie.

Nomes recomendados para evitar conflito:

  • /opt/psagentai-user1/, /opt/psagentai-user2/
  • psagentai-user1.service, psagentai-user2.service

8) Variáveis do .env

Variável Obrigatória Descrição
AI_PROVIDER não Provider preferencial: openrouter, stepfun, qwencloud ou llamacpp
TELEGRAM_BOT_TOKEN sim Token do bot do Telegram
TELEGRAM_CHAT_ID sim Chat ID do usuário
DEFAULT_MODEL sim Modelo de IA padrão
OPENROUTER_API_KEY 1 das chaves Chave OpenRouter
STEPFUN_API_KEY 1 das chaves Chave StepFun
QWENCLOUD_API_KEY 1 das chaves Chave QwenCloud
MIN_INTERVAL_MINUTES não Intervalo mínimo para mensagens proativas
MAX_INTERVAL_MINUTES não Intervalo máximo para mensagens proativas
MIN_MESSAGE_LINES não Mínimo de linhas por mensagem do agente
AUTO_ENRICH_EVERY não Enriquece perfil a cada N mensagens
AUTO_IMPROVE_EVERY não Melhoria automática a cada N mensagens
UPLOAD_CONTEXT_MAX_CHARS não Limite de caracteres do upload enviado para a IA (0 = sem limite)

Comandos úteis via Telegram

  • /veria — mostra o provider e o modelo de IA atuais
  • /configia — configura interativamente o provider e o modelo de IA

9) Backups importantes

Faça backup regular dos arquivos de dados dentro de /app:

  • user_profile.json
  • agent_profile.json
  • system_improvements.json
  • uploads_metadata.json
  • pasta contexts/
  • pasta uploadsfiles/

Exemplo simples de backup diário:

tar czf /root/backups/psagentai-$(date +%F).tar.gz -C /opt/psagentai/app user_profile.json agent_profile.json system_improvements.json uploads_metadata.json contexts uploadsfiles

10) Segurança

  • Nunca comite o .env no repositório.
  • Restrinja permissões: chmod 600 .env.
  • Use um usuário exclusivo para cada instância do serviço.
  • Para maior isolamento, execute cada instância em um container Docker separado ou em VMs distintas.