Skip to content

feat: standalone web app mode without VS Code#156

Open
ronilaukkarinen wants to merge 1 commit intopablodelucca:mainfrom
ronilaukkarinen:feat/standalone-web-app
Open

feat: standalone web app mode without VS Code#156
ronilaukkarinen wants to merge 1 commit intopablodelucca:mainfrom
ronilaukkarinen:feat/standalone-web-app

Conversation

@ronilaukkarinen
Copy link

@ronilaukkarinen ronilaukkarinen commented Mar 17, 2026

Summary

Adds a standalone Node.js server that serves the Pixel Agents webview as a regular web app, removing the VS Code dependency entirely. The server auto-discovers all active Claude Code sessions across ~/.claude/projects/.

Related issues: #46, #120, #8

  • Add standalone/ directory with HTTP + WebSocket server
  • vscodeApi.ts auto-detects environment: VS Code postMessage or WebSocket
  • Hide "+ Agent" button in standalone mode (no terminal spawning)
  • Proper message ordering (assets -> agents -> layout) for correct character spawning

Usage

npm run build
cd standalone && npm install && node build.js
node dist/server.js    # http://localhost:3100

Test plan

  • Run npm run build from repo root, then build and start standalone server
  • Verify all active Claude Code sessions appear as animated characters
  • Verify tool activity (typing, reading) animates correctly in real time
  • Verify VS Code extension still works normally (no regression from vscodeApi.ts change)
  • Verify "+ Agent" button is hidden in standalone mode

Add a Node.js server in standalone/ that serves the Pixel Agents webview
as a standalone web app accessible via browser. The server automatically
discovers and monitors all active Claude Code sessions across all project
directories in ~/.claude/projects/.

- standalone/src/server.ts: HTTP + WebSocket server replacing VS Code backend
- standalone/src/assetLoader.ts: Asset loading ported from extension
- standalone/src/transcriptParser.ts: JSONL parsing without VS Code deps
- webview-ui/src/vscodeApi.ts: Auto-detect environment, use WebSocket when
  not in VS Code
- Hide "+ Agent" button in standalone mode (no terminal spawning)
- Proper message ordering: assets -> agents -> layout (triggers render)

Usage:
  npm run build                          # build main project first
  cd standalone && npm install && node build.js
  node dist/server.js                    # http://localhost:3100
@ronilaukkarinen ronilaukkarinen marked this pull request as ready for review March 17, 2026 17:21
kquizz added a commit to kquizz/more-pixel-agents that referenced this pull request Mar 18, 2026
@florintimbuc
Copy link
Collaborator

Thanks for the PR @ronilaukkarinen! This is really close to the architectural direction we've been working toward. We've already extracted some shared modules (shared/assets/) to prepare the codebase for exactly this, a standalone core that multiple platforms (VS Code, Cursor, Electron, web) can build on.

I'll be posting an architectural proposal for the community soon that covers the shared module layer and multi-platform strategy. Your standalone server approach aligns well with it, so I'd love to sync up on a few things before we merge, mainly around importing from the shared modules instead of duplicating the asset loading and transcript parsing code.

Stay tuned for the proposal, and thanks again for pushing this forward! :)

@ronilaukkarinen
Copy link
Author

Yeah, I just wanted to test this quickly, and since I'm more of a CLI person, I didn't have another option. I figured I might as well send a PR. Just a note, some AI was used to draft this, but you don't necessarily have to use it.

@florintimbuc florintimbuc added type: feature New feature or capability area: standalone Standalone/browser mode outside VS Code scope: architecture Significant architectural change or new subsystem labels Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: standalone Standalone/browser mode outside VS Code scope: architecture Significant architectural change or new subsystem type: feature New feature or capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants