NetMesh
AI-Powered SSH Client, SFTP Browser & Terminal Manager
A beautiful, feature-rich SSH workspace built with Electron, React, and xterm.js.
Built-in AI Agent · Split terminals · Vault views · SFTP workflows · Custom themes — all in one.
English · 简体中文
---
---
# Mesh Agent — Your IT Ops AI Partner
> Boost your IT ops daily work with AI power. Mesh Agent is the built-in AI assistant that understands your servers, executes commands, and handles complex multi-host operations — all through natural conversation.
### What can Mesh Agent do?
- Natural language server management — just tell it what you need, no more memorizing commands
- Real-time server diagnostics — check status, inspect logs, monitor resources through conversation
- Multi-host orchestration — coordinate tasks across multiple servers simultaneously
- Intelligent context awareness — understands your server environment and provides tailored responses
- One-click complex operations — set up clusters, deploy services, and more with simple instructions
### AI in Action
#### Single Host — Intelligent Server Diagnostics
Ask Mesh Agent to check a server's health, and it runs the right commands, analyzes the output, and gives you a clear summary — all in seconds.
#### Multi-Host — Docker Swarm Cluster Setup
Watch Mesh Agent orchestrate a Docker Swarm cluster across two servers in one conversation. It handles the init, token exchange, and node joining — you just tell it what you want.
---
# Contents
- [Mesh Agent](#catty-agent)
- [What is NetMesh](#what-is-netmesh)
- [Why NetMesh](#why-netmesh)
- [Features](#features)
- [Screenshots](#screenshots)
- [Supported Distros](#supported-distros)
- [Getting Started](#getting-started)
- [Build & Package](#build--package)
- [Tech Stack](#tech-stack)
- [Contributing](#contributing)
- [License](#license)
---
# What is NetMesh
**NetMesh** is a modern SSH client and terminal manager for macOS, Windows, and Linux, designed for developers, sysadmins, and DevOps engineers who need to manage multiple remote servers efficiently.
- **NetMesh is** an alternative to PuTTY, Termius, SecureCRT, and macOS Terminal.app for SSH connections
- **NetMesh is** a powerful SFTP client with dual-pane file browser
- **NetMesh is** a terminal workspace with split panes, tabs, and session management
- **NetMesh supports** SSH, local terminal, Telnet, Mosh, and Serial connections (when available)
- **NetMesh is not** a shell replacement — it connects to shells via SSH/Telnet/Mosh or local/serial sessions
---
# Why NetMesh
If you regularly work with a fleet of servers, NetMesh is built for speed and flow:
- **Workspace-first** — split panes + tabs + session restore for "always-on" workflows
- **Vault organization** — grid/list/tree views with fast search and drag-friendly workflows
- **Serious SFTP** — built-in editor + drag & drop + smooth file operations
---
# Features
### Vault
- **Multiple views** — grid / list / tree
- **Fast search** — locate hosts and groups quickly
### Terminal Workspaces
- **Split panes** — horizontal and vertical splits for multi-tasking
- **Session management** — run multiple connections side-by-side
- **Inline images** — render Kitty graphics, SIXEL and iTerm inline images from remote programs
### SFTP + Built-in Editor
- **File workflows** — drag & drop uploads/downloads
- **Edit in place** — built-in editor for quick changes
### Personalization
- **Custom themes** — tune the app appearance to your taste
- **Keyword highlighting** — customize highlight rules for terminal output
---
# Screenshots
## Main Window
The main window is designed for long-running SSH workflows: quick access to sessions, navigation, and core tools in one place.
## Vault Views
Organize and navigate your hosts using the view that best fits the moment: grid for overview, list for scanning, tree for structure.
## Split Terminals
Split panes help you monitor multiple servers/services at the same time (deploy + logs + metrics) without juggling windows.
---
# Supported Distros
NetMesh automatically detects and displays OS icons for connected hosts:
# Getting Started
### Prerequisites
- Node.js 18+ and npm
- macOS, Windows 10+, or Linux
### Development
```bash
# Clone the repository
git clone https://code.senmesh.com/zhaolei/NetMesh.git
cd NetMesh
# Install dependencies
npm install
# Start development mode (Vite + Electron)
npm run dev
```
---
# Build & Package
```bash
# Build for production
npm run build
# Package for current platform
npm run pack
# Package for specific platforms
npm run pack:mac # macOS (DMG + ZIP)
npm run pack:win # Windows (NSIS installer)
npm run pack:linux # Linux (AppImage + DEB + RPM)
```
---
# Tech Stack
| Category | Technology |
|----------|------------|
| Framework | Electron 40 |
| Frontend | React 19, TypeScript |
| Build Tool | Vite 7 |
| Terminal | xterm.js 5 |
| Styling | Tailwind CSS 4 |
| SSH/SFTP | ssh2, ssh2-sftp-client |
| PTY | node-pty |
| Icons | Lucide React |
---
# Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
See [AGENTS.md](AGENTS.md) for architecture overview and coding conventions.
---
# License
This project is licensed under the **GPL-3.0 License** - see the [LICENSE](LICENSE) file for details.