{"id":48305788,"url":"https://github.com/cleyton1986/predator-sense","last_synced_at":"2026-07-18T02:01:42.284Z","repository":{"id":349239910,"uuid":"1201569845","full_name":"cleyton1986/predator-sense","owner":"cleyton1986","description":"🎮 Predator Sense for Linux — Unofficial hardware control for Acer Predator/Helios/Nitro gaming laptops. RGB keyboard, GPU monitoring, performance profiles, fan control. Built with Rust + GTK4.","archived":false,"fork":false,"pushed_at":"2026-07-11T17:21:52.000Z","size":2430,"stargazers_count":9,"open_issues_count":3,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-11T19:08:14.541Z","etag":null,"topics":["acer","gaming","gtk4","hardware-control","helios","kernel-module","linux","nitro","nvidia","predator","predator-sense","rgb-keyboard","rust","temperature-monitor"],"latest_commit_sha":null,"homepage":"https://github.com/cleyton1986/predator-sense","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cleyton1986.png","metadata":{"files":{"readme":"README-ptbr.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-04T21:20:46.000Z","updated_at":"2026-07-11T17:17:35.000Z","dependencies_parsed_at":"2026-07-02T22:03:00.776Z","dependency_job_id":null,"html_url":"https://github.com/cleyton1986/predator-sense","commit_stats":null,"previous_names":["cleyton1986/predator-sense"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/cleyton1986/predator-sense","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleyton1986%2Fpredator-sense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleyton1986%2Fpredator-sense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleyton1986%2Fpredator-sense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleyton1986%2Fpredator-sense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cleyton1986","download_url":"https://codeload.github.com/cleyton1986/predator-sense/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cleyton1986%2Fpredator-sense/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35601708,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-18T02:00:07.223Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acer","gaming","gtk4","hardware-control","helios","kernel-module","linux","nitro","nvidia","predator","predator-sense","rgb-keyboard","rust","temperature-monitor"],"created_at":"2026-04-05T00:02:05.617Z","updated_at":"2026-07-18T02:01:42.278Z","avatar_url":"https://github.com/cleyton1986.png","language":"Rust","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=cleyton1986%40gmail.com\u0026currency_code=BRL\u0026item_name=Predator+Sense+for+Linux"],"categories":[],"sub_categories":[],"readme":"# Predator Sense para Linux\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README.md\"\u003e🇺🇸 Read in English\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"predator-sense-gui/resources/logo.jpeg\" width=\"120\" alt=\"Predator Sense Logo\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eMódulo não oficial do kernel Linux e interface gráfica para controle de hardware de notebooks Acer Gaming\u003c/b\u003e\u003cbr\u003e\n  \u003ci\u003eRetroiluminação RGB do Teclado \u0026bull; Modo Turbo \u0026bull; Monitoramento de Temperatura \u0026bull; Perfis de Desempenho\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Linguagem-Rust-orange?logo=rust\" alt=\"Rust\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/GTK-4-blue?logo=gtk\" alt=\"GTK4\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Userspace-100%25_Rust-orange?logo=rust\" alt=\"Userspace 100% Rust\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Licença-GPL--3.0-green\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Plataforma-Linux-yellow?logo=linux\" alt=\"Linux\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Criado e mantido por \u003ca href=\"https://github.com/cleyton1986\"\u003eCleyton Alves\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Aviso Legal\n\n\u003e **Atenção**\n\u003e **Use por sua conta e risco!** Este é um projeto **não oficial**. A Acer não esteve envolvida no seu desenvolvimento. O módulo do kernel foi desenvolvido por meio de engenharia reversa do aplicativo oficial PredatorSense para Windows. Este driver interage com métodos WMI/ACPI de baixo nível que não foram testados em todas as séries de notebooks. Os autores não se responsabilizam por quaisquer danos ao seu hardware.\n\n\u003e **Nota**\n\u003e Todas as marcas registradas, nomes de produtos e logotipos mencionados (Acer, Predator, PredatorSense, Helios, Nitro, AeroBlade, CoolBoost) são propriedade de seus respectivos donos (Acer Inc.). Este projeto não é afiliado, endossado ou patrocinado pela Acer Inc. de nenhuma forma.\n\n\u003e **Imagens dos produtos**\n\u003e As fotos de notebooks em `predator-sense-gui/resources/models/` retratam produtos oficiais Acer Predator/Nitro e são usadas exclusivamente para permitir que o aplicativo identifique visualmente o modelo detectado na máquina do próprio usuário (comparando com o `product_name` informado pela DMI/BIOS do sistema). Essas imagens **não estão licenciadas sob a licença GPLv3 deste projeto** — os direitos de autor sobre as fotografias dos produtos pertencem à Acer Inc. e/ou seus criadores originais. Elas estão incluídas aqui de boa-fé, sem finalidade comercial, com propósito puramente informativo (uso nominativo/de identificação de produto), sem qualquer reivindicação de propriedade por parte deste projeto. Se você é o titular dos direitos e deseja a remoção de alguma imagem, abra uma issue que ela será removida prontamente.\n\nEsta aplicação foi criada para **uso pessoal**, para tirar o máximo proveito de um notebook Acer gaming no Linux — já que a Acer não oferece suporte oficial do PredatorSense para Linux. É compartilhada livremente para quem quiser o mesmo.\n\n---\n\n## Capturas de Tela\n\n\u003cp align=\"center\"\u003e\u003cb\u003eDashboard\u003c/b\u003e — Foto do notebook e specs completas do sistema: CPU, GPU, RAM, armazenamento, rede e SO.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-1.png\" width=\"800\" alt=\"Dashboard\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eTemperaturas\u003c/b\u003e — Gauges em tempo real para CPU, GPU, sistema, SSDs NVMe, WiFi e RAM em uma única tela.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-2.png\" width=\"800\" alt=\"Temperaturas\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eConsumo\u003c/b\u003e — CPU, GPU, memória e armazenamento com top processos, barras animadas e detalhes ao clicar (com animação de fogo CSS no gauge de temperatura).\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-3.png\" width=\"800\" alt=\"Consumo\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eRede\u003c/b\u003e — Gráficos de download/upload em tempo real com tracking de picos e detecção automática de interface (Wi-Fi ou Ethernet).\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-4.png\" width=\"800\" alt=\"Rede\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eIluminação\u003c/b\u003e — Cores estáticas por zona (4 secções) e efeitos dinâmicos RGB do teclado (Respiração, Neon, Onda, Deslizar, Zoom).\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-5.png\" width=\"800\" alt=\"Iluminação\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eModos\u003c/b\u003e — Perfis de desempenho: Silencioso, Balanceado, Performance e Turbo (CPU governor + Intel EPP + limite de potência da GPU).\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-6.png\" width=\"800\" alt=\"Modos\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eControle de Ventoinha\u003c/b\u003e — RPM ao vivo com animação girando, toggle do CoolBoost e modos Auto/Max.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-7.png\" width=\"800\" alt=\"Controle de Ventoinha\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eBateria\u003c/b\u003e — Percentual de carga, voltagem, corrente, potência, ciclos, saúde, fabricante e limite de carga em 80% para preservar a longevidade.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-8.png\" width=\"800\" alt=\"Bateria\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eGPU\u003c/b\u003e — Dashboard NVIDIA com gráficos ao vivo, clocks, utilização, VRAM, consumo e informações PCIe.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-9.png\" width=\"800\" alt=\"GPU\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eGráficos\u003c/b\u003e — Histórico detalhado de CPU e GPU com tracking de mínimas e máximas.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-10.png\" width=\"800\" alt=\"Gráficos\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eAssistente de IA (beta)\u003c/b\u003e — Assistente de IA local via Ollama: chat, gerenciador de modelos (listar instalados, baixar novos, escolher qual roda), consumo de recurso/VRAM ao vivo enquanto ele pensa, e log de ações persistente.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-11.png\" width=\"800\" alt=\"Assistente de IA\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eConfigurações\u003c/b\u003e — Minimizar para a bandeja, iniciar com o sistema, aplicar perfil automaticamente no início, preferências de idioma, e lista de recursos suportados por modelo.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-12.png\" width=\"800\" alt=\"Configurações\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eIluminação do logo da tampa\u003c/b\u003e — Controle RGB independente pro logo na parte de trás da tela, em modelos com logo colorido (Estático/Respiração/Neon). Detectado em tempo real: o controle só aparece se o hardware responder a um probe de capacidade, ficando escondido com segurança em modelos sem esse recurso.\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-13.png\" width=\"800\" alt=\"Iluminação do logo da tampa\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"assets/psense-14.jpg\" width=\"800\" alt=\"Logo da tampa aceso em verde num Predator PHN16-73\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003csub\u003eRecurso contribuído por \u003ca href=\"https://github.com/jlucaso1\"\u003e@jlucaso1\u003c/a\u003e, testado no próprio Predator PHN16-73 dele. O logo da tampa deste notebook do autor deste projeto não tem cor, então o recurso foi validado usando o hardware dele.\u003c/sub\u003e\u003c/p\u003e\n\n---\n\n## Sobre\n\nMódulo não oficial do kernel Linux para retroiluminação RGB de teclados Acer Gaming e modo Turbo (Acer Predator, Acer Helios, Acer Nitro).\n\nInspirado e baseado no projeto [acer-predator-turbo-and-rgb-keyboard-linux-module](https://github.com/JafarAkhondali/acer-predator-turbo-and-rgb-keyboard-linux-module) de [JafarAkhondali](https://github.com/JafarAkhondali) e contribuidores. Este projeto estende o módulo atual do kernel Linux Acer-WMI para oferecer suporte às funções de jogos da Acer, e adiciona uma **aplicação desktop completa** desenvolvida em Rust e GTK4.\n\n---\n\n## Funcionalidades\n\n| Funcionalidade | Descrição |\n|----------------|-----------|\n| **Dashboard** | Foto do notebook + specs completas do sistema (CPU, GPU, RAM, armazenamento, rede, SO) |\n| **Temperaturas** | Gauges em tempo real para CPU, GPU, sistema, NVMe, WiFi e RAM |\n| **Consumo** | Visão em 4 abas: CPU / GPU / Memória / Armazenamento, com top processos, detalhes ao clicar e animação de fogo CSS no gauge de temperatura |\n| **Rede** | Gráficos de download/upload em tempo real, com tracking de pico e detecção automática de interface |\n| **Controle RGB do Teclado** | Cores estáticas por zona (4 zonas) e efeitos dinâmicos (Respiração, Neon, Onda, Deslizar, Zoom). Em hardware sem o módulo kernel (só controlador I2C-HID), cor estática, brilho, desligar luz e os efeitos Respiração/Neon também funcionam nativamente via HID — veja [Compatibilidade](#compatibilidade) |\n| **Logo RGB da Tampa** | Controle independente de energia, cor estática, brilho, Respiração e Neon para o emblema atrás da tela, com prévia vetorial ao vivo. Só aparece após detecção de capacidades HID em tempo de execução |\n| **Perfis de Desempenho** | Silencioso / Balanceado / Performance / Turbo (CPU governor + Intel EPP + limite de potência da GPU) |\n| **Controle de Ventoinha** | RPM ao vivo com animação girando, toggle do CoolBoost, modos Auto/Max, e controle PWM por ventoinha + curva automática por temperatura (experimental, onde suportado) |\n| **Bateria** | Estatísticas de carga, ciclos, saúde, fabricante e limite de carga em 80% para preservar a longevidade |\n| **Dashboard GPU** | Métricas NVIDIA: temperatura, utilização, VRAM, clocks, consumo, info PCIe com gráficos ao vivo, e **slider de limite de potência (TGP)** |\n| **Gráficos** | Histórico detalhado de CPU e GPU com tracking de mínimas e máximas |\n| **Assistente de IA** 🧪 | Assistente de IA local e opt-in via [Ollama](https://ollama.com) — lê o estado do hardware em tempo real e sugere ou aplica mudanças através de um conjunto fixo de ações já validadas (perfil térmico, modo de ventoinha, CoolBoost, RGB, limite de potência da GPU, bateria). Chat, gerenciador de modelos (baixar/selecionar), monitor de recurso/VRAM ao vivo e log de ações persistente. Aplicar automaticamente ou sempre confirmar, você escolhe. Requer o Ollama instalado separadamente — veja [Assistente de IA](#assistente-de-ia-beta) abaixo |\n| **Detecção automática de recursos** | Detecta o que cada modelo suporta e adapta a interface — recursos sem suporte aparecem como \"não disponível neste modelo\" em vez de erro. Os recursos suportados são listados nas Configurações |\n| **Alertas de temperatura** | Notificação no desktop quando CPU/GPU passam de 90°C (funciona na bandeja) |\n| **Perfil automático por energia** | Troca de perfil automaticamente ao conectar/desconectar o carregador — perfil de cada estado é configurável em Configurações (padrão: Performance na tomada, Balanceado na bateria) |\n| **Log de depuração** | Toggle opcional em Configurações — grava eventos do daemon e do app em `~/.local/share/predator-sense/` (rotacionado, 5MB×3) pra diagnóstico remoto. Desligado por padrão |\n| **Bandeja do Sistema** | Minimizar para a bandeja com o ícone Predator — app continua vivo em segundo plano |\n| **Tecla PredatorSense** | Mapeamento da tecla física — a tecla ao lado do NumLock abre a aplicação |\n| **DKMS** | Módulos do kernel recompilam automaticamente em atualizações do kernel |\n| **Internacionalização** | Inglês / Português automático baseado no idioma do sistema |\n| **Interface Gaming** | Tema escuro com barras neon pulsantes, gauges circulares tracejados, bordas poligonais |\n\n---\n\n## Compatibilidade\n\n**Vai funcionar no meu notebook?**\n\nLegenda: ✅ testado e funcionando · 🟡 implementado, não testado (precisa de testador) · 🧪 experimental (precisa de testador) · ❌ não funciona · `-` não se aplica\n\n| Modelo | Turbo (Impl.) | Turbo (Test.) | RGB (Impl.) | RGB (Test.) | Leitura RPM | Perfis de fan | Fan PWM % |\n|--------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| AN515-45 | - | - | ✅ | ✅ | ❌ | - | ❌ |\n| AN515-55 | - | - | ✅ | ✅ | ❌ | - | ❌ |\n| AN515-56 | - | - | ✅ | ✅ | ❌ | - | ❌ |\n| AN515-57 | - | - | ✅ | ✅ | ❌ | - | ❌ |\n| AN515-58 | ✅ | 🟡 | ✅ | ✅ | 🟡 | 🟡 | 🧪 |\n| AN517-41 | - | - | ✅ | ✅ | ❌ | - | ❌ |\n| PH16-71 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n| PH315-52 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PH315-53 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| **PH315-54** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |\n| PH315-55 | ✅ | 🟡 | ✅ | ❌ | 🟡 | - | ❌ |\n| PH317-53 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PH317-54 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n| PH317-55 | - | - | ✅ | 🟡 | ❌ | - | ❌ |\n| PH517-51 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n| PH517-52 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n| PH517-61 | ✅ | 🟡 | ✅ | ✅ | 🟡 | - | ❌ |\n| PHN16-71 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n| PHN16S-71 | ✅ | ✅ | ✅ | 🟡 | ✅ | - | ❌ |\n| PHN16-72 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | 🟡 | 🧪 |\n| **PHN16-73** | ✅ | 🟡 | ✅ | 🟡 | 🟡 | 🟡 | 🧪 |\n| PHN18-71 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PT314-51 | ❌ | ❌ | ✅ | ✅ | 🟡 | - | ❌ |\n| PT314-52s | ✅ | ✅ | ✅ | 🟡 | 🟡 | - | ❌ |\n| PT315-51 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PT316-51 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PT515-51 | ✅ | ✅ | ✅ | ✅ | 🟡 | - | ❌ |\n| PT516-52s | ✅ | 🟡 | ✅ | ✅ | 🟡 | - | ❌ |\n| PT917-71 | ✅ | 🟡 | ✅ | 🟡 | 🟡 | - | ❌ |\n\n\u003e Se o seu modelo não está listado, ele ainda pode funcionar — o módulo do kernel detecta interfaces WMI compatíveis automaticamente. Se funcionou (ou não) para você, por favor abra uma issue mencionando seu modelo para que possamos atualizar esta tabela.\n\n### Controle de ventoinha — três níveis\n\n| Nível | O que faz | Disponibilidade |\n|---|---|---|\n| **Leitura de RPM** | Lê velocidade das ventoinhas CPU/GPU (`fan1_input`, `fan2_input`) | Maioria dos modelos gaming (auto-detectado) |\n| **Perfis de ventoinha** | Quiet / Balanced / Performance / Turbo via `platform_profile` | Modelos `predator_v4` |\n| **Fan PWM %** 🧪 | Controle de velocidade por ventoinha (`pwm1`/`pwm2` 0–100%) portado do `acer-wmi` mainline via WMI — **somente kernel ≥ 6.14** | Subconjunto de modelos com `ACER_CAP_PWM` (AN515-58, PHN16-72/73, …) |\n\n\u003e **🧪 O controle PWM é experimental.** É portado do driver `acer-wmi` oficial do kernel Linux e usa métodos WMI seguros (sem escrita bruta no EC), mas **não foi verificado em hardware real** pelo mantenedor (que tem um PH315-54, sem PWM). Se você tem um modelo suportado, relatos de teste são muito bem-vindos. **Use por sua conta e risco** — veja o aviso no topo.\n\n### RGB sem o módulo kernel (só hardware I2C-HID)\n\nAlguns modelos (confirmado: PHN16S-71, PHN16-73) roteiam o controlador RGB do teclado por um chip I2C-HID separado (ENEK5130) em vez da interface WMI do `facer.ko` — o app fala direto com ele via `/dev/hidrawN`, então funciona mesmo sem o módulo kernel carregado:\n\n| Recurso | Status |\n|---|---|\n| Cor estática por zona, brilho, desligar luz | ✅ confirmado funcionando (PHN16S-71) |\n| Efeitos dinâmicos — Respiração, Neon 🧪 | Nativo, um único write HID, hardware faz o loop do padrão sozinho — **aguardando confirmação** em hardware real |\n| Efeitos dinâmicos — Onda, Deslizar, Zoom | Só prévia visual na tela (sem escrita em hardware) — os códigos desses efeitos variam de significado entre gerações de hardware, então ainda não foram ativados |\n| Logo RGB da tampa — desligar, cor estática, brilho, Respiração, Neon | ✅ confirmado funcionando (PHN16-73) |\n\nO suporte ao logo da tampa não é ativado por uma allow-list de modelos. O controlador precisa anunciar o alvo `0x83` no relatório A1 e retornar capacidades A3 correspondentes e não vazias antes que a interface apareça; o app repete essa verificação imediatamente antes de cada escrita. O daemon de hotkey restaura somente uma configuração que o app aplicou com sucesso após login e retorno do modo de suspensão, e ignora totalmente o logo quando não há configuração salva ou o alvo está ausente.\n\n### Já usa Linuwu-Sense ou DAMX?\n\n[Linuwu-Sense](https://github.com/0x7375646F/Linuwu-Sense) (e o [DAMX](https://github.com/PXDiv/Div-Acer-Manager-Max), construído sobre ele) é um projeto separado e não relacionado, que também controla hardware Acer Predator/Nitro no Linux. Não é dependência deste projeto, nenhum código dele é usado aqui — mas o módulo kernel dele reivindica os **mesmos GUIDs WMI** que o `facer` precisa, e o kernel não deixa dois drivers reivindicarem o mesmo dispositivo ao mesmo tempo.\n\nSe o instalador detectar `linuwu_sense` já carregado ou registrado via DKMS, ele automaticamente **não mexe** na sua instalação existente — não coloca `acer_wmi` na blacklist nem força carregar `facer`, então não briga (nem quebra) uma instalação Linuwu-Sense/DAMX que já funciona. O RGB do teclado continua funcionando por este app via HID (ver acima) independente de qual driver de plataforma está ativo; controle de ventoinha/térmico nesse caso continua com a ferramenta que você já usava.\n\n---\n\n## Instalação\n\n### Instalador Pré-compilado (Mais Rápido)\n\nBaixe diretamente o instalador da release e execute:\n\n```console\ncurl --fail --location https://github.com/cleyton1986/predator-sense/releases/latest/download/predator-sense-installer --output predator-sense-installer\nchmod +x predator-sense-installer\nsudo ./predator-sense-installer --install\n```\n\nO instalador, o helper privilegiado, o listener da tecla e o serviço da bandeja são fornecidos pelo mesmo binário multicall em Rust. O instalador baixa e configura tudo sem depender de um script de shell para o bootstrap.\n\n### Instalador Interativo (binário pré-compilado, sem precisar de Rust)\n\nBaixe o binário `predator-sense-installer` da página de [Releases](../../releases). É um binário Rust independente, não um pacote fechado — ainda precisa de internet pra baixar o código fonte do app (por causa do módulo kernel) e o binário pré-compilado da release correspondente, mas não instala Rust nem compila o app GTK4 na sua máquina:\n\n```console\nchmod +x predator-sense-installer\nsudo ./predator-sense-installer\n```\n\nSelecione a **opção 1** (Instalação completa). O instalador irá automaticamente:\n\n1. Detectar sua distribuição (Debian/Ubuntu/Mint, Fedora, Arch)\n2. Instalar dependências do sistema (GTK4, libadwaita, ferramentas de compilação, headers do kernel)\n3. Baixar o código fonte + binário pré-compilado da release correspondente\n4. Compilar e carregar o módulo do kernel `facer` (essa parte sempre compila localmente — módulo de kernel não dá pra distribuir pré-compilado entre versões de kernel diferentes)\n5. Criar atalho no menu de aplicações com ícone\n6. Mapear a tecla PredatorSense (inicia automaticamente no login)\n7. Configurar suporte à bandeja do sistema\n\nO caminho pré-compilado não precisa de Rust/cargo na máquina de destino. O instalador também é copiado para `/opt/predator-sense/` como ferramenta de gerenciamento para consultar status, recarregar o módulo do kernel, atualizar e desinstalar (ver [Opções do Instalador](#opções-do-instalador)).\n\nApós a instalação, abra a aplicação por:\n- Pressionando a **tecla PredatorSense** (ao lado do NumLock)\n- Buscando **\"Predator Sense\"** no menu de aplicações\n- Executando `/opt/predator-sense/predator-sense` no terminal\n\n### Instalação Manual (Compilar do código fonte)\n\n#### Pré-requisitos\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eDebian / Ubuntu / Linux Mint\u003c/b\u003e\u003c/summary\u003e\n\n```console\nsudo apt install libgtk-4-dev libadwaita-1-dev pkg-config build-essential \\\n    gcc make dkms curl tar linux-headers-$(uname -r)\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eFedora\u003c/b\u003e\u003c/summary\u003e\n\n```console\nsudo dnf install gtk4-devel libadwaita-devel pkg-config gcc make \\\n    dkms curl tar kernel-devel-$(uname -r)\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eArch Linux\u003c/b\u003e\u003c/summary\u003e\n\n```console\nsudo pacman -S gtk4 libadwaita pkgconf gcc make dkms curl tar linux-headers\n```\n\u003c/details\u003e\n\n**Rust** (se não instalado):\n```console\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\nsource ~/.cargo/env\n```\n\n#### Compilar e Instalar\n\n```console\n# Clonar o repositório\ngit clone https://github.com/cleyton1986/predator-sense.git\ncd predator-sense/predator-sense-gui\n\n# Compilar a GUI e o instalador/serviços Rust\ncargo build --release\ncargo build --release --manifest-path installer/Cargo.toml\n\n# Instalar o build local e registrar os fontes C existentes no DKMS\nsudo installer/target/release/predator-sense-installer --install\n\n# Executar\n/opt/predator-sense/predator-sense\n```\n\n---\n\n## Como Usar\n\n### RGB do Teclado\n\n1. Vá em **Iluminação** no menu lateral\n2. Escolha **Estático** (cores por zona) ou **Dinâmico** (efeitos)\n3. **Modo Estático:** ajuste os sliders R/G/B para cada uma das 4 secções do teclado\n4. **Modo Dinâmico:** selecione um efeito (Respiração, Neon, Onda, Deslizar, Zoom) e ajuste a velocidade\n5. Clique em **Aplicar**\n\n\u003e Em hardware só I2C-HID sem o módulo kernel (veja [Compatibilidade](#compatibilidade)), Respiração e Neon animam de verdade; Onda/Deslizar/Zoom mostram só prévia visual, claramente rotulada como tal — o teclado físico ainda não muda pra esses.\n\n### Logo RGB da Tampa\n\n1. Vá em **Iluminação** e selecione **Logo da tampa** (o seletor só aparece quando o alvo HID compatível é detectado)\n2. Use **Iluminação** para ligar ou desligar o emblema\n3. Escolha **Estático**, **Respiração** ou **Neon** e ajuste os controles disponíveis de cor, brilho e velocidade acompanhando a prévia ao vivo\n4. Clique em **Aplicar no logo**\n\nO último estado aplicado com sucesso é restaurado quando o serviço de hotkey do usuário inicia e após suspensão/hibernação. As cores dos efeitos animados são controladas pelo firmware; por isso a prévia representa o comportamento deles e o seletor de cor fica reservado ao modo estático.\n\n\u003e O firmware controla a animação exibida antes de o Linux iniciar o serviço do usuário. Um estado “desligado” salvo é restaurado após o login, mas o app não consegue suprimir a animação anterior do BIOS/boot.\n\n### Perfis de Desempenho\n\nEm sistemas com Intel P-State ativo + HWP, a parte de CPU é resolvida assim:\n\n| Perfil | Política HWP | Intel EPP | Performance mínima | GPU Power | Ventoinha | Uso |\n|--------|--------------|-----------|--------------------|-----------|-----------|-----|\n| **Silencioso** | powersave | power | 10% | 40W³ | Automático | Trabalho silencioso |\n| **Balanceado** | powersave | balance_performance | 17% | 80W³ | Automático | Uso geral |\n| **Performance** | powersave¹ | performance | 50% | 100W³ | Máx | Jogos |\n| **Turbo** | performance² | 0 (forçado pelo kernel) | 100% | 110W³ | Máx | Performance máxima |\n\nSelecionar qualquer perfil já aplica o modo de ventoinha junto - sem passo\nseparado. Performance e Turbo colocam a ventoinha em Máx (igual à tecla física\nTurbo); Silencioso e Balanceado deixam em Automático.\n\n¹ A política HWP `powersave` do Intel P-State é um algoritmo de escalonamento\ndinâmico, não o governor genérico que fixa a frequência mínima. Ela mantém o\nEPP nominal específico do modelo gravável e torna Performance uma faixa\ndinâmica de 50% até o máximo.\n\n² A própria política HWP `performance` força EPP 0 e restringe a faixa de\nP-states ao limite superior. O Predator Sense usa esse comportamento garantido\npelo kernel em vez de exigir escrita numérica de EPP. O backend é detectado em\ntodas as políticas cpufreq, sem uma lista de modelos de CPU. Outros drivers\nmantêm o mapeamento existente `performance` + EPP nominal `performance`, e\nsistemas sem EPP ignoram apenas esse controle opcional.\n\n³ Melhor esforço via `nvidia-smi -pl`, mesmo mecanismo do slider de limite de\npotência do Dashboard GPU - pulado silenciosamente se `nvidia-smi` não existir,\ne em alguns notebooks a vBIOS nunca expõe o controle de limite de potência que\no NVML precisa (`nvidia-smi -q` mostra `Power Management Object: N/A`, todo\nvalor de `-pl` é rejeitado independente do que for pedido). É limite de\nfirmware, não algo que este app - ou qualquer software Linux - consiga mudar;\naumentar isso exige flashear uma vBIOS diferente com ferramenta Windows-only\ncomo `nvflash`, risco real de brickar a GPU, decisão exclusivamente do dono do\nhardware.\n\n### Perfil automático por energia\n\nQuando ativado em Configurações (ligado por padrão em instalações novas), não\né só reação a plugar/desplugar - é aplicado continuamente:\n- **Na tomada:** sempre Performance ou Turbo. Se um dos dois já estiver ativo,\n  fica como está - o auto-switch nunca briga com uma escolha manual entre os\n  dois.\n- **Na bateria:** sempre Balanceado ou Silencioso, nunca Performance/Turbo.\n  Abaixo de 15% de bateria, força Silencioso independente do que estiver\n  configurado.\n\n### Dashboard GPU\n\nMonitoramento NVIDIA em tempo real:\n- Temperatura, utilização, uso de VRAM, consumo (gauges circulares)\n- Gráficos de histórico de temperatura e utilização (janela de 2 minutos)\n- Clock do núcleo, clock da memória, P-State, link PCIe, versão do VBIOS\n\n### Assistente de IA (beta)\n\nUm assistente de IA local e opt-in, via [Ollama](https://ollama.com) rodando inteiramente na sua máquina — nada é enviado pra lugar nenhum.\n\n1. Instale o Ollama separadamente seguindo as [instruções oficiais para Linux](https://ollama.com/download/linux)\n2. Vá em **IA** no menu lateral e baixe um modelo pelo gerenciador de modelos integrado (`smollm2:1.7b` ou maior — modelos menores não suportam tool-calling de forma confiável)\n3. Ative o assistente em **Configurações** e escolha **Aplicar automaticamente** (aplica sugestões na hora) ou **Sempre confirmar** (padrão — toda mudança sugerida espera sua aprovação)\n\nO assistente lê o estado do hardware em tempo real (temperatura, ventoinha, perfil térmico, bateria) e pode sugerir ou aplicar mudanças através de um conjunto fixo de ações já validadas — nunca acessa hardware/EC diretamente, e cada ação corresponde 1:1 a uma função que esta aplicação já usava antes mesmo da IA existir. O modelo carrega só pra rodar uma análise e depois descarrega — não fica parado consumindo memória. Toda atividade da IA fica registrada num log de ações persistente e revisável, na mesma página.\n\n---\n\n## Opções do Instalador\n\nO instalador Rust oferece um menu interativo:\n\n```console\nsudo ./predator-sense-installer              # Menu interativo\nsudo ./predator-sense-installer --install    # Instalação direta\nsudo ./predator-sense-installer --uninstall  # Remover tudo\nsudo ./predator-sense-installer --reload-module # Recompilar/recarregar o módulo\nsudo ./predator-sense-installer --status     # Ver status dos componentes\n```\n\n---\n\n## Desinstalar\n\n```console\nsudo ./predator-sense-installer  # Selecione a opção 2\n```\n\nOu manualmente:\n```console\npkill -f \"/opt/predator-sense/predator-sense\"\nsudo rm -rf /opt/predator-sense\nsudo rm -f /usr/share/applications/predator-sense.desktop\nsudo rm -f /usr/share/icons/hicolor/128x128/apps/predator-sense.png\nrm -f ~/.config/systemd/user/predator-sense-hotkey.service\nrm -f ~/.config/autostart/predator-sense-hotkey.desktop\nsudo rmmod facer  # Opcional: descarregar o módulo do kernel\n```\n\n---\n\n## Solução de Problemas\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRGB do teclado não muda / preso em um efeito\u003c/b\u003e\u003c/summary\u003e\n\nO estado do módulo do kernel pode estar travado. Recarregue-o:\n```console\nsudo rmmod facer\nsudo insmod /caminho/para/kernel/facer.ko\n# Ou use o instalador: sudo ./predator-sense-installer → Opção 4\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eMódulo não carrega\u003c/b\u003e\u003c/summary\u003e\n\n```console\n# Verifique se o dispositivo WMI existe\nls /sys/bus/wmi/devices/7A4DDFE7-5B5D-40B4-8595-4408E0CC7F56/\n\n# Verifique os logs do kernel\nsudo dmesg | grep -i facer\n\n# Certifique-se que os headers correspondem ao seu kernel\nsudo apt install linux-headers-$(uname -r)\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eTecla PredatorSense não funciona\u003c/b\u003e\u003c/summary\u003e\n\n```console\n# Verifique o serviço Rust da tecla\nsystemctl --user status predator-sense-hotkey.service\npgrep -af predator-sense-hotkey\n\n# Certifique-se que o usuário está no grupo 'input' (logout necessário após adicionar)\ngroups | grep input\nsudo usermod -aG input $USER\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003ePágina GPU não mostra dados\u003c/b\u003e\u003c/summary\u003e\n\n```console\n# Verifique se o nvidia-smi funciona\nnvidia-smi\n# Se não, instale os drivers proprietários da NVIDIA\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eMeu modelo não tem quirk correspondente (sem perfis/leitura de fan/PWM)\u003c/b\u003e\u003c/summary\u003e\n\nSe seu modelo exato ainda não está na lista de compatibilidade, tente forçar todos os recursos opcionais da família `predator_v4` e veja o que funciona no seu hardware:\n\n```console\nsudo modprobe facer enable_all=1\n# persistente entre reboots:\necho \"options facer enable_all=1\" | sudo tee /etc/modprobe.d/facer-options.conf\n```\n\nÉ só WMI (sem escrita raw na EC), então em hardware que não implementa determinado recurso isso é um no-op seguro, não uma escrita ruim. Por favor [abra uma issue](https://github.com/cleyton1986/predator-sense/issues) com seu modelo e o que funcionou/não funcionou — é assim que novos quirks são adicionados.\n\u003c/details\u003e\n\n---\n\n## Estrutura do Projeto\n\n```\npredator-sense-gui/\n├── kernel/                      # Módulos do kernel Linux (gerenciados por DKMS)\n│   ├── facer.c                  # Interface ACPI/WMI com o hardware Acer\n│   ├── acer-wmi-battery.c       # Suporte ao limite de carga da bateria\n│   ├── acpi_ec.c                # Acesso raw ao EC via /dev/ec (de MusiKid/acpi_ec)\n│   ├── Makefile\n│   └── dkms.conf                # Config DKMS para recompilação automática\n├── installer/                   # Instalador e serviços multicall em Rust\n│   ├── Cargo.toml\n│   └── src/\n│       ├── main.rs              # Dispatch tipado pelo nome do executável instalado\n│       ├── constants.rs         # Caminhos, protocolos e constantes de hardware centrais\n│       ├── install.rs           # Instalador + registro DKMS\n│       ├── helper.rs            # Operações privilegiadas validadas\n│       ├── hotkey.rs            # Listener de eventos de input do Linux\n│       ├── tray.rs              # Serviço StatusNotifierItem\n│       └── i18n.rs              # Mensagens EN/PT tipadas\n├── protocol/                    # Contrato tipado compartilhado entre GUI/helper\n│   ├── Cargo.toml\n│   └── src/lib.rs               # Ações, caminhos, limites e nomes dos binários\n├── src/                         # Aplicação Rust GTK4\n│   ├── main.rs\n│   ├── app_state.rs             # Flag global de visibilidade da janela (gate dos timers)\n│   ├── i18n.rs                  # Internacionalização EN/PT\n│   ├── config.rs                # Preferências do usuário (JSON)\n│   ├── tray.rs                  # Ciclo de vida do serviço Rust da bandeja\n│   ├── hardware/\n│   │   ├── helper.rs            # Cliente tipado do helper privilegiado\n│   │   ├── rgb.rs               # RGB via /dev/acer-gkbbl-*\n│   │   ├── hwmon.rs             # Índice /sys/class/hwmon (cacheado em OnceLock)\n│   │   ├── sensors.rs           # Temps, fans, RAM, rede\n│   │   ├── gpu.rs               # Parser do nvidia-smi com cache TTL\n│   │   ├── procs.rs             # Sampler /proc (CPU por core, memória, lista de processos)\n│   │   ├── storage.rs           # Uso de disco via df\n│   │   ├── sysinfo.rs           # DMI + CPU + GPU + specs do SO\n│   │   ├── fan.rs               # Modo de ventoinha + CoolBoost\n│   │   ├── extras.rs            # Limite de bateria, LCD overdrive, USB charging, boot anim\n│   │   ├── profile.rs           # CPU governor + EPP + GPU power\n│   │   ├── ai_assistant.rs      # Tool-calling do Ollama: allow-list fixa mapeada pras funções hardware:: já existentes\n│   │   ├── ai_snapshot.rs       # Snapshot efêmero do estado, alimentado à IA e apagado a cada leitura\n│   │   ├── ai_actionlog.rs      # Log persistente e revisável de tudo que a IA sugeriu/aplicou\n│   │   └── setup.rs             # Gerenciamento do módulo kernel\n│   └── ui/                      # Páginas GTK4 (widgets Cairo customizados)\n│       ├── window.rs            # Janela principal, sidebar, barras neon, hide-to-tray\n│       ├── dashboard_page.rs    # Hero + specs do sistema\n│       ├── temperatures_page.rs # Todos os gauges de temperatura\n│       ├── usage_page.rs        # CPU/GPU/Mem/Storage com top processos\n│       ├── network_page.rs      # Download/upload com tracking de pico\n│       ├── rgb_page.rs          # RGB do teclado com zonas visuais\n│       ├── fan_control_page.rs  # Ventoinhas animadas + CoolBoost\n│       ├── fan_page.rs          # Perfis de desempenho\n│       ├── battery_page.rs      # Stats da bateria + limite de carga\n│       ├── gpu_page.rs          # Dashboard NVIDIA GPU\n│       ├── monitor_page.rs      # Gráficos detalhados de histórico CPU/GPU\n│       ├── ai_page.rs           # Assistente de IA: chat, gerenciador de modelos, monitor de recurso, log de ações\n│       ├── setup_page.rs        # Wizard de setup do módulo kernel\n│       └── gauge_widget.rs      # Widget de gauge circular tracejado\n└── resources/\n    ├── style.css                # Tema escuro gaming\n    └── predator-icon.svg        # Ícone da bandeja\n```\n\n---\n\n## Créditos e Agradecimentos\n\n- **Módulo do kernel `facer`** baseado no projeto [acer-predator-turbo-and-rgb-keyboard-linux-module](https://github.com/JafarAkhondali/acer-predator-turbo-and-rgb-keyboard-linux-module) de [JafarAkhondali](https://github.com/JafarAkhondali) e [todos os contribuidores](https://github.com/JafarAkhondali/acer-predator-turbo-and-rgb-keyboard-linux-module/graphs/contributors)\n- **Módulo do kernel `acpi_ec`** de [Sayafdine Said (MusiKid)](https://github.com/MusiKid/acpi_ec) — expõe `/dev/ec` para leitura/escrita bruta no EC. Usado pelo helper para definir modos de ventoinha, CoolBoost, LCD overdrive, USB charging e animação de boot.\n- **Aplicação GUI** desenvolvida com [Rust](https://www.rust-lang.org/) + [GTK4](https://gtk.org/) + [libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/)\n- **Instalador e serviços de background** desenvolvidos com [Rust](https://www.rust-lang.org/); a bandeja usa [ksni](https://crates.io/crates/ksni)\n\n### Fazendo fork ou reaproveitando este projeto\n\nEste projeto é licenciado sob GPL-3.0, então você é livre pra fazer fork, modificar e redistribuir sob a mesma licença. Se fizer isso — principalmente se construir um app derivado ou reaproveitar partes significativas da GUI/módulo do kernel — **por favor mantenha um crédito visível ao autor original** (uma menção a [Cleyton Alves](https://github.com/cleyton1986) / este repositório no seu README, tela Sobre, ou seção de créditos já resolve). É um pedido pequeno que faz bastante diferença pra um projeto paralelo independente e não remunerado.\n\n## Apoie o Projeto\n\nSe este projeto foi útil para você e gostaria de apoiar o desenvolvimento, considere me pagar um café:\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=cleyton1986%40gmail.com\u0026currency_code=BRL\u0026item_name=Predator+Sense+for+Linux\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PayPal-Doar-00457C?logo=paypal\u0026logoColor=white\u0026style=for-the-badge\" alt=\"Doar via PayPal\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003ePIX:\u003c/b\u003e \u003ccode\u003ecleyton1986@gmail.com\u003c/code\u003e\n\u003c/p\u003e\n\nQualquer contribuição é voluntária e muito apreciada! Ajuda a manter o projeto vivo e motiva novas funcionalidades.\n\n---\n\n## Licença\n\nEste projeto é licenciado sob a **GNU General Public License v3.0** — veja o arquivo [LICENSE](LICENSE) para detalhes.\n\nEste é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU GPL conforme publicada pela Free Software Foundation.\n\n**Exceção — imagens dos produtos:** a licença GPLv3 acima cobre apenas o código-fonte deste projeto. As fotos de notebooks Acer Predator/Nitro em `predator-sense-gui/resources/models/` são imagens de produto de terceiros (veja [Aviso Legal](#aviso-legal) acima) e **não** estão cobertas pela concessão da GPLv3; todos os direitos sobre essas imagens permanecem com a Acer Inc. e/ou os fotógrafos originais.\n\n**Este software é fornecido \"como está\", sem garantia de qualquer tipo.** Os autores não se responsabilizam por quaisquer danos que possam ocorrer pelo uso deste software. Ao instalar e usar este software, você reconhece que o faz por sua conta e risco.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleyton1986%2Fpredator-sense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcleyton1986%2Fpredator-sense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcleyton1986%2Fpredator-sense/lists"}