81 lines
2.2 KiB
Markdown
Executable File
81 lines
2.2 KiB
Markdown
Executable File
# Mônica - Agente de IA Companheira
|
|
|
|
Sistema de agente de IA via Telegram que se comporta como uma companheira pessoal, conversando, cooperando e mantendo contexto contínuo com o usuário.
|
|
|
|
## Estrutura
|
|
|
|
```
|
|
app/
|
|
├── monica_agent.py # Código principal do agente
|
|
├── iniciar.sh # Script de instalação e execução
|
|
├── requirements.txt # Dependências Python
|
|
├── .env # Configurações locais (não comitar)
|
|
├── .env.example # Exemplo de configuração
|
|
├── user_profile.json # Perfil do usuário
|
|
├── contexts/ # Históricos de conversa por data
|
|
│ └── YYYY-MM-DD.json
|
|
├── README.md
|
|
└── LICENSE
|
|
```
|
|
|
|
## Pré-requisitos
|
|
|
|
- Python 3.9+
|
|
- Conta no Telegram com bot criado via @BotFather
|
|
- Pelo menos uma chave de API de IA suportada
|
|
|
|
## Configuração
|
|
|
|
1. Copie `.env.example` para `.env` e preencha:
|
|
- `TELEGRAM_BOT_TOKEN` — token do bot do Telegram
|
|
- `TELEGRAM_CHAT_ID` — seu chat ID no Telegram
|
|
- `OPENROUTER_API_KEY` ou outra chave de API compatível
|
|
|
|
2. Ajuste intervalos se desejar:
|
|
- `MIN_INTERVAL_MINUTES`
|
|
- `MAX_INTERVAL_MINUTES`
|
|
|
|
## Instalação e execução
|
|
|
|
```bash
|
|
cd app
|
|
chmod +x iniciar.sh
|
|
./iniciar.sh
|
|
```
|
|
|
|
O script cria o ambiente virtual, instala dependências e inicia o agente.
|
|
|
|
## Funcionalidades
|
|
|
|
- Onboarding inicial com perguntas para construir o perfil
|
|
- Histórico de conversa por dia em `contexts/`
|
|
- Perfil do usuário persistido em `user_profile.json`
|
|
- Mensagens proativas em intervalos aleatórios configuráveis
|
|
- Suporte a múltiplos provedores de IA:
|
|
- OpenRouter
|
|
- StepFun
|
|
- QwenCloud
|
|
- llama.cpp (local)
|
|
- Atualização dinâmica do perfil via comandos naturais no chat
|
|
|
|
## Comandos disponíveis
|
|
|
|
- `/start` — inicia ou reinicia a conversa
|
|
- `/ajuda` ou `/help` — exibe ajuda
|
|
- `/perfil` — mostra o perfil atual
|
|
- `/reset` — reseta o perfil
|
|
- `/onboarding` — reinicia o onboarding
|
|
|
|
## Atualizando o perfil durante a conversa
|
|
|
|
Você pode atualizar seu perfil a qualquer momento usando frases como:
|
|
|
|
- `Inclua isso no meu profile: ...`
|
|
- `Anote no meu perfil: ...`
|
|
- `Adicione no meu perfil: ...`
|
|
- `Salve no meu perfil: ...`
|
|
|
|
## Licença
|
|
|
|
Uso proprietário. Veja o arquivo `LICENSE`.
|