How plugins work
A plugin is a zip that contains a manifest.json file and Python code. You do not unzip it by hand for a normal install.
Install
Open System → Add/Remove Plugins. Choose the zip from your Core release plugins or game-dlcs folder.
Wait for the restart dialog. GRiMbot restarts the API. GRiMbOS returns with a new folder on the GRiMbar.
Uninstall from the same window. That removes the runtime copy. Core stays installed.
Where files live after install
GRiMbot unzips into data/plugins/installed/<id>/. That folder is a copy. If you edit it, the next reinstall overwrites your edits. Streamers should not edit it.
Developers edit plugins/packages/<id>/ in git and rebuild with scripts/build-plugin-zip.sh.
Two UI styles
Most plugins draw their windows from the main GRiMbOS frontend. That includes Spotify, OBS, games, ATS, MSFS, Streamer.bot, StreamElements, and Voice Recognition.
AI Integration and Discord ship a small UI bundle inside the zip (ui-dist). You still open them from GRiMbar. You do not install a second desktop.
Dependencies
Game DLC lists depends_on: games-integration. Install the parent first. GRiMbOS will refuse the game zip if you reverse the order.
Some features soft-depend. Discord @mention replies need AI Integration enabled. Stream Event TTS in AI mode needs AI Integration. Those plugins still install without AI. Those features stay unused until you add it.
After install
Open the new GRiMbar folder. Use that plugin's Settings window. Connection Status gains extra rows. Fix… still jumps to the right app.
You do not add plugin commands in Core Commands. Each plugin has its own Commands window when it has chat commands.