diff --git a/plugins/PLUGINS.md b/plugins/PLUGINS.md index 9710b61..5b39a6d 100644 --- a/plugins/PLUGINS.md +++ b/plugins/PLUGINS.md @@ -459,13 +459,19 @@ rustup target add aarch64-apple-darwin x86_64-apple-darwin ### Open the UI -Plugin UI is served from: +Plugin UI is embedded directly in the main page at: ``` /plugins/?clientId= ``` -Your HTML loads its JS/CSS from `/plugins//assets/`. +The server reads your `.html`, extracts the body content, and renders it inside the standard Overlord layout. Your CSS and JS are loaded from `/plugins//assets/`. + +To get the `clientId` in your JS: + +```js +const clientId = new URLSearchParams(window.location.search).get("clientId"); +``` ## 6) Runtime: how events flow @@ -542,15 +548,13 @@ Plugins have the same capabilities as the agent itself. | Rust | Yes | Minimal | | Go | **No** ([#11100](https://github.com/golang/go/issues/11100)) | Go runtime + GC | -### UI Security constraints +### UI embedding -Plugin UI pages are still served with a tight CSP: +Plugin UI pages are embedded **directly** into the main Overlord page — no iframe, no sandbox, no bridge. The server reads your plugin's HTML, extracts the `` content and any ``/`