
デスクトップにペットやプラグイン、オプションのローカルエージェント連携機能を追加する、デスクトップコンパニオンプラットフォーム。
OpenPetsは、デスクトップ上にアニメーションするコンパニオンを配置します。さらにプラグインを使用することで、作業集中タイマー、リマインダーシステム、ミニゲーム、ランチャー、あるいはコーディングエージェントの相棒へと進化させることができます。

by Boring Dystopia Development
<a href="https://boringdystopia.ai/"><img src="https://img.shields.io/badge/boringdystopia.ai-111111?style=for-the-badge&logo=vercel&logoColor=white" alt="boringdystopia.ai"></a>
<a href="https://x.com/alvinunreal"><img src="https://img.shields.io/badge/X-@alvinunreal-000000?style=for-the-badge&logo=x&logoColor=white" alt="X @alvinunreal"></a>
<a href="https://t.me/boringdystopiadevelopment"><img src="https://img.shields.io/badge/Telegram-Join%20channel-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram Join channel"></a>
他の言語で読む: English | 日本語 | 한국어 | 简体中文 | 繁體中文 | Português (Brasil) | Español (LatAm)
最新のOpenPetsデスクトップリリースをダウンロードして起動します。エージェントのセットアップは不要で、すぐにペットが表示されます。
OpenPetsによってコーディング環境やデスクトップのワークスペースが少しでも楽しくなったら、ぜひこのリポジトリにスターをお願いします。

OpenPetsを楽しむために、開発者である必要や、AIエージェントと接続する必要はありません。デスクトップアプリは、公式プラグインのラインナップとともに、インストールしてすぐに完全に動作します。
OpenPets Releasesから、お使いのオペレーティングシステム用のパッケージをダウンロードします。
OpenPets-*-mac-arm64.dmgOpenPets-*-mac-x64.dmgOpenPets-*-win-x64-setup.exeOpenPets-*-linux-x86_64.AppImageNote: 現在のビルドは署名されていない場合があります。macOSでセキュリティ警告により実行がブロックされた場合は、ターミナルから以下のコマンドを実行して隔離フラグ(quarantine flag)を削除してください。
bash xattr -dr com.apple.quarantine /Applications/OpenPets.app
インストール済みのペットのブラウズ、アニメーションフレームのプレビュー、および各ワークスペースまたはエージェントウィンドウを監視するペットの設定を、内蔵の Pet Gallery から行うことができます。

OpenPets v3には、モジュール式の Official Plugin Catalog が同梱されています。デスクトップのコントロールセンターを介してプラグインを有効化または設定し、集中タイマー、リマインダー、インタラクティブなミニゲームを追加できます。
OpenPetsのプラグインシステムは、カスタムコンパニオンの動作を作成するための、安全で開発者に優しいSDK(@open-pets/plugin-sdk)を提供します。
voice:listen、clipboard、pet:speak:dynamicなど)には、明示的な同意トグルが必要です。ctx)プラグインは ctx オブジェクトを介してデスクトップ環境と連携し、以下を提供します。
- ctx.pets / ctx.pet: デフォルトおよび生成されたペットインスタンスの管理(生成、移動、アニメーション、リアクション)。
- ctx.ui: アラート、一時的/ピン留めされた吹き出し、カスタムメニュー、パネル、およびステータスHUD。ピン留めされたミニHUD吹き出しは、Virtual Petステータスのような進行状況バーを含むコンパクトな2x2グリッドレイアウトをサポートします。
- ctx.audio: ホストが管理するアラートトーンまたはユーザーがインポートしたカスタムオーディオをトリガーします。
- ctx.schedule: 正確なタイマーフック(once、every、daily、cron、at)を設定します。
- ctx.ai / ctx.secrets: プラグインソースにAPIキーを公開することなく、ユーザーがホスト側で設定したAIプロバイダー(Anthropic、OpenAI、Ollama)と連携します。
- ctx.storage: 変更の購読機能を備えたシンプルなJSONキーバリューストア。
- その他のAPI: events、assets、bus、net(ストリーミングサポート付き)、notify、voice(TTSおよびプッシュトーク式STT)、auth(PKCEブラウザフロー)、files(安全に選択されたOSダイアログ)、system、commands、status、および log。
公式CLIを使用して、プラグインの作成、検証、テストを行います。
公式レイアウト(blank、reminder、ambient、ai-chat、tamagotchi、calendar)のいずれかからテンプレートを作成します。
npx @open-pets/cli plugin new "My Plugin" --template tamagotchi
パッケージ化する前に、マニフェストのレイアウト、権限、および構成スキーマを検証します。
npx @open-pets/cli plugin validate ./my-plugin
デスクトップアプリを起動することなく、決定論的なテストを記述できます。@open-pets/plugin-sdk/testing の createTestHarness を使用して、ホストのモック、クロックの進捗、アクションのトリガー、およびリアクションの検証を行うことができます。
import { createTestHarness } from "@open-pets/plugin-sdk/testing";
import { register } from "./index.js";
const h = createTestHarness(register, { permissions: ["pet:speak", "schedule"] });
await h.start();
h.expectScheduled("decay");
await h.clock.advance("30m");
h.expectSpoke(/need attention/i);
プラグインプロジェクトからプラグインのテストを実行します。
npm test
開発エージェントがデスクトップコンパニオンを操作できるようにしたい場合、OpenPetsはオプションのローカルMCP(Model Context Protocol)連携レイヤーを提供します。

エージェントを設定すると、OpenPetsは標準的なMCPツールを公開します。エージェントはアニメーションをトリガーし、ステータスを変更し、ローカルでテキストの吹き出しを表示できます。
1. Claude Code: OpenPets MCP、~/.claude/CLAUDE.md 内のメモリー指示文、および ~/.claude/settings.json 内のフックをインストールします。
2. OpenCode: OpenPets MCP、カスタムプロジェクトの指示ファイル、および @open-pets/opencode 自動フックプラグインをインストールします。
3. Cursor / Other MCP Clients: OpenPetsを標準のstdioまたはTCPのMCPサーバーとして登録します。

OpenPetsをMCPツールとして実行するには、エージェントの設定にサーバーを追加します。
{
"mcpServers": {
"openpets": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@open-pets/mcp@latest"]
}
}
}
Tip: 特定のペットを対象にするには、--pet <petId> 引数を渡します。
openpets_status: 対象のペットIDを取得し、ランタイムの接続状態を確認します。openpets_react: ペットのリアクションアニメーションを設定します(例: thinking、editing、testing、success、error)。openpets_say: 短い吹き出しを表示します。OpenPetsコードベースへの貢献、変更のテスト、またはデスクトップパッケージのローカルビルドを行うためのセクションです。
プロジェクトワークスペースの依存関係をインストールします。
pnpm install
Electronアプリケーションをローカルの開発者モードで起動します。
pnpm dev:desktop
ロードおよび監視されたライブ公式プラグインを使用して起動します。
pnpm dev:desktop:plugins
ワークスペースの型チェック、コード適合性検証、およびテストを実行します。
pnpm check
pnpm typecheck
pnpm test
デスクトップアプリケーションをパッケージ化します。
# 対象のOSディレクトリへのビルド & パッケージ化
pnpm package:desktop:dir
# 最終的なインストーラー/セットアップアーカイブへのビルド & パッケージ化
pnpm package:desktop
apps/desktop Electron デスクトップアプリケーション
packages/client @open-pets/client (IPC ヘルパーライブラリ)
packages/mcp @open-pets/mcp (Model Context Protocol stdio サーバー)
packages/claude @open-pets/claude (Claude 連携、メモリー、& フック)
packages/opencode @open-pets/opencode (OpenCode プラグイン & 指示文設定)
packages/pi @open-pets/pi (Pi CLI 拡張機能連携)
packages/agent-events 共有サニタイザーおよびイベントヘルパーパッケージ
packages/cli @open-pets/cli (設定 & 雛形作成用ユーザーエントリーポイント CLI)
packages/sdk @open-pets/plugin-sdk (Plugin SDK v3 宣言 & テストハーネス)
packages/pet-format @open-pets/pet-format (ペットのマニフェストとスキーマタイプ)
plugins/official 公式のファーストパーティプラグインワークスペース(ホストカタログにバンドル)
docs/ 技術仕様およびアーキテクチャドキュメント
docs/ フォルダ内にある詳細なアーキテクチャおよびプラットフォームドキュメントをご覧ください。
- docs/plugins.md - プラグインプラットフォーム SDK v3 マニフェスト、権限、およびテストキット。
- docs/claude-integration.md - Claude Codeとの連携(メモリー、フック、MCP)。
- docs/opencode.md - OpenCode ワークスペースとの連携。
- docs/wsl-ipc.md - WSLからWindowsへのTCPブリッジの設定。
- docs/testing.md - ワークスペースのテストおよび適合性検証戦略。
- docs/release.md - アプリケーションのパッケージングおよびリリースプロセス。
- docs/workflow.md - コア開発および貢献ワークフロー。
$ claude mcp add openpets \
-- python -m otcore.mcp_server <graph>