Lisa — Executar Localmente

Passos para executar a Lisa em ambiente local para desenvolvimento e testes.

Pré-requisitos: Docker instalado, Python 3.x, acesso ao copilot-lisa-flow.


1. Clonar o repositório

git clone https://bitbucket.org/ciandt_it/copilot-lisa-flow
cd copilot-lisa-flow

2. Subir o MongoDB

docker run --name mongodb -d -p 27017:27017 mongo

Verificar se o usuário copilot já existe:

docker exec mongodb mongosh admin --eval "db.getUser('copilot')" --quiet

Se retornar null, criar o usuário:

docker exec mongodb mongosh admin --eval "
  db.createUser({
    user: 'copilot',
    pwd: 'copilot',
    roles: [{ role: 'readWrite', db: 'copilot' }]
  })"

3. Configurar variáveis de ambiente

export GOOGLE_PROJECT_ID="ciandt-com-growthopt-latam"
export MONGODB_URL="mongodb://localhost:27017"
export MONGODB_DATABASE="copilot"

Para o simulador de WhatsApp funcionar:

export CHAT_CLIENT_LOG_ONLY=false
export FACEBOOK_GRAPH_API_URL=http://localhost:9092/simulator/

4. Subir a aplicação

copilot-server-local

5. Executar o Agents Report

Em outro terminal:

copilot-agents-report

6. Subir a aplicação de criação de débito

Em outro terminal (com as variáveis de ambiente configuradas):

bin/copilot-lisa-local

7. Criar um débito via API

curl --request POST \
  --url http://localhost:8088/v1/debts \
  --header 'Authorization: Basic c2VydmljZTplWUJiOXh4dGN5' \
  --header 'Content-Type: application/json' \
  --data '{
  "debt_id": "debt-1237",
  "personal_document": "<CPF>",
  "user_identifier": "<TELEFONE>",
  "customer_name": "Flavio",
  "debt_type": "Cartão de Crédito",
  "original_value": 1100.00,
  "current_value": 1300.00,
  "overdue_since": "2026-03-01",
  "send_notification_to_user": false
}'

Após criar o débito, abra o simulador: http://localhost:9092/whatsapp-simulator

Simulador WhatsApp Lisa

Comandos auxiliares

Limpar histórico do usuário

curl --request DELETE \
  --url http://localhost:8080/v1/messages/<telefone>/lisa/clear \
  --header 'Authorization: Basic c2VydmljZTplWUJiOXh4dGN5'

Consultar débitos

curl --request GET \
  --url http://localhost:8088/v1/debts \
  --header 'Authorization: Basic c2VydmljZTplWUJiOXh4dGN5'

Marcar débito como pago

curl --request POST \
  --url http://localhost:8088/v1/debts/<id-debito>/paid \
  --header 'Authorization: Basic c2VydmljZTplWUJiOXh4dGN5'