[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81325":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":25,"discoverSource":26},81325,"OpenPet","X-T-E-R\u002FOpenPet","X-T-E-R","OpenPet: local desktop pet runtime for AI agents. 本地桌宠运行时，支持宠物导入与 CLI\u002FMCP\u002FHTTP API 控制。",null,"TypeScript",46,12,1,0,2,44.54,"GNU General Public License v3.0",false,"master",true,[],"2026-06-12 04:01:32","\u003Cp align=\"center\">\n  \u003Cimg src=\"public\u002Fbrand\u002Fopenpet-logo.png\" alt=\"OpenPet desktop pet logo\" width=\"180\" \u002F>\n\u003C\u002Fp>\n\n# OpenPet\n\n[简体中文](README.zh-CN.md)\n\nOpenPet is a local desktop pet runtime for Codex-compatible companions. It shows a transparent always-on-top pet window, lets users import compatible pets, and exposes a local control API so OpenClaw, Codex, and other agents can show status through actions, bubbles, and events.\n\nGitHub: \u003Chttps:\u002F\u002Fgithub.com\u002FX-T-E-R\u002FOpenPet>\n\n## Quick Start\n\nFor most Windows users, install a packaged build from [GitHub Releases](https:\u002F\u002Fgithub.com\u002FX-T-E-R\u002FOpenPet\u002Freleases) and launch OpenPet. The pet appears on your desktop, can be dragged to the position you want, and can be configured from the pet right-click menu or the app tray\u002Fmenu.\n\nRelease builds are generated for Windows, macOS, and Linux. Development and manual verification currently happen on Windows; macOS and Linux packages are built by CI but have not been manually tested by the developer yet.\n\n### Platform Status\n\n- Windows: primary manually verified platform.\n- macOS: CI builds Apple Silicon and Intel artifacts separately. Normal launch of a downloaded macOS app requires Apple Developer ID signing and notarization; if the release was built without those credentials, Gatekeeper may show that OpenPet is damaged or cannot be verified. Treat unsigned macOS artifacts as tester builds, not production-ready distribution.\n- Linux: CI builds `.deb`, `.rpm`, and `.AppImage` artifacts on Ubuntu, but runtime behavior has not been manually verified yet.\n\nTo run from source:\n\n```powershell\npnpm install\npnpm tauri:dev\n```\n\n## Features\n\n- Transparent, borderless, always-on-top desktop pet window.\n- Click-to-act, drag-to-position, right-click pet menu, and app tray\u002Fmenu controls.\n- Website import for compatible public Codex pet pages, with imported assets stored locally and served by OpenPet.\n- Local pet import through the running runtime API for agent and CLI workflows.\n- Companion events for `thinking`, `tool-running`, `reviewing`, `success`, `failure`, and `attention`.\n- Settings for English \u002F Simplified Chinese UI, pet selection, click action mode, random click action pool, event reactions, event bubbles, idle self-play, autonomous walking, hover pause, walking speed, scale, reduced motion, and configurable HTTP API listen address \u002F port.\n\n## Import Pets\n\nBundled pets live in `public\u002Fpets\u002F\u003Cid>\u002F`. Imported pets are stored in the app data directory and join the same runtime catalog. A Codex-compatible package should include:\n\n```text\npet.json\nspritesheet.webp\n```\n\nThe bundled `nia` pack uses a `1536x1872` spritesheet atlas with an `8x9` grid and `192x208` cells.\n\nOpen Settings to import from a supported website URL. Current compatibility targets:\n\n- [Petdex](https:\u002F\u002Fpetdex.crafter.run\u002F): `https:\u002F\u002Fpetdex.crafter.run\u002Fpets\u002F\u003Cslug>`\n- [Codex Pets](https:\u002F\u002Fcodex-pets.net\u002F): `https:\u002F\u002Fcodex-pets.net\u002Fshare\u002F\u003Cid>` and `https:\u002F\u002Fcodex-pets.net\u002F#\u002Fpets\u002F\u003Cid>`\n- [SpriteYard](https:\u002F\u002Fspriteyard.com\u002F) and [Codex Pet Shop](https:\u002F\u002Fwww.codexpetshop.com\u002F): generic support for pages that expose a public Codex-compatible `spritesheet.webp`\n\nThe importer downloads public metadata and the WebP spritesheet for the URL you provide. It does not execute third-party install commands and does not hotlink gallery images at runtime.\n\n## Agent Skills And Protocols\n\nOpenPet is designed to be controlled by local agents. Install only the skills you need:\n\n- `openpet-cli`: CLI control path for agents that can run local commands.\n- `openpet-mcp`: MCP control path for agents or clients that support Model Context Protocol.\n- `openpet-asset`: optional pet creation \u002F validation workflow; install only when creating or packaging pets.\n\nFor normal control, choose either `openpet-cli` or `openpet-mcp`. Agents that can call localhost directly can use the HTTP API guidance below without installing a separate skill.\n\n### Agent Hook Tip\n\nIf you want OpenPet to collaborate with an existing agent, add a short note to `AGENTS.md`, `.cursorrules`, or a similar agent instruction file. Tell the agent to use an installed OpenPet skill, such as `openpet-cli` or `openpet-mcp`, for desktop-pet progress updates during long work.\n\nIf several OpenPet skills are installed, let the agent choose one integration path and condense the chosen rule into its local instruction file. The rule should reference the installed skill instead of duplicating protocol or command details.\n\n### CLI\n\n```powershell\npython skills\\openpet-cli\\scripts\\openpet_cli.py --help\npython skills\\openpet-cli\\scripts\\openpet_cli.py doctor --json\npython skills\\openpet-cli\\scripts\\openpet_cli.py status --json\npython skills\\openpet-cli\\scripts\\openpet_cli.py event thinking --message \"Reading the repo...\"\npython skills\\openpet-cli\\scripts\\openpet_cli.py import-local public\\pets\\nia --dry-run --json\npython skills\\openpet-cli\\scripts\\openpet_cli.py import-website https:\u002F\u002Fpetdex.crafter.run\u002Fpets\u002Fboba\n```\n\nIn agent instructions, tell the agent to use the `openpet-cli` skill for status checks, progress events, or pet imports. The CLI calls the running local runtime; if OpenPet is not reachable, live commands fail safely with a clear message instead of modifying app data behind the app's back.\n\n### MCP\n\nThe MCP bridge is for IDEs or agents that support Model Context Protocol. Open your IDE \u002F agent MCP settings and register an `openpet` stdio server that points at this repository's MCP script:\n\n```json\n{\n  \"mcpServers\": {\n    \"openpet\": {\n      \"command\": \"python\",\n      \"args\": [\"skills\u002Fopenpet-mcp\u002Fscripts\u002Fopenpet_mcp_server.py\"]\n    }\n  }\n}\n```\n\nUse an absolute script path if your MCP client does not run from the repository root. The Python environment used by the client should have the official MCP SDK installed:\n\n```powershell\npython -m pip install \"mcp[cli]\"\n```\n\nThe MCP server exposes tools for status, action, say, companion event, local import, and website import. It talks to the running OpenPet HTTP API; if OpenPet uses a custom endpoint, add `--base-url http:\u002F\u002F127.0.0.1:\u003Cport>` to the server args or set `OPENPET_BASE_URL`.\n\n### Direct HTTP API\n\nAgents can also call the HTTP API directly:\n\n```http\nGET \u002Fapi\u002Fstatus\nPOST \u002Fapi\u002Faction\nPOST \u002Fapi\u002Fsay\nPOST \u002Fapi\u002Fevent\nPOST \u002Fapi\u002Fimport\u002Flocal\nPOST \u002Fapi\u002Fimport\u002Fwebsite\nGET \u002Fapi\u002Fpets\u002F\u003CpetId>\u002Fspritesheet\n```\n\nExample Companion event:\n\n```bash\ncurl -X POST http:\u002F\u002F127.0.0.1:17321\u002Fapi\u002Fevent \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"type\":\"thinking\",\"message\":\"Reading the repo...\",\"ttlMs\":4000}'\n```\n\nExample local import through the runtime:\n\n```bash\ncurl -X POST http:\u002F\u002F127.0.0.1:17321\u002Fapi\u002Fimport\u002Flocal \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"source\":\"public\u002Fpets\u002Fnia\"}'\n```\n\nYou can change the runtime listen address and port in Settings. Endpoint changes are saved and take effect after restarting OpenPet.\n\n## Developer Checks\n\n```powershell\npnpm build\ncargo test --manifest-path src-tauri\u002FCargo.toml\npython skills\\openpet-cli\\scripts\\openpet_cli.py --help\npython skills\\openpet-mcp\\scripts\\openpet_mcp_server.py --help\npython skills\\openpet-cli\\scripts\\openpet_cli.py doctor --json\npython skills\\openpet-cli\\scripts\\openpet_cli.py import-local public\\pets\\nia --dry-run --json\n```\n\nFor release checks and bundles:\n\n```powershell\npnpm release:check\npnpm release:bundle\n```\n\nmacOS release distribution needs Apple Developer ID signing and notarization. Configure `APPLE_CERTIFICATE`, `APPLE_CERTIFICATE_PASSWORD`, `KEYCHAIN_PASSWORD`, `APPLE_ID`, `APPLE_PASSWORD`, and `APPLE_TEAM_ID` repository secrets before publishing macOS artifacts for normal end users; otherwise the workflow falls back to ad-hoc signed CI artifacts that Gatekeeper may block.\n\n## Safety And Rights\n\n- The control API defaults to `127.0.0.1` and is intended for tools running on the same machine. Use `0.0.0.0` only for trusted local-network workflows.\n- Imported pets may include artwork, characters, trademarks, or fan art owned by third parties. Only import pets you have the right to use.\n- Before publishing builds or asset bundles, confirm redistribution rights for bundled art. Replace uncertain assets with project-owned assets.\n- OpenPet is licensed under GPL-3.0-or-later; see `LICENSE`. Imported pets and third-party artwork may have separate rights requirements.\n- OpenPet is not affiliated with, endorsed by, or sponsored by OpenAI, Petdex, Codex Pets, SpriteYard, Codex Pet Shop, or other community galleries.\n\n## Project Links\n\n- GitHub: \u003Chttps:\u002F\u002Fgithub.com\u002FX-T-E-R\u002FOpenPet>\n- Support: \u003Chttps:\u002F\u002Fafdian.com\u002Fa\u002Fxter123>\n\n## Friendly Links\n\n- [linux.do](https:\u002F\u002Flinux.do)\n","OpenPet 是一个本地桌宠运行时，支持宠物导入并通过 CLI\u002FMCP\u002FHTTP API 控制。其核心功能包括透明的、始终置顶的桌宠窗口，用户可以导入兼容的宠物，并通过点击、拖拽以及右键菜单进行控制。此外，它还提供了一系列事件和设置选项，如思考、工具运行等状态展示，以及语言切换、宠物选择、动作模式等个性化配置。该项目使用 TypeScript 编写，适用于希望在桌面环境中添加互动元素的用户，特别是那些对 AI 代理或虚拟伴侣感兴趣的开发者。目前主要在 Windows 平台上进行了手动验证，macOS 和 Linux 版本由 CI 构建但未经过充分测试。","2026-06-11 04:04:39","CREATED_QUERY"]