本日、LiPet の開発における重要なマイルストーンを達成しました。スキル&プラグインシステムの基盤が完成しました。LiPet を単なる静的なデスクトップペットにするのではなく、拡張性を持ちながらも macOS の安定性、バッテリー寿命、プライバシーを一切犠牲にしない設計を実現しました。
1. 従来のデスクトップペット拡張の課題
デスクトップアシスタントの拡張機能を構築する際、従来は2つの極端な手法に陥りがちでした:
- ハードコードの罠: 新機能(天気、ポモドーロ、残高確認)を追加するたびにネイティブコードを書き直し、DMG を再配布してアプリ全体を更新させる必要があります。
- 安全でないスクリプト実行: 任意の JavaScript や Python を実行可能にすると、メモリ肥大化、バッテリーの消耗、セキュリティ脆弱性が発生します。
LiPet では第3の道を選択しました:宣言型データパケット+ネイティブ保護パイプラインです。
2. 宣言型スキルデータパケットとクラウド即時配信
LiPet における「スキル」は実行ファイルではなく、厳格に検証された宣言型データパケットです:
- マニフェストとメタデータ: 一意の ID、表示名、アイコンバッジ、カテゴリ。
- コマンド仕様: 外部エンドポイント(天気の取得、API 残高の確認方法など)の宣言的定義。
- プレゼンテーションスキーマ: 吹き出し、タイムライン、円形ゲージを描画する構造化テンプレート。
- パーミッション定義: アクセス先ドメイン、更新頻度、通知ポリシーの明示。
スキルが純粋な構造化データであるため、公式クラウドから最新のスキルが即座に配信されます。アプリ本体(DMG)のアップデートを行うことなく、新しいスキルが利用可能になります。
3. AI 残高 Gauge メーター
主要なスキルカテゴリの1つとして、AI サブスクリプションおよび API クォータの残高確認を提供します。OpenAI、Anthropic Claude、Google Gemini、ローカル Ollama の残高を美しい円形ゲージで可視化します。
4. 権限モデルとホワイトリストによるセキュリティ
スキルインストール時には、通信先ドメインや通知頻度が明示され、特権操作はサンドボックス内で厳格に保護されます。API キーなどの機密情報はローカルにのみ保存され、外部サーバーへ送信されることはありません。
5. 身体タッチマッピングと現実イベント連動
ペットセンターで身体を複数のゾーンに分割し(例:頭タップで天気、お腹ダブルクリックで AI 残高)、外部の天気シグナル(雨が降ると身震いして水を払う、寒い日は丸まる)とシームレスに連動します。
6. 今後の予定
今後はスプライトアニメーションの再生速度調整とジェスチャー判定の最適化を進め、初期プレリリースビルドの配布準備を進めてまいります。