Об этом проекте

pixelpets — это настольный компаньон на базе Electron для Windows 10/11 с бета-портом для macOS 12+ (код завершен и подписан ad-hoc, но, согласно README, еще не запускался на реальном оборудовании Apple). Linux официально не поддерживается: оверлей и глобальные перехваты ввода доступны только для Windows/macOS. Вы можете установить готовый установщик для Windows или запустить проект из исходного кода с помощью git, Node 20 или новее, выполнив `npm install` / `npm start`; браузерное демо запускает тот же рендерер без необходимости установки. Сборки не подписаны, поэтому Windows SmartScreen и macOS Gatekeeper выдадут предупреждение при первом запуске; установка регистрирует приложение для автозапуска при входе в систему (`npm run autostart:off` отключает эту функцию). Что он делает Питомец живет в прозрачном, кликабельном оверлее поверх всех окон; кликабельным является только сам питомец. Он реагирует на поглаживания, перетаскивание, печать, прокрутку и движения курсора, причем реакции зависят от внутренней модели настроения — от спокойствия до гиперактивности (zoomies). Перетаскивание растягивает его, а точка отпускания становится его новым домом на нижней линии. Правый клик переключает окрасы; касание вызывает появление счастливых глаз, сердечек и чириканье; наведение курсора на голову или тело вызывает различные реакции на поглаживание. Печать в любом месте вызывает «замешивание лапками» (быстрая печать приводит к перегреву), а прокрутка заставляет его охотиться за листком или лезть по веревке с клубком в окрасах с арт-рисунками. Иконка в трее предоставляет доступ к настройкам, запуску перерыва, выбору окраса, игровой зоне, переключателям звука/охоты/настроения и выходу. Визуальные и аудиоэффекты Приложение включает 14 окрасов кошек и одного черного лабрадора, которые перекрашиваются в момент отрисовки из одного спрайта с кодировкой ролей. Анимации, включая конечности, скомпонованы в тот же спрайт, поэтому каждый окрас и оба вида животных получают все позы в своих цветах без дополнительных файлов изображений. Пользователи могут создавать, импортировать и экспортировать собственные окрасы. Аудиофайлы полностью отсутствуют: мяуканье, лай, мурлыканье, одышка и импровизированный lo-fi музыкальный цикл синтезируются в реальном времени с помощью Web Audio. Функции продуктивности Помимо поведения питомца, приложение предоставляет таймеры перерывов и Pomodoro, повторяющиеся напоминания, закрепленную заметку, уведомления о непрочитанной почте IMAP и напоминания из календаря. Focus Guard считывает состояние «занят» из активного события календаря, режима «Тихий час» или рабочего режима, «паркует» питомца и удерживает сообщения, чтобы не прерывать демонстрацию экрана; удержанные сообщения суммируются в одну строку, когда вы освобождаетесь. Настройки сохраняются в `settings.json` в папке данных приложения пользователя; установки, сделанные до переименования проекта, мигрируют автоматически. Таймеры и напоминания работают только при запущенном приложении и используют локальное время. Интеграция с AI-агентами pixelpets может реагировать на статус работы кодинг-агента: он задумчиво прикладывает лапу к подбородку, пока агент думает, постукивает в такт спиннеру во время работы, вздрагивает при ошибках, а когда агент заканчивает — прыгает и мяукает. Любой инструмент может подать сигнал, запустив `agent-hook.js` с таким статусом, как thinking, editing, error, done или idle, что записывает небольшой файл статуса, за которым следит питомец. В комплекте идут готовые конфигурации для Claude Code, Codex CLI, Cursor, Antigravity и Kiro; помощник безопасен для хуков: он вычитывает stdin и отвечает `{"continue": true}`, чтобы не блокировать и не изменять работу агента. Конфиденциальность Поскольку приложение реагирует на печать и прокрутку, оно слушает глобальные события ввода. В README указано, что ввод используется только для запуска анимаций в моменте на вашем устройстве: нажатия клавиш никогда не регистрируются, не хранятся и не передаются. Телеметрии, автообновлений и сетевых соединений нет, за исключением случаев, когда вы настраиваете необязательные уведомления почты или календаря, которые взаимодействуют только с указанными вами серверами через изолированные рабочие процессы. Пароли приложений IMAP хранятся в зашифрованном виде с помощью Electron `safeStorage`, а не в `settings.json`. Разработка и документация Документация охватывает функции, пользовательские окрасы, архитектуру, руководство по разработке, набор кадров для ручной отрисовки и импорта поз, хуки агентов и небольшой инструмент терминала для iPad. `npm test` запускает набор тестов без Electron или GPU, `npm run lint` соответствует проверкам CI вместе с проверкой загрузки, `npm run poses:cat` генерирует контактные листы всех действий для каждого окраса для визуального QA, а `npm run demo:all` обновляет медиафайлы в README. Поскольку оверлей композитируется через GPU, обычные скриншоты не могут его запечатлеть, поэтому визуальный обзор опирается на эти контактные листы. Проект распространяется под лицензией MIT; арт, код и звук заявлены как оригинальные. В качестве вдохновения указаны два open-source настольных питомца, при этом подчеркивается, что сторонние ассеты, спрайты, аудио или брендинг не используются. Вклад сообщества приветствуется: имеется руководство по контрибьютингу, политика конфиденциальных отчетов о безопасности, обсуждения пользовательских окрасов и сетапов, а также бета-чеклист для владельцев Mac как наиболее полезный вид текущего вклада.