• Python 43.2%
  • JavaScript 30.6%
  • CSS 13.1%
  • HTML 13%
Find a file
2026-08-10 11:55:31 +00:00
apps remove api key 2026-08-09 12:54:21 -03:00
core cc 2026-08-09 22:19:33 -03:00
data patterns for download image 2026-08-03 19:19:48 -03:00
routes updates 2026-08-09 21:44:42 -03:00
scripts updates 2026-08-09 21:44:42 -03:00
services updates 2026-08-09 21:44:42 -03:00
static max session time 2026-08-08 22:50:24 -03:00
templates Atualizar templates/services/search.html 2026-08-10 11:55:31 +00:00
.gitignore ignore venvs 2026-08-06 21:47:22 -03:00
app.py max session time 2026-08-08 22:50:24 -03:00
Dockerfile install netcat-openbsd & config aliases 2026-07-30 20:18:41 -03:00
gunicorn.conf.py web sh 2026-07-17 21:43:59 -03:00
README.md fixed db name 2026-08-09 12:54:25 -03:00
requirements.txt project dependings 2026-08-08 20:47:32 -03:00
ROADMAP.md updates 2026-08-09 21:44:42 -03:00
robots.txt remove user pfp 2026-08-02 13:17:46 -03:00

🧠 Lucy — Sua Companheira de IA

"Ela não é só IA, ela é como você." 💜

Lucy é uma assistente pessoal inteligente com personalidade, memória emocional, um cérebro neural próprio e um conjunto de ferramentas úteis — tudo acessível via chat web, Discord, API compatível com OpenAI, e mais.


O que a Lucy faz?

💬 Chat com Personalidade

A Lucy não é um LLM genérico — ela tem emoções, energia, humor e um sistema de neurotransmissores (dopamina, serotonina, cortisol...) que influenciam como ela responde. Ela lembra de você, conta piadas, sugere receitas, e pode se conectar ao Ollama para respostas via modelo local.

☁️ Lucy Cloud (Gerenciador de Arquivos)

Upload, download, compartilhamento e organização de arquivos em diretórios. Suporte a pastas, arquivos públicos/unlisted, editor de texto online, e integração com o sistema de downloads.

📝 Notas

Sistema completo de notas com CRUD, tags, cores, arquivamento, compartilhamento e lixeira.

🔬 Modo Detetive (Investigator)

Ferramenta de investigação visual com mapas mentais, cartas, conexões, fontes e exportação. Ideal para organizar ideias complexas.

🎵 Downloads de Mídia

Baixe vídeos e áudios do YouTube, Instagram, Facebook, Twitter/X, TikTok, Vimeo e outras plataformas via yt-dlp + worker remoto com cache inteligente.

🌤️ Clima e Previsão do Tempo

Previsão do tempo local (por IP) ou de qualquer cidade, com dados da Open-Meteo.

🔍 Busca na Web

Pesquisa no DuckDuckGo e Wikipedia com respostas traduzidas.

🗣️ Voz

Conversa contínua com reconhecimento de voz (SpeechRecognition) e texto-para-voz (gTTS/pyttsx3).

🤖 Bot do Discord

Bot completo para Discord com login seguro (mensagens apagadas), sessão por usuário, status emocional visível e comandos /login, /logout, /status.

📧 Email

Servidor de email interno via sendmail + socket server.

🔌 API OpenAI/Ollama-compatível

API compatível com OpenAI SDK (/v1/chat/completions, /v1/models, /v1/embeddings) e Ollama (/api/tags, /api/chat, /api/generate). Use com qualquer cliente OpenAI ou LiteLLM.

🧠 Cérebro Neural Próprio

Modelo scikit-learn (MLPClassifier + TF-IDF) para classificação de intenções e aprendizado por feedback, treinado a partir dos padrões de data/patterns.json.

💾 Memória Sobre Você

A Lucy entende o que você conta sobre si no chat ("eu moro em São Paulo", "gosto de programar em Python"...), guarda em Informações Salvas (tabela user_info) e responde perguntas sobre você ("qual é minha comida favorita?", "o que você sabe sobre mim?"). Você pode ver, adicionar ou apagar tudo na aba Dados das configurações.

💭 Pensamentos por Templates

O sistema de pensamentos usa templates pré-configuradas por tipo de resposta e sentimento — data/thoughts/<tipo>/<sentimento>.json (34 tipos × 7 sentimentos, +2500 pensamentos). Sem repetição dos últimos pensamentos usados e geração idempotente via scripts/build_thoughts.py.


🏗️ Estrutura do Código

lucy/
├── app.py                  # 🚀 Ponto de entrada Flask
├── requirements.txt        # 📦 Dependências Python
├── Dockerfile              # 🐳 Imagem Docker (Debian + Gunicorn)
├── gunicorn.conf.py        # ⚙️ Configuração do Gunicorn
├── robots.txt              # 🤖 Regras para crawlers
├── ROADMAP.md              # 🗺️ Roadmap do projeto
│
├── core/                   # 🧠 Cérebro da Lucy
│   ├── core.py             # LucyBrain — classe principal
│   ├── neural.py           # Sistema neural (scikit-learn)
│   ├── energy.py           # Sistema emocional/energético
│   ├── think.py            # Sistema de pensamentos (templates)
│   ├── personal.py         # Memória pessoal do usuário (user_info)
│   ├── context.py          # Contexto de conversa por usuário
│   ├── actions.py          # Mapeamento de ações de UI
│   ├── codegen.py          # Geração de código
│   ├── news.py             # Sistema de notícias (RSS)
│   ├── recipes.py          # Gerenciador de receitas
│   ├── translate.py        # Tradução de texto
│   ├── math_calc.py        # Cálculos matemáticos
│   ├── finance.py          # Finanças e cotações (yfinance)
│   ├── geography.py        # Geografia e clima
│   ├── proxy_pool.py       # Pool de workers de download
│   └── __init__.py         # Exporta LucyBrain, Think, NewsSystem, RecipeManager
│
├── scripts/                # 🛠️ Scripts de manutenção
│   ├── build_thoughts.py   #   Gera/valida data/thoughts/ (idempotente)
│   ├── tests/run.py        #   Console de teste do cérebro (deps reais + mocks)
│   └── db/                 #   Utilitários do banco
│
├── routes/                 # 🌐 Rotas HTTP
│   ├── __init__.py         # Registro central de rotas
│   ├── pages.py            # Páginas HTML (UI)
│   ├── api.py              # API principal (auth, chat, usuário)
│   ├── admin.py            # Painel administrativo
│   ├── cloud.py            # API do Cloud (arquivos)
│   ├── code.py             # Execução de código (terminal)
│   ├── notes.py            # API de notas
│   ├── ollama.py           # API compatível OpenAI/Ollama
│   ├── ollama_helpers.py   # Helpers para modo Ollama
│   ├── actions.py          # Rotas de ações do chat
│   ├── yt.py               # Rotas de download YouTube
│   ├── realtime.py         # WebSockets em tempo real
│   ├── journal.py          # Diário pessoal
│   ├── search.py           # Busca na web (DuckDuckGo/Wikipedia)
│   ├── users.py            # Rotas de usuário
│   ├── ops.py              # Operações diversas
│   ├── misc.py             # Rotas diversas
│   └── shared.py           # Estado compartilhado entre rotas
│
├── services/               # ⚙️ Serviços da aplicação
│   ├── database.py         # 🌐 PostgreSQL (usuários, arquivos, etc.)
│   ├── auth.py             # 🔐 Autenticação (login, JWT, bcrypt)
│   ├── security.py         # 🛡️ SECRET_KEY, IP real, rate limiting
│   ├── cloud.py            # ☁️ Sistema de arquivos em nuvem
│   ├── notes.py            # 📝 Sistema de notas (PostgreSQL)
│   ├── api_keys.py         # 🔑 Gerenciamento de API keys
│   ├── mail.py             # 📧 Envio de email (sendmail)
│   ├── request_queue.py    # 📊 Fila de requisições (admin)
│   ├── system_settings.py  # ⚙️ Configurações do sistema
│   ├── realtime.py         # 🔄 Hub de presença online
│   ├── system_health.py    # ❤️‍🩹 Health check do sistema
│   ├── db_backup.py        # 💾 Backup do banco de dados
│   ├── admin_backup.py     # 💾 Backup administrativo
│   ├── recipe_requests.py  # 🍽️ Solicitações de receitas
│   └── logs.py             # 📋 Sistema de logs
│
├── apps/                   # 📱 Aplicações auxiliares
│   ├── chat.py             # Cliente de chat via terminal (OpenAI SDK)
│   ├── discord_bot.py      # 🤖 Bot do Discord completo
│   ├── mail_server.py      # 📧 Servidor de email socket
│   └── proxy.py            # 🎬 Cliente de download (yt-dlp + cache)
│
├── templates/              # 🎨 Templates HTML (Jinja2)
│   ├── index.html          # Página principal do chat
│   ├── services/           # Páginas de serviço
│   │   ├── chat.html       #   Conversa contínua (voz)
│   │   ├── cloud.html      #   Cloud de arquivos
│   │   ├── notes.html      #   Notas
│   │   ├── editor.html     #   Editor de texto
│   │   ├── code.html       #   Execução de código
│   │   ├── bash.html       #   Terminal
│   │   ├── download.html   #   Downloads
│   │   ├── speak.html      #   Texto-para-voz
│   │   ├── search.html     #   Busca na web
│   │   ├── oracle.html     #   Oráculo
│   │   ├── view.html       #   Visualização de arquivos
│   │   └── investigator.html # Modo Detetive
│   ├── web/                # Páginas web
│   │   ├── login.html      #   Login
│   │   ├── register.html   #   Registro
│   │   ├── panel.html      #   Painel do usuário
│   │   └── journal.html    #   Diário
│   ├── security/           # Páginas de segurança
│   │   ├── api_keys.html   #   API Keys
│   │   ├── reset_password.html
│   │   └── activation_result.html
│   ├── errors/             # Páginas de erro
│   │   ├── 403.html, 404.html, 500.html, 502.html
│   │   └── maintenance.html
│   └── policy/             # Páginas legais
│       ├── terms.html      #   Termos de uso
│       └── privacy.html    #   Privacidade
│
├── static/                 # 🎯 Arquivos estáticos
│   ├── css/                #   Folhas de estilo
│   ├── js/                 #   JavaScript (48 arquivos)
│   │   ├── index/          #     Lógica do chat principal
│   │   ├── chat/           #     Conversa contínua
│   │   ├── investigator/   #     Modo Detetive (13 arquivos)
│   │   └── ...             #     Demais features
│   └── favicon.ico         #   Ícone
│
├── data/                   # 📁 Dados carregados em memória
│   ├── lore.json           #   Lore da Lucy
│   ├── emotions_map.json   #   Mapa de emoções
│   ├── responses.json      #   Respostas pré-definidas
│   ├── thoughts/           #   Templates de pensamentos (tipo × sentimento)
│   ├── patterns.json       #   Padrões de funções (treinam o modelo neural)
│   ├── recipes.json        #   Receitas culinárias
│   ├── jokes.json          #   Piadas
│   ├── cards.json          #   Cartas (investigador)
│   ├── names.json          #   Nomes
│   ├── news.json           #   Fontes de notícias RSS
│   ├── social.json         #   Perfis sociais
│   ├── spelling.json       #   Correção ortográfica
│   ├── story_templates.json #  Templates de histórias
│   ├── investigation_templates.json
│   ├── conversation_context.json  # Contexto de conversa persistido
│   ├── web.json            #   Configurações web
│   ├── food_keywords.json  #   Keywords culinárias
│   └── models/             #   Modelo neural (joblib) + estado emocional (JSON)
└── uploads/                # 📤 Arquivos enviados (cloud)

🔧 Como Rodar

Desenvolvimento

pip install -r requirements.txt
export SECRET_KEY="sua-chave-segura-aqui-com-16+caracteres"
export PGHOST=localhost PGUSER=lucy_user PGPASSWORD=... PGDATABASE=lucy_ia
python app.py

Produção (Docker)

docker build -t lucy .
docker run -e SECRET_KEY="..." -e PGHOST=... -p 2048:2048 lucy

Variáveis de Ambiente Importantes

Variável Descrição Padrão
SECRET_KEY Chave secreta (obrigatória, mín. 16 chars)
PGHOST Host do PostgreSQL localhost
PGDATABASE Nome do banco lucy_ia
PGUSER Usuário do banco lucy_user
PGPASSWORD Senha do banco
OLLAMA_MODEL Modelo Ollama padrão lucy:latest
PORT Porta HTTP 2048
WEB_CONCURRENCY Workers Gunicorn 1
GUNICORN_THREADS Threads por worker 8
DISCORD_BOT_TOKEN Token do bot Discord
DEV_TOKEN Token de desenvolvimento
DISABLE_DOWNLOAD_PROXY Desabilita proxy de download 0

🧪 API

Lucy expõe uma API compatível com OpenAI em /v1/:

from openai import OpenAI
client = OpenAI(base_url="https://chat.opentty.fun/v1", api_key="sua_api_key")
response = client.chat.completions.create(
    model="lucy:latest",
    messages=[{"role": "user", "content": "Olá!"}]
)

Também suporta endpoints estilo Ollama em /api/ e endpoints próprios em /api/ (auth, chat, notas, cloud, admin).


🗺️ Roadmap

O roadmap completo está em ROADMAP.md, organizado em fases:

  • Fase 0 🔐 Fundação sólida (segurança, rate limit, hash de senha)
  • Fase 1 💜 Lucy com alma (personalidade, lore, relação, memória)
  • Fase 2 📚 Produtividade e estudo (lembretes, planos, flashcards)
  • Fase 3 🎨 Criatividade e mídia (imagens, música, estúdio)
  • Fase 4 🔌 APIs e plataforma (SDK, webhooks, docs)
  • Fase 5 🔬 Laboratórios avançados (sandbox, modos especiais)
  • Fase 6 Acessibilidade, UX e compliance

🛡️ Segurança

  • SECRET_KEY obrigatória — a aplicação se recusa a iniciar sem uma chave forte
  • Senhas com bcrypt
  • Rate limiting por IP em auth, chat, upload e API
  • Cookies de sessão com HttpOnly, SameSite=Lax, Secure
  • Login do Discord com mensagens apagadas e resposta em DM
  • API keys com permissões específicas (chat, files, notes, etc.)
  • Isolamento multi-tenant em cloud e notas

🤝 Como Contribuir

  1. Fork o projeto
  2. Crie uma branch (git checkout -b feature/minha-feature)
  3. Commit suas mudanças (git commit -m 'feat: adiciona minha feature')
  4. Push (git push origin feature/minha-feature)
  5. Abra um Pull Request

📄 Licença

Projeto privado. © Todos os direitos reservados.