このプロジェクトについて
pixelpetsは、Windows 10/11向けのElectronデスクトップコンパニオンで、macOS 12+向けのベータ版ポート(コードは完成しアドホック署名済みですが、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を用いてリアルタイムで合成されます。
【生産性機能】
ペットの動作以外に、休憩・ポモドーロタイマー、繰り返しリマインダー、ピン留めメモ、IMAP未読メール通知、カレンダー通知などの機能を提供します。「Focus Guard」は、ライブカレンダーイベント、Quiet Hours、またはWorkモードから「取り込み中」の状態を読み取り、ペットを待機させ、メッセージを保持して画面共有を妨げないようにします。保持されたメッセージは、手が空いた時に1行に要約されて表示されます。設定はユーザーごとのアプリデータフォルダにある`settings.json`に保存され、プロジェクト名変更前のインストール版からの移行もサポートしています。タイマーとリマインダーはアプリの実行中のみ動作し、ローカルクロックを使用します。
【AIエージェント連携】
pixelpetsは、コーディングエージェントの作業ステータスに反応できます。エージェントが思考中は前足を顎に当てて考え込み、作業中はスピナーに合わせてタップし、エラー時にはびくっとし、完了すると跳ねて鳴きます。`agent-hook.js`をthinking、editing、error、done、idleなどのステータスで実行すれば、どのようなツールからでも信号を送ることができ、ペットはそれを監視する小さなステータスファイルを読み取ります。Claude Code、Codex CLI、Cursor、Antigravity、Kiro向けの既製設定が同梱されており、ヘルパーはhook-safe(標準入力を消費し`{"continue": true}`を返答するため、エージェントをブロックしたり変更したりしません)です。
【プライバシー】
タイピングやスクロールに反応するため、アプリはグローバル入力イベントをリッスンします。READMEには、入力はあなたのマシン上でその瞬間のアニメーションをトリガーするためだけに使用され、キーストロークがログに記録されたり、保存されたり、送信されたりすることはないと明記されています。テレメトリや自動アップデートはなく、オプションのメールやカレンダー通知(分離されたワーカープロセスから指定したサーバーとのみ通信)を設定しない限り、ネットワーク接続は一切行われません。IMAPアプリパスワードは`settings.json`ではなく、Electronの`safeStorage`を使用して保存時に暗号化されます。
【開発とドキュメント】
ドキュメントには、機能、カスタムコート、アーキテクチャ、開発ガイド、手描きポーズのインポート用フレームパック、エージェントフック、および小型のiPadターミナルツールについて記載されています。`npm test`はElectronやGPUなしでテストスイートを実行し、`npm run lint`はCIで実行されるものと同様のチェックを行います。`npm run poses:cat`は視覚的QAのために全コートの全アクティビティのコンタクトシートを生成し、`npm run demo:all`はREADMEのメディアを再生成します。オーバーレイはGPUで合成されるため、通常のスクリーンショットではキャプチャできず、視覚的なレビューはこれらのコンタクトシートに依存しています。
本プロジェクトはMITライセンスです。アート、コード、サウンドはオリジナルであるとされており、2つのオープンソースデスクトップペットからインスピレーションを得たとして引用していますが、サードパーティのアセット、スプライト、オーディオ、ブランディングは一切使用されていません。コントリビューションは歓迎されており、貢献ガイド、プライベートなセキュリティ報告ポリシー、カスタムコートやデスクセットアップのためのディスカッションが用意されています。また、Macユーザーによるベータ版チェックリストへの協力が、現在最も有用な貢献として期待されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.