First Commit
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user