# Chat com IA — Flask + OpenRouter Sistema de chat com inteligência artificial via API OpenRouter.ai, desenvolvido em Python com Flask. ## Funcionalidades - Chat em tempo real com modelo de IA configurável (via OpenRouter.ai) - Comandos de chat (/help, /reset, /reiniciar, /encerrar) - Editor de perfis, contexto, configurações e proibições via comandos - Upload de imagens e arquivos (inline para imagens, link para download) - Seletor de emojis com 10 categorias, busca e recentes - Persistência de conversas por dia (diretório `historico/`) - Otimização automática de contexto via IA (/atualizar) - Backup e restauração de contexto (/restaurar_contexto) - Reset completo de fábrica (/reset) - Suporte multimodal (imagens enviadas como base64 para modelos com visão) - Interface dark mode responsiva - Compatível com Linux Debian 12 e Windows 10 ## Requisitos - Python 3.8+ - Pip ## Instalação e Uso ### Linux (Debian, Ubuntu, etc.) ```bash chmod +x iniciar.sh ./iniciar.sh ``` ### Windows 10 ```batch iniciar.bat ``` ### Manual (ambos) ```bash python3 -m venv venv # Linux python -m venv venv # Windows source venv/bin/activate # Linux venv\Scripts\activate.bat # Windows pip install -r requirements.txt python3 app.py # Linux python app.py # Windows ``` Acesse em **http://localhost:5001** ## Comandos | Comando | Descrição | |---------|-----------| | `/help` | Lista todos os comandos | | `/reset` | Restaura perfis, contexto, config e histórico ao padrão de fábrica | | `/reiniciar` | Limpa apenas o histórico da conversa | | `/encerrar` | Encerra o chat e desabilita o input | | `/stats` | Mostra estatísticas da conversa | | `/export` | Exporta a conversa em JSON | | `/edit_contexto` | Edita o arquivo `contexto.json` | | `/edit_perfil_ia` | Edita o arquivo `perfil_ia.json` | | `/edit_perfil_user` | Edita o arquivo `perfil_user.json` | | `/edit_model_ia` | Edita a configuração do modelo (`config.json`) | | `/edit_key_provider` | Edita a chave da API (`config.json`) | | `/edit_proibidos` | Edita a lista de tópicos e comportamentos proibidos | | `/atualizar` | IA analisa perfis, contexto e histórico e otimiza o `contexto.json` | | `/restaurar_contexto` | Restaura o `contexto.json` do último backup | | `/clear` | Limpa o histórico (usado pelo botão Apagar) | ## Arquivos do Sistema | Arquivo | Função | |---------|--------| | `app.py` | Rotas Flask, lógica principal, API OpenRouter | | `templates/chat.html` | Interface do usuário (HTML/CSS/JS) | | `config.json` | Modelo e chave da API | | `contexto.json` | Contexto de comportamento da IA | | `perfil_ia.json` | Perfil e personalidade da IA | | `perfil_user.json` | Perfil do usuário | | `proibidos.json` | Tópicos, comportamentos e palavras proibidos | | `.env` | Chave da API (fallback se `config.json` estiver vazio) | | `iniciar.sh` | Script de inicialização para Linux | | `iniciar.bat` | Script de inicialização para Windows | | `LICENSE` | GNU GPL v3 | | `README.md` | Este arquivo | | `RULES.md` | Regras para IA e desenvolvedores | | `historico/` | Conversas diárias persistidas (não commitado) | | `backups/` | Backups automáticos do contexto (gerado pelo /atualizar) | | `uploads/` | Arquivos enviados pelo usuário (não commitado) | ## Configuração Edite o arquivo `config.json` para alterar: - `modelo`: modelo da IA no OpenRouter (ex: `gryphe/mythomax-l2-13b`) - `api_key`: chave de API do OpenRouter (vazio = usa `.env`) Os arquivos de perfil, contexto e proibições também podem ser editados via comandos no próprio chat (modais com textarea). ## Licença Proprietária — Todos os direitos reservados. SysPanel.com.br — contato@syspanel.com.br