飛行雪絨(FlyingSnowVelvet)— Aemeath デスクトップペット
概要
FlyingSnowVelvet-Aemeath は、デスクトップ上で動作する“ペット(桌面宠物)”と AI チャット/音楽再生等の機能を統合したクロスプラットフォームアプリケーションです。PyQt5 を UI に、イベントバスと動的プラグイン方式で機能を分離・拡張できる設計を採用。ローカル実行の Ollama や OpenAI 互換 API に対応し、モデル応答で埋め込まれた特殊トークン(###指令###)を解析してペットのアクション(音楽操作、オブジェクト生成、移動、回想など)に変換するツールディスパッチ機能を持ちます。インストーラ(install_deps.py)は利用可能な Python を自動検出し依存を導入、Vosk 音声認識モデルのダウンロードも自動化するため導入は比較的容易です。
リポジトリの統計情報
- スター数: 14
- フォーク数: 0
- ウォッチャー数: 14
- コミット数: 2
- ファイル数: 20
- メインの言語: Python
主な特徴
- PyQt5 ベースの軽量デスクトップ UI と常駐ペット(Windows 10/11 特化だがクロスプラットフォーム志向)
- AI チャット統合:ローカル Ollama、OpenAI 互換 API、ルールベース応答の併用
- 音声入出力:Vosk を用いた音声認識(モデル自動ダウンロード)、TTS/音声再生を想定
- ツールディスパッチ:モデル応答中の「###指令###」を解析してペット操作やツール呼び出しへ変換
技術的なポイント
本プロジェクトは「デスクトップ UI」「AI モデル連携」「音声処理」「動的プラグイン/イベント駆動」の4点を技術的中核に据えています。UI/フロントは PyQt5 を使い、lib/core/qt_desktop_pet.py がアプリケーションのエントリポイントとしてウィンドウ=ペットの初期化やレンダリング、アイドル時のアニメーション管理を担います。動作制御はイベントバスで疎結合に実装されており、lib/script/main.py がオーケストレーション(起動シーケンス、プラグイン初期化、外部サービスとの接続管理など)を行います。
AI 側は汎用性を重視し、ローカル Ollama と OpenAI 互換の API を統一的に扱える抽象化レイヤを lib/script/chat 以下で提供。更に出力テキスト中に埋め込まれた「###指令###」トークンを lib/script/tool_dispatcher が解析・マッピングして、音楽制御、音量変更、アラーム設定、シーン(雪豹/ソファ/バイクなどの生成)といったペット固有のコマンドに変換します。これによりモデルの出力一つで UI 操作や音声再生が連動する「会話→アクション」のワークフローが実現されています。
音声処理は lib/script/voice を中心に構成され、install_deps.py による Vosk モデルの自動取得を前提に認識パイプラインを用意。リアルタイムの音声認識(VAD を含む簡易検出)と TTS(外部ライブラリ経由を想定)を組み合わせ、ユーザーの声かけ→モデル応答→ペットアクションという対話ループを構築します。さらに動的プラグイン体系により機能追加や振る舞いの変更が容易で、ランタイムの「瘦身(サイズ削減)」と安定化にも注力している点が特徴です。
実装上の留意点としては、ローカルモデル利用時の計算資源、音声 I/O のデバイス依存性(Windows のサウンド API 周り)、および外部 API キー管理やフォールバック(ルールベース応答への降格)設計が挙げられます。これらを踏まえ、開発者はプラグインやツールディスパッチの拡張で機能を増やしやすく、利用者は比較的簡単にローカル/クラウドモデルを切り替えて使える作りになっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir
- .gitignore: file
- AA使用必读.html: file
- AA更新日志.txt: file
- CHANGELOG.md: file
…他 15 ファイル
(主要スクリプト)
- install_deps.py: 依存関係の検出・インストールと Vosk モデルのダウンロードを自動化
- lib/core/qt_desktop_pet.py: デスクトップペットの UI / エントリ
- lib/script/main.py: 起動とオーケストレーション
- lib/script/chat/: モデル抽象化とチャット関連処理
- lib/script/tool_dispatcher/: モデル出力→アプリコマンド変換
- lib/script/voice/: 音声認識・再生に関する実装(Vosk 前提)
まとめ
デスクトップペットと AI を組み合わせた実用的な統合アプリ。拡張性とローカルモデル対応が魅力。
リポジトリ情報:
- 名前: FlyingSnowVelvet-Aemeath
- 説明: Aemeath-deskpet-AI爱弥斯多功能AI交互桌宠
- スター数: 14
- 言語: Python
- URL: https://github.com/MARK42IRPC/FlyingSnowVelvet-Aemeath
- オーナー: MARK42IRPC
- アバター: https://avatars.githubusercontent.com/u/144039148?v=4
READMEの抜粋:
飞行雪绒 LTS 1.0.5 beta 9
跨平台桌面宠物(主打 Windows 10/11)与音乐 / AI 伴聊一体化体验,基于 PyQt5、事件总线与动态插件体系构建。当前版本聚焦于稳定性和运行时瘦身,兼容本地 Ollama、大模型 OpenAI 兼容 API 以及规则回复降级。
TL;DR:
install_deps.py会自动发现可用 Python、安装依赖、下载 Vosk 模型并启动宠物;lib/core/qt_desktop_pet.py是桌宠入口,lib/script/main.py承担 orchestration。
功能速览
- AI 伴聊与工具调度:
lib/script/chat统一了本地 Ollama、OpenAI 兼容 API 以及规则回复模式,并通过lib/script/tool_dispatcher将模型输出中的###指令###转译为宠物命令(音乐、音量、闹钟、雪豹/沙发/摩托等对象生成、清理、瞬移、回忆等)。 - 语音 / 语音识别:
lib/script/voice…