Official plugin registry for Deck — the open-source AI Command Center.
| Plugin | Description | Platforms |
|---|---|---|
| Clock | Live time and date widget | macOS, Windows, Linux |
| System Monitor | CPU, RAM usage and uptime | macOS, Windows, Linux |
| Spotify | Playback control + now playing | macOS |
| Pomodoro Timer | 25 min focus timer | macOS, Windows, Linux |
Plugins are installed directly from the Deck app:
- Open Deck → Settings → Plugins tab
- Browse available plugins
- Click Install
- Restart Deck to activate
You can also enable/disable installed plugins without removing them using the toggle switch.
- Fork this repo
- Add your plugin entry to
registry.json - Open a PR
{
"id": "my-plugin",
"name": "My Plugin",
"description": "Short description",
"readme": "Detailed markdown description shown in the store",
"author": "Your Name",
"version": "1.0.0",
"official": false,
"tags": ["widget", "utility"],
"platforms": ["macos", "windows", "linux"],
"url": "https://raw.githubusercontent.com/you/repo/main/my-plugin.js"
}| Field | Required | Description |
|---|---|---|
id |
✅ | Unique identifier (used as filename) |
name |
✅ | Display name |
description |
✅ | One-line description |
readme |
❌ | Detailed markdown shown in plugin details |
author |
✅ | Author name |
version |
✅ | Semver version |
official |
❌ | true if maintained by Deck team |
tags |
❌ | Array of category tags |
platforms |
❌ | Supported platforms: macos, windows, linux |
url |
✅ | Raw GitHub URL to the .js file |
- Single
.jsfile (CommonJS) - Must export
{ name, version, setup(deck) } - No external dependencies (use Node.js built-ins only)
- No malicious code (
eval,child_processfor non-obvious purposes, etc.)
module.exports = {
name: 'my-plugin',
version: '1.0.0',
setup(deck) {
// Register a custom action type
deck.registerAction('my:action', (payload) => { /* ... */ });
// Register a live widget (shown on deck grid)
deck.registerWidget('my-widget', {
interval: 5000, // update interval in ms
getData: () => ({ value: 'hello' }),
});
// Send a notification to connected clients
deck.notify('Plugin loaded!', 'success'); // levels: info, success, warning, error
// Get current deck actions
const actions = deck.getActions();
}
};Plugins declare which platforms they support via the platforms field. Deck will:
- Show platform badges in the plugin store
- Warn users before installing on an unsupported platform
- Allow enabling/disabling per-platform plugins without uninstalling
MIT — Florex Labs