Plugins
Plugins add panels, server functions and runner data to GrigDesk. Install an existing package or build a tool for your own workflow.
Start with installing a plugin. Browse packages in the website catalog or Settings → Plugins → Catalog in the app. The website helps you choose a source; installation takes place in GrigDesk.
What a plugin can add
| Feature | How it works |
|---|---|
| A panel | A Vue component inside the GrigDesk window, using shared buttons, fields and dialogs. |
| Server functions | Handlers under /api/ext/<id>/, data storage and core services. |
| Runner data | A declared provider-usage block in the runner popover. |
| Settings | Fields on the shared plugin settings page, available to plugin code. |
| Documentation for agents | A docs/README.md index inside the installed package. |
The server and panel are independent. A simple tool can use just a panel. A plugin without a panel declaration has no navigation entry.
Integration with the GrigDesk interface
A plugin can become part of the workspace: add a navigation entry, open a panel alongside a conversation or display a block at a supported point in an existing screen. Panels share the application theme, language and @grigdesk/ui components, including buttons, fields, tabs and dialogs.
The author chooses a navigation group for the panel: rail, tools or dock. In a wide window it can open in a side panel; a narrow window opens it as a page within GrigDesk.
Slots are extension points provided by the core for existing screens. Currently, a user package can add runner data below the limit bars in the top-bar runner popover. This slot accepts JSON data, which GrigDesk renders. A plugin can provide both a panel and this embedded block.
See the declarations and example in plugin structure.
System and user plugins
System features ship with GrigDesk and have their own settings pages. For example, Code, SSH and Docker are already part of the application.
A user plugin is a separate package with a plugin.json manifest, its own files and versions. Install it from Git, update, roll back or remove it. The Installed tab in plugin settings lists these packages.
Official and Community labels identify the package's origin. Plugin code runs with GrigDesk's permissions; choose a source you trust.
Create your own
- Learn the package structure: manifest declarations and files.
- Build your first plugin: a small counter panel without server code or npm dependencies.
- Add a server, settings and events as your tool grows.
Current format
This guide describes the unified v1 manifest: api: 1, entrypoints and contributes. Older packages using api: 2, webModule or nav need migration; changing the API number alone is insufficient. Update the server and the GrigDesk clients you use before installing these packages.