
Product
Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.
@lrilai/webterm
Advanced tools
Web-based terminal multiplexer — run multiple terminal sessions in the browser
A web-based terminal multiplexer inspired by tmux. Run multiple terminal sessions in your browser with split panes, session persistence, and AI CLI tool support.

# Clone the repository
git clone https://github.com/yourusername/webterm.git
cd webterm
# Install dependencies
npm install
# Build shared types
npm run build:shared
# Start development servers
npm run dev
The application will be available at:
# Build all packages
npm run build
# Start backend server
cd backend && npm start
All keybindings use the Ctrl+B prefix (press Ctrl+B, release, then press the command key):
| Keybinding | Action |
|---|---|
Ctrl+B % | Split pane vertically |
Ctrl+B " | Split pane horizontally |
Ctrl+B ←↑↓→ | Navigate between panes |
Ctrl+B x | Close current pane |
Ctrl+B z | Zoom/unzoom pane |
Ctrl+B c | Create new window |
Ctrl+B n | Next window |
Ctrl+B p | Previous window |
Ctrl+B S | Save session |
Ctrl+B ? | Show keybindings help |
Copy/paste shortcuts (no prefix needed):
Ctrl+Shift+C - Copy selected textCtrl+Shift+V - Paste from clipboardwebterm/
├── backend/ # Node.js backend
│ └── src/
│ ├── api/ # WebSocket & REST handlers
│ ├── db/ # SQLite database
│ ├── models/ # Data models
│ ├── services/ # Business logic
│ └── utils/ # Utilities
├── frontend/ # React frontend
│ └── src/
│ ├── components/ # React components
│ ├── hooks/ # Custom hooks
│ ├── services/ # API clients
│ ├── stores/ # Zustand stores
│ └── styles/ # CSS & Tailwind
├── shared/ # Shared TypeScript types
│ └── types/
└── specs/ # Feature specifications
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS |
| Terminal | xterm.js with WebGL renderer |
| Backend | Node.js, TypeScript |
| PTY | node-pty (powers VS Code terminal) |
| Database | SQLite (better-sqlite3) |
| WebSocket | ws |
| UI | GlitchCN/UI (shadcn-based) |
Connect to ws://localhost:3000/ws?sessionId={optional} for real-time terminal I/O.
Binary messages (for terminal I/O):
[type:1][paneIdLength:1][paneId:N][payload:M]0x01 INPUT, 0x02 OUTPUTJSON messages (for control):
resize, create, close, split, focus, broadcast| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check |
/api/v1/sessions | GET | List sessions |
/api/v1/sessions | POST | Create session |
/api/v1/sessions/:id | GET | Get session |
/api/v1/sessions/:id | PATCH | Update session |
/api/v1/sessions/:id | DELETE | Delete session |
/api/v1/sessions/:id/save | POST | Save session |
/api/v1/system/info | GET | System info |
Environment variables:
| Variable | Default | Description |
|---|---|---|
PORT | 3000 | Backend server port |
HOST | localhost | Backend bind address |
WEBTERM_DB_PATH | ./data/webterm.db | SQLite database path |
LOG_LEVEL | info | Logging level |
MAX_PANES_PER_WINDOW | 16 | Maximum panes per window |
# Run linting
npm run lint
# Run type checking
npm run typecheck
# Run tests
npm test
# Format code
npm run format
WebTerm is optimized for low-latency terminal interaction:
MIT License - see LICENSE for details.
FAQs
Web-based terminal multiplexer — run multiple terminal sessions in the browser
The npm package @lrilai/webterm receives a total of 6 weekly downloads. As such, @lrilai/webterm popularity was classified as not popular.
We found that @lrilai/webterm demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.

Research
More than 140 Mastra npm packages were compromised in a supply chain attack that used a typosquatted dependency to deliver a cross-platform infostealer during installation.

Research
/Security News
A new npm package tests AI malware scanners with prompt injection, safety-triggering comments, context flooding, and obfuscated JavaScript.