基于Pengu loader的英雄联盟客户端增强插件;LOL助手;sona助手;LOL插件;A LOL plugin base on Pengu loader; sona plugin;
  • JavaScript 52.1%
  • TypeScript 43.5%
  • CSS 4.4%
Find a file
2026-08-28 08:42:00 -07:00
.github/workflows feat: 新增自定义资源目录,允许用户放置头像、背景等图片,提升个性化体验 2026-05-19 00:11:54 +08:00
assets feat: 增强美化页面功能,支持视频资源作为壁纸,优化资源管理和用户交互体验 2026-05-23 14:31:46 +08:00
markdown feat: 更新 README.md,新增效果展示部分,包含多个功能的视觉效果示例和描述,提升用户体验 2026-05-17 16:25:22 +08:00
scripts feat: 更新英雄平衡数据源,优化数据提取逻辑,增加代理支持并修正部分英雄属性 2026-06-07 11:58:36 +08:00
src fix: 补齐智能配置首次保存链路 2026-08-28 08:42:00 -07:00
.gitattributes Initial commit 2026-03-26 14:43:55 +08:00
.gitignore 增加了单局战报详情 2026-05-01 19:43:20 +08:00
CHANGELOG.md fix: 补齐智能配置首次保存链路 2026-08-28 08:42:00 -07:00
index.css feat: 发布 v1.9.0 并完善客户端体验 2026-08-25 09:44:21 -07:00
index.js fix: 补齐智能配置首次保存链路 2026-08-28 08:42:00 -07:00
LICENSE Initial commit 2026-03-26 14:43:55 +08:00
package-lock.json feat: 发布 v1.9.0 并完善客户端体验 2026-08-25 09:44:21 -07:00
package.json feat: 发布 v1.9.0 并完善客户端体验 2026-08-25 09:44:21 -07:00
pengu.d.ts feat: 扩展 PenguContext 接口,新增 meta 属性以支持版本和其他元数据 2026-05-23 10:34:05 +08:00
pengu.yml Add pengu.yml for install manifest 2026-08-06 19:13:38 +07:00
README.en-US.md docs: 补全 README 功能说明 2026-08-03 16:58:50 +08:00
README.md docs: 补全 README 功能说明 2026-08-03 16:58:50 +08:00
tsconfig.json 修改编译配置,允许未使用的变量名 2026-04-26 11:33:12 +08:00
vite.config.ts chore: 添加构建插件头部注释并忽略 test 目录 2026-04-22 15:36:03 +08:00

A League of Legends Client Enhancement Plugin for Pengu Loader

Contributors   Forks   Stargazers   Issues   License

Sona

Sona

简体中文 · English
Quick Start · Report Bug · Request Feature

Sona panel preview

Open Sona from the icon beside the Play button, or press F1 at any time.

Table of Contents

Introduction

Sona is a free and open-source League of Legends client enhancement plugin built on top of Pengu Loader. It runs inside the League Client Chromium environment and communicates with the client through LCU REST APIs and WebSocket events.

Sona focuses on practical quality-of-life improvements: champion select tools, match history lookup, OP.GG build recommendations, lobby and social enhancements, client beautification, custom avatars, replay tools, and a convenient in-client settings panel.

Features

Match and Champion Select

Feature Description
Auto Accept Automatically accepts queue pop, with an optional random delay and the ability to decline after accepting.
🎯 Auto Pick / Auto Ban Queue Configure multiple candidate champions. Sona skips unavailable champions by priority.
🔄 ARAM Bench No Cooldown Removes bench swap cooldown in ARAM.
🔵 Side Indicator Reports whether your team is blue side or red side in champion-select chat.
📊 Team Power Analysis Uses matches from the current mode to calculate win rate, KDA, and a 3.016.0 strength score.
🌟 Champion Select Assist Shows teammate win rate, KDA, particles, champion tier badges, and clickable match history.
🔒 Privacy / Streamer Mode Support Keeps teammate analysis working when names are hidden, restores real names beside client aliases, and tracks player swaps.
📈 Game Analysis Popup Displays team strength analysis after entering game, including win rate, KDA, rank, and premade groups.
🚪 Champion Select Quit Button Adds a quick exit button to non-custom champion select so you can return to the lobby.
🔁 Auto Return to Lobby Returns to lobby after a game, with optional auto queue and retry logic.
🛡️ Balance Buff Tooltip Shows mode-specific champion balance modifiers in ARAM and other supported modes.
👍 Auto Honor Randomly honors teammates after the game.
🧩 Lobby Enhancement Click lobby member avatars for match history and show recent performance above banners.

Smart Builds

Feature Description
🧠 Smart Builds, Runes and Summoner Spells Automatically syncs item sets after champion lock-in and remembers manually saved runes and spells per champion/mode.
🧭 Position-aware Recommendations Uses your assigned role in ranked, the champion's most common role elsewhere, and offers a Top/Jungle/Mid/ADC/Support selector.
🧰 OP.GG Recommendation Panel Shows mode-aware items, runes, summoner spells, augments, and matchups during champion select.
📦 Managed Item Sets Creates Sona-managed client item sets while preserving user-created item sets.
🛟 Multi-mode Fallbacks Supports standard and special modes and fills missing recommendation sections from available data.

Match History

Feature Description
🔍 Player Lookup Search any player by Riot ID.
🏷️ Mode Filter Filter match history by queue using SGP query tags.
📋 Match Details View champions, KDA, items, runes, spells, CS, gold, damage, map, and time.
📎 Game ID Copy Copy Game ID for replay tools.

Social

Feature Description
✏️ Unlock Status Message Removes the client-side lock from status editing.
📱 Enhanced Availability Supports extra statuses such as offline and mobile, with startup restore.
🖼️ Custom Profile Background Use any skin as your profile background, with search and lazy loading.
🎏 Custom Banner Locally display any challenge banner.
👥 Premade Friend Marker Marks friends in the same premade with matching colors.
⏱️ Enhanced Friend Status Shows in-game friends' mode and elapsed game time in the social sidebar.
🎭 Rank Disguise Disguise the rank shown in friend cards.
🚫 Remove Crest Remove profile crest decoration.
🧹 Reset Avatar Restore the default client avatar.

Beautify

Feature Description
🎨 Beautify Page A dedicated page for client visual customization.
🖼️ Custom Home Wallpaper Use images or videos from assets as the home background. Supports blur, tint, crop, and positioning.
🪄 Wallpaper Mode and Scene Glass Hides home activity content, clears sidebar backgrounds, and adjusts blur/tint for mode-select and lobby scenes.
🎲 Random Wallpaper Randomly applies one wallpaper on each client start while avoiding immediate repeats when possible.
🧊 Friends Sidebar Glass Independently adjusts the social sidebar blur and tint.
🧭 Top Navigation Styling Adjusts navbar blur and optionally hides icon separators and the bottom border.
🧑‍🎤 Custom Avatars Manage multiple local avatars and sync them between friends who both use Sona, with an offline cache fallback.
🌈 Flowing Summoner Names Configures a smooth looping gradient and syncs it across the friends list, lobby, and champion select.
📦 Asset Manager Records paths under assets and can normalize absolute paths containing sona/assets.

Tools and Interface

Feature Description
🎬 Replay Tool Download and watch replays by Game ID.
💾 Settings Backup Back up and restore client settings by account.
🎁 Selective Battle Pass Rewards Review pending choice rewards and claim only the items you select.
🪟 Window Effects Blur, acrylic, mica, and other visual effects depending on platform support.
Global Particles Adds star-like particles to the client background.
🚀 Quick Lobby Skips mode selection from Play and opens a configured queue lobby directly.
🗂️ Game Mode Filter Hides unwanted queue entries from the PvP mode-selection page.
🧹 Client UI Cleanup Can hide the TFT entry, right-navbar labels, and esports broadcast popup.
🎨 Restore Chromas Tab Restores the hidden Chromas sub-tab on supported collection pages.
🔔 Update Checker Checks releases on startup and lets you open or skip a new version.
🌐 Internationalization Supports Simplified Chinese, English, and automatic language detection.
🔧 Debug Panel LCU, chat, replay, builds, status-payload inspection, and mock game-analysis tools for advanced users.

Screenshots

Champion Select Assist

Champion Select Assist

Champion Tier Badges

Champion tier badges

Build Recommendations

Build recommendations

Augment Recommendations

Augment recommendations

Lobby Enhancement

Lobby enhancement

Enhanced Friend Status

Enhanced friend status

Installation

Requirements

Steps

  1. Install Pengu Loader from the Pengu Loader releases.
  2. Start Pengu Loader and make sure it shows ready.
  3. Download the Sona release package from this repository's Releases page. Do not use the source-code archive as a plugin package.
  4. Open the Pengu Loader plugins folder.
  5. Extract the sona folder from the release package into the plugins folder.
  6. Refresh Pengu Loader and restart the League client.

The installed sona folder should contain the built index.js and index.css files.

Usage

  1. Start the League client.
  2. Click the Sona icon beside the Play button, or press F1.
  3. Configure features in the Tools, Beautify, and Settings pages.
  4. Settings are saved automatically and restored on next launch.

Architecture

League Client (Ember.js + Chromium)
        |
Pengu Loader
        |
Sona Plugin
        |
React UI + Feature Modules + DOM Injections
        |
LCU REST APIs / WebSocket Events / DataStore

Core modules:

  • LCUManager: wraps LCU REST APIs and WebSocket events.
  • InjectorManager: keeps DOM injections alive through client re-renders.
  • SonaStore: typed configuration, DataStore persistence, and change listeners.
  • Feature modules: independent lifecycle units for auto accept, OP.GG builds, custom avatars, lobby enhancement, and more.
  • Lightweight i18n: dictionary-based Chinese/English translations with automatic client-language detection.

Notes

  1. Sona requires Pengu Loader and cannot run standalone.
  2. Sona communicates with the League Client through LCU APIs. It does not modify game files or inject into the game process.
  3. Custom avatars and flowing names use hidden status payloads; both friends need Sona enabled to see each other's synchronized effects.
  4. Build recommendations use third-party data sources such as OP.GG and ARAM.GG, while client actions go through LCU APIs and DOM integration.
  5. Some features depend on client state, region, queue type, or third-party API availability and may not always return data.
  6. Rank disguise only affects friend-card display and does not alter real ranked data.

Development

npm install
npm run dev
npm run build

Project structure:

sona/
├── src/
│   ├── index.tsx
│   ├── App.tsx
│   ├── i18n/
│   ├── lib/
│   │   ├── lcu.ts
│   │   ├── features.ts
│   │   ├── features/
│   │   ├── store.ts
│   │   ├── injections.ts
│   │   ├── InjectorManager.ts
│   │   └── assets.ts
│   ├── components/
│   ├── styles/
│   └── types/
├── assets/
├── markdown/
├── CHANGELOG.md
├── pengu.d.ts
├── package.json
└── LICENSE

License

This project is licensed under AGPL-3.0. See LICENSE for details.

Acknowledgements

Sona learned a lot from the League client plugin community. Special thanks to:

Important Notice

This project does not accept sponsorship.

This project does not accept Pull Requests.

Feedback, ideas, and bug reports are welcome through Issues.

If Sona helps you, please consider giving the project a star.

Stargazers over time