Frame Server — Running Your IDE in the Browser
The distinction between Frame’s desktop application, the interactive website sample and the work toward a browser-based Frame Server.
The Request
A community member raised an interesting idea:
"I have a Windows PC for display and a headless Debian machine for development. Exposing Frame as a web app — like code-server — would be useful. I could install it on my headless Linux dev box and open it on any browser anywhere."
This resonated with us. Not everyone has their development environment on the machine they're sitting at. Remote development is increasingly common, especially with AI coding tools that benefit from powerful hardware.
Why It's Feasible
Frame is built entirely with web technologies:
- xterm.js — the terminal emulator — is a web component. It already runs in browsers.
- The UI is HTML, CSS, and JavaScript. No native widgets.
- node-pty — the PTY backend — runs on Node.js, which works on any server.
The only Electron-specific piece is the communication layer: IPC (Inter-Process Communication) between the main process and the renderer. In a web app, this becomes WebSocket.
The Architecture
Electron App Frame Server (Web App)
───────────── ─────────────────────
ipcMain / ipcRenderer → Express + WebSocket
Electron BrowserWindow → Static HTML server
node-pty (same) node-pty (same)
xterm.js (same) xterm.js (same)
File system (same) File system (same)
The core logic stays the same. Terminal management, file tree, task tracking, plugin system — can reuse much of the same interface. Remote access also needs authentication, permissions and careful handling of filesystem and terminal operations.
What Changes
- IPC → WebSocket: Replace
ipcMain.handle()with WebSocket message handlers - Electron window → Express server: Serve the HTML/CSS/JS as static files
- Authentication: Add a login system (the desktop app doesn't need one)
- HTTPS: Required for secure remote access
What Stays the Same
- All terminal management (node-pty)
- All UI components (xterm.js, file tree, panels)
- Context preservation system (AGENTS.md, STRUCTURE.json, etc.)
- Task management
- Multi-AI tool support
Precedent: code-server
This pattern is proven. code-server does exactly this for VS Code — takes an Electron app and serves it as a web application. The result is VS Code in the browser, accessible from any device.
Reusing a web interface is only part of the work; operating it remotely introduces additional access and security requirements.
Current Status
A browser version is in progress. The desktop application remains the full product; this article describes the direction rather than an available hosted service.
The interactive website preview lets desktop visitors explore the real interface with a sample project. It uses scripted agent responses and does not execute commands or access a visitor’s files. It is not Frame Server.
If you're interested in Frame Server, let us know on GitHub. Community interest will help prioritize this feature.