# 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`.