Local Web Viewer
silo.local-web-viewer
Embed local dev servers and file:// pages as dock panels alongside your code.
Local Web Viewer
A Silo extension that embeds local web content โ dev servers, file:// HTML, and internal tools โ as dock panels alongside your code.
What it's for
The Local Web Viewer is designed for localhost browsing. Use it to keep your running dev server, component storybook, local docs, or file:// HTML pages in view without leaving Silo. Multiple panels can be open simultaneously, each pinned to a different URL.
It is not a general-purpose browser. Most production websites block iframe embedding via X-Frame-Options or CSP frame-ancestors, and those will show a "doesn't allow embedding" overlay instead of loading. The panel will offer to open blocked URLs in your default browser instead.
Known limitations
- No back/forward navigation. SPA client-side routing (React Router, Vue Router, etc.) does not trigger iframe load events, so the panel cannot track in-frame navigation. A future proposal (RFC 0011) outlines how Tauri's webview init script could solve this generically.
- Remote sites that block iframes show a blocked overlay. This is expected โ the panel probes
X-Frame-Optionsand CSP headers via a server-side HEAD request before attempting to embed. - SPA back/forward requires either a future
ctx.webviewSDK surface or the loaded app emittingwindow.parent.postMessageevents on route changes.
Uses ctx.net
This extension uses ctx.net.fetchHeaders() โ a server-side HTTP client exposed by Silo that bypasses browser CORS โ to read X-Frame-Options and Content-Security-Policy response headers before loading a URL. This avoids the poor UX of letting a blocked iframe load silently.
Installing
From a GitHub Release
- Go to Releases.
- Right-click the
.tgzasset โ Copy link address. - In Silo: Settings โ Extensions, paste the URL and click Install.
From source
git clone https://github.com/silo-code/silo-extensions
cd silo-extensions/local-web-viewer
npm install
npm run build
Then in Silo: Settings โ Extensions โ Install from folder, point at this directory.
Opening a panel
- Via the menu: click the
+button in the dock area and choose New Local Web Viewer. - Via the command palette: run
Local Web Viewer: Open.
Type a URL in the address bar and press Enter. http:// is prepended automatically if you omit the scheme.
Building
npm install
npm run build # one-shot
npm run build:watch # watch mode
Output goes to dist/index.js. The bundle externalizes react, react/jsx-runtime, and @silo-code/sdk โ the Silo host supplies those at load time.
Versions
| Version | Published | Permissions | Build | sha256 |
|---|---|---|---|---|
| v0.1.4 | 2026-07-12 | webview | โ | fa6fe8327028โฆ |
| v0.1.3 | 2026-06-26 | none | โ | 07157b2f43b0โฆ |
| v0.1.2 | 2026-06-25 | none | โ | 2f474590d3a4โฆ |
| v0.1.1 | 2026-06-21 | none | โ | 247063657f2eโฆ |