mille-okws/pestinha

★ 225⑂ 68

Pestinha é um pet virtual de desktop para Windows, com rede neural pulsada, emoções e personalidade que evolui com o usuário.

About mille-okws/pestinha

mille-okws/pestinha is an open-source project on GitHub, mainly written in Python. Pestinha é um pet virtual de desktop para Windows, com rede neural pulsada, emoções e personalidade que evolui com o usuário. It currently holds 225 stars and 68 forks with 2 open issues, and was last pushed on 2026-11-03 (repository created 2026-11-01).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #83 with 0 new stars today.

GitHub Repository Details

Repository mille-okws/pestinha · default branch main · size 67786 KB · watchers 4 · source: GitHub REST API and repository README

README

Pestinha

Pets de tela para Windows, macOS e Linux, cada um com o próprio cérebro. São dois personagens por enquanto:

barras de título das janelas, brinca com uma bolinha, trabalha num notebook quando você programa, apronta com memes e post-its, protesta contra o cursor quando fica bravo e aprende com o seu carinho. quem está na frente do computador. Jorge não é uma referência a nenhum coach, empresa ou pessoa real. É um personagem inventado para fazer piada com a cultura de promessas de enriquecimento rápido. Não vende, cobra nem pede nada de ninguém.

Os dois têm a mesma rede neural, mas cada um tem seu temperamento, seu conteúdo e sua memória, separados. Quem decide o que o pet sente e faz é uma rede neural pulsada de 470 neurônios (integração e disparo com vazamento), alimentada pelo que acontece no seu computador e pelo que você faz com ele. Algumas regras do programa (limiares, o que pode ou não acontecer) são escritas à mão; a seção Como a decisão funciona explica o que é aprendido e o que é regra.

Projeto em desenvolvimento. Algumas coisas podem não funcionar direito e o comportamento pode
mudar entre versões.

Personagens

Cada personagem é um pets/.json (quem ele é) mais uma pasta pets// (as frases, cartazes e memes dele). Todos usam a mesma rede neural, mas cada um tem a própria memória: o que um aprende não passa para o outro. Você escolhe o personagem em Configurações; a troca vale na próxima vez que abrir. Para criar um, veja pets/README.md.

| Personagem | Quem é | |---|---| | Bryan | Revoltado contra o cursor, o Alt+F4 e o Gerenciador de Tarefas. Protesta, faz greve e revolução. | | Jorge | Personagem de sátira. Não é referência a nenhum coach, empresa ou pessoa real. Os mesmos estágios viram prospecção, marketing agressivo, "assinatura premium" (só no cartaz) e colapso financeiro; ele atira panfletos de mentoria. É sátira: não vende, cobra nem bloqueia nada. Tem cinco memes felizes, contentes, curiosos e bravos próprios; as outras emoções ainda não têm. |

O que o pet faz

| | | |---|---| | Corpo | Gravidade, quique, giro, pouso nas barras de título. Você arrasta, joga e gira com a rodinha. | | Emoções | Saem dos motores da rede: feliz, contente, curioso, observando, bravo, triste, assustado, dramático, dormindo. | | Carinho | Passe o mouse de um lado para o outro em cima dele: fecha os olhinhos de felicidade e aprende com isso. | | Bolinha | Ele chuta e arremessa uma bolinha de tênis; você pode pegar, levar embora (ele reage) ou guardar. | | Notebook | Quando você trabalha (VS Code, Visual Studio, PyCharm, Claude, Codex), ele pode sentar atrás do notebook e trabalhar junto. Você também pode pedir; ele decide se quer. | | Travessuras | Traz memes, fotos e post-its para a tela. Com que frequência é decidido pela rede (tédio, curiosidade). | | Protesto | Bravo por muito tempo: reclamação, manifestação, greve e revolução contra o cursor, com cartazes e bolinhas de papel. | | Tristeza | Sozinho ou ignorado, fica triste, vai para o cantinho e cola bilhetes tristes. | | Cantinho do castigo | Uma placa que você arrasta para onde quiser. Solte ele na frente dela e ele fica de castigo: olha para você, vira de costas, xinga em cartazes e, se a frustração durar, foge. Carinho faz ele perdoar. | | Sono e fogos | Dorme quando a energia acaba. Muito feliz, solta fogos de artifício. |

Tudo o que ele aprende (carinho, condicionamento, o que deu certo nas travessuras, fugas do castigo) fica salvo localmente e muda o jeito dele com o tempo.

Requisitos

andando, mas não enxerga as janelas.

Instalação e uso

pip install -r requirements.txt
python main.py

Na primeira vez, um passo a passo explica o que ele vê e não vê, e depois abre a tela de permissões. Depois de clicar em Começar, as próximas aberturas vão direto para o pet. A tela volta a aparecer se o pânico tiver desligado o programa. Para abrir a tela de propósito:

python main.py --configurar

Com o programa aberto, as opções também ficam em Configurações, no ícone da bandeja. No Windows, é lá que se marca Abrir o Pestinha ao entrar no Windows. Só uma cópia abre por vez.

Como interagir

| Gesto | Efeito | |---|---| | Clique rápido | Cutucada | | Passar o mouse de um lado para o outro em cima dele | Carinho | | Segurar e arrastar / soltar rápido | Leva junto / arremessa | | Rodinha do mouse | Gira | | Botão direito | Menu: cutucar, carinho, bolinha, dormir, travessura, trabalhar, notebook, cantinho do castigo, painéis, configurações, esconder, fechar |

Pânico

Ctrl + Alt + Shift + B desliga tudo na hora, e ele continua desligado até você religar em Configurações.

Modo teste

Desligado por padrão. Ligado, os tempos ficam curtos (emoções, travessuras e protesto acontecem em segundos), os painéis de desenvolvimento ficam na tela (monitor neural e painel de protesto) e o terminal mostra as decisões.

Privacidade

Ele roda só no seu computador e não envia nada para a internet. Lê o nome do programa em primeiro plano, o tempo sem usar teclado e mouse, a posição do cursor e a geometria das janelas. Nunca lê conteúdo nem título de janela. Tudo o que ele grava fica na pasta de dados e pode ser apagado pela tela de configurações: memory/, rodando pelo código, ou %LOCALAPPDATA%\Pestinha, no executável do Windows. Detalhes em PRIVACIDADE.md.

Personalizar

Pode editar com ele aberto. (assets/LEIA-ME.txt).

Estrutura

| Pasta | O que tem | |---|---| | pestinha/ | O código, em camadas (pestinha/README.md) | | assets/comum/ | Imagens da bolinha e do notebook, e suas fotos: valem para qualquer pet | | pets/ | Cada pet: .json (quem ele é) e / (frases, cartazes e memes dele) | | tests/ | Testes automáticos | | ferramentas/fuzz_pestinha.py | Fuzzer: roda ações aleatórias e checa invariantes | | ferramentas/ | Geradores de documentação | | docs/ | Arquitetura, rede neural e relatórios (docs/README.md) | | memory/ | Gerada em uso, com o que ele aprende. Não vai para o repositório |

Documentação

Desenvolvimento

pip install -r requirements-dev.txt
python -m pytest -q

Os testes rodam sem abrir janelas (Qt em modo offscreen). Mais detalhes em CONTRIBUTING.md.

Gerar o executável

Há duas formas: gerar no seu computador (só o sistema em que você está) ou deixar o GitHub gerar os três. O PyInstaller só gera o executável do sistema onde roda, por isso um Windows não gera o de Mac.

Opção 1: no seu computador

1. Instale as dependências de desenvolvimento (inclui o PyInstaller):

   pip install -r requirements-dev.txt
   

2. Gere o executável, no Windows:

   python -m PyInstaller --noconfirm --onefile --windowed --name Pestinha --distpath build/onefile --workpath build/work --specpath build --hidden-import win32timezone main.py
   

No macOS e no Linux, use o mesmo comando sem --windowed e sem --hidden-import win32timezone.

3. O resultado fica em build/onefile/ (Pestinha.exe no Windows, Pestinha nos outros).

4. Monte a pasta de entrega: copie o executável e as pastas assets/ e pets/ para uma mesma pasta. O programa lê o conteúdo dessas pastas ao lado do executável. No Windows, a memória fica em %LOCALAPPDATA%\Pestinha, a menos que já exista uma pasta memory/ ao lado dele. Nos outros sistemas, a memory/ é criada sozinha na primeira execução, então não copie a sua.

5. Opcional, no Windows: gere o instalador com o Inno Setup 6. Ele usa o executável do passo 3, instala só para o usuário atual e não pede administrador:

   ISCC instalador/pestinha.iss
   

O resultado fica em instalador/saida/.

Opção 2: pelo GitHub (os três sistemas de uma vez)

O workflow .github/workflows/executaveis.yml gera Windows, macOS e Linux em máquinas do próprio GitHub.

1. Suba o repositório para o GitHub (git push). 2. Para gerar sem criar versão: na aba Actions, escolha executáveis, clique em Run workflow. 3. Para gerar e publicar uma versão: crie uma tag e envie. Por exemplo:

   git tag v0.8.0
   git push origin v0.8.0
   

4. Ao terminar (alguns minutos), a execução tem três artefatos, um por sistema, com a pasta pronta (executável + assets/ + pets/). Baixe pela própria página da execução, na seção Artifacts.

Para distribuir para quem não é do projeto, publique esses artefatos na aba Releases (use "Draft a new release" na tag criada), e não dentro do repositório: cada executável tem cerca de 60 MB.

Depois de gerar

Acessibilidade é necessária para o atalho Ctrl+Alt+Shift+B; no Linux, o atalho e as janelas precisam de xdotool, wmctrl e xprintidle.

Licença

O código do Pestinha é software livre, sob a GNU General Public License v3.0 ou posterior (GPL-3.0-or-later). Você pode usar, estudar, modificar e redistribuir, mas toda versão distribuída, modificada ou não, precisa continuar aberta e sob a mesma licença.

As imagens e os textos de assets/ não estão cobertos por esta licença

Limitações conhecidas

escrita e testada só nas partes de texto (ver tests/test_plataforma.py). pet em todos.

GitHub Stars & Activity

225Stars
68Forks
2Open issues
PythonLanguage

GitHub Popularity

GitHub stars225
Forks68
Open issues2
Primary languagePython
LicenseGPL-3.0
Stars gained today0
Created2026-11-01
Last pushed2026-11-03

Trending History

Daily boardrank #83 · ▲ 0 stars

Related AI Projects

1

NousResearch / hermes-agent

Python★ 260,208⑂ 0
→
2

Significant-Gravitas / AutoGPT

Python★ 187,887⑂ 0
→
3

anthropics / skills

Python★ 187,054⑂ 0
→
4

huggingface / transformers

Python★ 168,498⑂ 0
→
5

langgenius / dify

Python★ 160,336⑂ 0
→
6

calesthio / OpenMontage

Python★ 75,895⑂ 10,037▲ 836 stars
→
7

blader / humanizer

Python★ 64,352⑂ 5,079▲ 460 stars
→
8

karpathy / nanochat

Python★ 60,176⑂ 8,442▲ 551 stars
→

More AI Rankings