{"id":50621006,"url":"https://github.com/igugyj/pelr","last_synced_at":"2026-06-06T12:00:57.552Z","repository":{"id":348435851,"uuid":"1186945979","full_name":"igugyj/Pelr","owner":"igugyj","description":"Utility-oriented Windows desktop pet.","archived":false,"fork":false,"pushed_at":"2026-05-31T15:23:57.000Z","size":27835,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-31T17:10:44.426Z","etag":null,"topics":["ai","live2d","live2d-cubism","opengl","openweather-api","qt6","translations","tts","voicevox","window-app","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igugyj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-20T06:54:09.000Z","updated_at":"2026-05-31T15:22:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/igugyj/Pelr","commit_stats":null,"previous_names":["csy214-beep/pelr","igugyj/pelr"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/igugyj/Pelr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igugyj%2FPelr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igugyj%2FPelr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igugyj%2FPelr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igugyj%2FPelr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igugyj","download_url":"https://codeload.github.com/igugyj/Pelr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igugyj%2FPelr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33981125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","live2d","live2d-cubism","opengl","openweather-api","qt6","translations","tts","voicevox","window-app","windows"],"created_at":"2026-06-06T12:00:47.784Z","updated_at":"2026-06-06T12:00:57.520Z","avatar_url":"https://github.com/igugyj.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pelr - Desktop Pet with Practical Tools\n\n[简体中文](docs/README_zh.md)\n\n![GitHub Repo stars](https://img.shields.io/github/stars/igugyj/pelr?style=social)\n![GitHub forks](https://img.shields.io/github/forks/igugyj/pelr?style=social)\n![GitHub issues](https://img.shields.io/github/issues/igugyj/pelr?style=social)\n\n![](https://img.shields.io/badge/C++-00599C?logo=c%2B%2B\u0026logoColor=white)\n![](https://img.shields.io/badge/Qt-41CD52?logo=qt\u0026logoColor=white)\n![](https://img.shields.io/badge/License-MIT-yellow)\n![](https://img.shields.io/badge/Platform-Windows-0078D6?logo=windows\u0026logoColor=white)\n\n**Pelr** is a Live2D-based smart desktop companion that integrates AI chat, text-to-speech, quick launch, TODO management, and a customizable virtual pet experience.\n\n\u003e [!NOTE]\n\u003e This project is in development; functionality and stability may be limited.\n\u003e\n\u003e Non-profit open source project, free for anyone to use.\n\u003e GitHub is the only release source. SourceForge and Gitee have been discontinued.\n\n\u003e [!WARNING]\n\u003e This project does NOT include Live2D Cubism Core. The Core DLL is prohibited from public distribution under Live2D's proprietary license.\n\u003e You **must** download the SDK from the [Live2D website](https://www.live2d.com/en/sdk/download/native/) and place the Core directory in the project path yourself.\n\u003e Pelr qualifies as an \"expandable application.\" If you distribute compiled binaries, you are responsible for obtaining any required Live2D publishing license.\n\n## Features\n\n- **Live2D Character** - Supports model3.json format for an expressive desktop companion\n- **AI Chat** - OpenAI-compatible API for natural language interaction\n- **Expressions \u0026 Motions** - Play built-in expressions and motions if supported by the model\n- **Text-to-Speech \u0026 Lip Sync** - Built-in support for Edge TTS, iFlytek TTS, VOICEVOX, and OpenAI-Compatible TTS. The model's mouth moves automatically when playing audio.\n- **TODO Manager** - Add events and receive reminders\n- **Launch Manager** - Visually manage startup items; launch any file or link (forked from [QuickTray](https://github.com/Pfolg/QuickTray))\n- **Keyboard Monitor** - Real-time display of key press states (forked from [KeyMonitor](https://github.com/Pfolg/KeyMonitor))\n- **Music Tray** - Tray icon rotates with system audio volume (forked from [Rotating Rhythm](https://gitee.com/Pfolg/Rotating-Rhythm))\n- **Weather Service** - Real-time weather via OpenWeather integration\n- **System Monitor** - Real-time memory and disk usage monitoring with detailed breakdown\n- **Highly Customizable** - Rich settings to suit personal preferences\n\n## Roadmap\n\n- [ ] ~~Hotkey support~~\n- [ ] ~~Hot-reload user configuration~~\n- [ ] PMX model support (planning to integrate [saba](https://github.com/benikabocha/saba))\n\n## Preview\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand\u003c/summary\u003e\n\u003cdiv style=\"display: flex; overflow-x: auto; gap: 10px; padding: 10px; background: #f5f5f5; border-radius: 8px;\"\u003e\n  \u003cimg src=\"repo_assets/p1.png\" alt=\"preview1\" style=\"width: 49%; height: auto; flex-shrink: 0; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);\"\u003e\n  \u003cimg src=\"repo_assets/p2.png\" alt=\"preview2\" style=\"width: 49%; height: auto; flex-shrink: 0; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);\"\u003e\n  \u003c/div\u003e\n  \u003cdiv style=\"display: flex; overflow-x: auto; gap: 10px; padding: 10px; background: #f5f5f5; border-radius: 8px;\"\u003e\n  \u003cimg src=\"repo_assets/p3.png\" alt=\"preview2\" style=\"width: 49%; height: auto; flex-shrink: 0; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);\"\u003e\n  \u003cimg src=\"repo_assets/p4.png\" alt=\"preview2\" style=\"width: 49%; height: auto; flex-shrink: 0; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);\"\u003e\n\u003c/div\u003e\n\u003c/details\u003e\n\n## System Requirements\n\n- **OS**: Windows 10/11 (Windows only)\n- **CPU**: Dual-core or better\n- **RAM**: 4GB or more\n- **Storage**: At least 500MB free\n- **GPU**: OpenGL 3.0+ support\n\n## Quick Start\n\n### Download \u0026 Install\n\nSee [docs/index.md](docs/index.md) for usage instructions.\n\n### TTS Backends\n\n- **Edge TTS / iFlytek TTS** — rely on an external Python server: [Pelr_tts_tr](https://github.com/igugyj/Pelr_tts_tr). Per open source license requirements, no pre-built package is provided.\n- **VOICEVOX** — local TTS engine (bundled)\n- **OpenAI-Compatible TTS** — uses any OpenAI-compatible API endpoint\n\n### Update\n\n```sh\ngit fetch \u0026\u0026 git pull\n```\n\nUpdate dependencies according to [CMakeLists.txt](CMakeLists.txt).\n\n### First-Time Setup\n\n1. **Set Live2D model path** (required)\n   - Configure in Settings -\u003e Basic Settings\n   - Supports model3.json format\n   - Find models at: [Booth](https://booth.pm) | [Aplaybox](https://www.aplaybox.com/)\n\n2. **Configure TTS** (optional)\n   - Edge TTS is recommended (free, no configuration needed)\n   - VOICEVOX and OpenAI-Compatible TTS are also available\n   - Register at [iFlytek Open Platform](https://www.xfyun.cn/) if needed\n   - Fill in API credentials in Settings -\u003e TTS\n\n3. **Set up AI service** (optional)\n   - Choose any OpenAI-compatible provider\n\n\u003e [!CAUTION]\n\u003e Do **not** upload the contents of the `user` folder to any platform.\n\n## Project Structure\n\nSee [docs/dev-structure.md](docs/dev-structure.md) for details.\n\n\u003cdetails\u003e\n\u003csummary\u003eArchitecture overview\u003c/summary\u003e\n\n```txt\n+---------------------------------------------------------------+\n|                        Pelr Desktop App                       |\n+---------------------------------------------------------------+\n|                                                                 |\n|  main.cpp (entry point)                                       |\n|    |                                                            |\n|    +-- core          (tray, window management, launcher)       |\n|    +-- ui            (Qt widgets: settings, chat, TODO, system monitor, etc.)  |\n|    +-- ai            (OpenAI-compatible chat API)              |\n|    +-- tts           (TTS dispatch: voicevox/iflytek/Edge/openai-compatible)    |\n|    +-- translation   (translation via Qt Network)              |\n|    |       └── Tencent Translation (Qt -\u003e Tencent Cloud API)   |\n|    |       └── LibreTranslate etc. (same)                     |\n|    +-- keyboard      (keyboard state monitoring)               |\n|    +-- model         (Live2D model extensions, extra motions)  |\n|    +-- utils         (logging, weather, network, spectrum, storage info, process memory...)  |\n|    |       └── kissfft for AudioSpectrumDetector,             |\n|    |            real-time system audio analysis -\u003e tray icon   |\n|    +-- compatLApp    (Live2D rendering wrapper)               |\n|                                                                 |\n+---------------------------------------------------------------+\n                               |\n                               | depends on\n                               v\n+---------------------------------------------------------------+\n|                    Third-Party Libraries                       |\n+---------------------------------------------------------------+\n|                                                                 |\n|  Qt 6.10.1          (GUI, network, multimedia, serial...)       |\n|  Live2D Cubism Native Framework                               |\n|  Live2D Cubism Core (DLL)      (not distributable)            |\n|  GLEW / GLFW       (OpenGL environment)                        |\n|  kissfft           (lightweight FFT for audio spectrum)        |\n|  voicevox_core     (C API, local TTS engine)                  |\n|  ONNX Runtime      (bundled with voicevox_core)               |\n|  stb               (image loading)                             |\n|                                                                 |\n+---------------------------------------------------------------+\n                               |\n                               | network calls (some modules)\n                               v\n+---------------------------------------------------------------+\n|                   External Services / Helper Processes         |\n+---------------------------------------------------------------+\n|                                                                 |\n|   OpenAI-compatible API   (AI chat)                           |\n|   OpenAI-compatible TTS   (optional TTS backend)              |\n|   iFlytek Cloud TTS API  (optional TTS backend)               |\n|   OpenWeather API        (weather data)                       |\n|   Tencent Cloud Translation API (via Qt Network)              |\n|   LibreTranslate etc.    (same)                                |\n|                                                                 |\n|   Python TTS server (separate process, Edge TTS \u0026 some iFlytek)|\n|      ├── Edge TTS (OpenAI-compatible audio interface)          |\n|      └── iFlytek TTS HTTP wrapper (some scenarios)            |\n|                                                                 |\n+---------------------------------------------------------------+\n```\n\n\u003c/details\u003e\n\n## Tech Stack\n\nSee [NOTICE](NOTICE) for third-party notices.\n\n### C++ Core\n\n- **Qt 6.10.1** - Cross-platform application framework\n- **OpenGL** - Graphics rendering (GLEW + GLFW)\n- **Live2D Cubism** - 2D animation engine (model3.json)\n- **STB** - Image processing\n- **VOICEVOX** - Free, medium-quality TTS engine\n- **kissfft** - Real-time spectrum analysis and audio detection\n\n### Python Toolchain (optional)\n\nDependencies listed at [Pelr_tts_tr/requirements.txt](https://github.com/igugyj/Pelr_tts_tr/blob/main/requirements.txt)\n\n## Usage Guide\n\n- **Main navigation**: Use the left sidebar to switch between modules\n- **Chat**: Send messages in the chat panel or double-click the character to open the dialog\n- **Launch Manager**: Manage custom launcher entries\n\nSee [docs/index.md](docs/index.md) for detailed instructions.\n\n## Development \u0026 Build\n\nQuick development guide at [docs/dev-dev.md](docs/dev-dev.md)\n\n## Contributing\n\n- [Report bugs \u0026 suggest features](https://github.com/igugyj/Pelr/issues)\n- [Submit a Pull Request](https://github.com/igugyj/Pelr/pulls)\n- [Project documentation](docs)\n\n## License\n\nDifferent components use different licenses:\n\n- Live2D Cubism SDK uses a [proprietary license](https://www.live2d.com/en/sdk/download/native/)\n- Qt framework uses [LGPL/GPL](https://www.qt.io/development/download)\n- Other third-party libraries: see [NOTICE](NOTICE)\n- Code written by the project author in `src` is licensed under MIT\n- `thirdParty/LAppLive2D` and `src/compatLApp` are derived from `CubismNativeSamples`, licensed under Live2D Open Software License\n- This project is governed by all of the above licenses\n\n## Acknowledgments\n\n- [Live2D Cubism](https://www.live2d.com/) - Cubism Native Framework \u0026 Core for 2D animation\n- [Qt Framework](https://www.qt.io/) - Cross-platform C++ framework\n- [GLEW](http://glew.sourceforge.net/) - OpenGL extension loading\n- [GLFW](https://www.glfw.org/) - Window and OpenGL context management\n- [kissfft](https://github.com/mborgerding/kissfft) - Fast Fourier transform library\n- [miniaudio](https://github.com/mackron/miniaudio) - Single-file audio decoding library\n- [stb](https://github.com/nothings/stb) - Single-header image processing library\n- [VOICEVOX CORE](https://github.com/VOICEVOX/voicevox_core) - Free TTS engine\n- [ONNX Runtime](https://github.com/microsoft/onnxruntime) - Cross-platform ML inference engine\n- [llama.cpp](https://github.com/ggml-org/llama.cpp) - Local AI model deployment\n- [openai-edge-tts](https://github.com/travisvn/openai-edge-tts) - OpenAI-compatible Edge TTS interface\n- iFlytek Open Platform - High-quality TTS service\n- [Hiroshiba Kazuyuki](https://github.com/Hiroshiba) - VOICEVOX founder\n- Live2D Inc. - Cubism technology\n- All contributors and users for their support\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figugyj%2Fpelr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figugyj%2Fpelr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figugyj%2Fpelr/lists"}