Content
# Webterm
A web-based terminal application built with React, TypeScript, and Xterm.js. The project consists of a UI package (using Vite and React) and a server package (using WebSockets and Node.js).
## Project Structure
```
/
├── packages/
│ ├── ui/ # React frontend with Xterm.js terminal
│ └── server/ # Node.js WebSocket server with node-pty
```
## Getting Started
### Prerequisites
- Node.js
- Bun (for package management and UI development)
### Installation
```bash
bun install
```
### Running the Application
To run both the UI and server concurrently:
```bash
bun run dev
```
This will start:
- UI server at http://localhost:5173 (Vite dev server)
- WebSocket server at ws://localhost:5174
## Individual Package Commands
### UI Package
```bash
bun run --filter '@webterm/ui' dev
```
### Server Package
```bash
bun run --filter '@webterm/server' dev
```
## Note on Server Runtime
The server is running with Node.js and not Bun due to a known issue with Bun causing crashes when using node-pty. This is related to an open issue: https://github.com/oven-sh/bun/issues/19688
## Features
- Interactive web-based terminal
- WebSocket-based real-time communication
- Cross-platform support (Windows, macOS, Linux)
- Automatic terminal resizing
- Connection status indicator
- Custom working directory via URL parameter (`cwd`)
### Using Custom Working Directory
You can specify a custom working directory for the terminal by using the `cwd` URL parameter:
```
http://localhost:5173?cwd=/absolute/path/to/your/project
```
This allows you to start the terminal in any directory on your system, making it convenient for working with specific projects.
## License
[MIT](LICENSE)
You Might Also Like
Ollama
Ollama enables easy access to large language models on various platforms.

n8n
n8n is a secure workflow automation platform for technical teams with 400+...
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

Dify
Dify is a platform for AI workflows, enabling file uploads and self-hosting.

Zed
Zed is a high-performance multiplayer code editor from the creators of Atom.
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.