A lightweight all-in-one terminal with 30+ protocols — SSH, RDP, SFTP, databases, Kubernetes and more. With a built-in autonomous AI Agent that plans and runs multi-turn shell commands.
See the codeA lightweight all-in-one terminal with 30+ protocols — SSH, RDP, SFTP, databases, Kubernetes and more
With a built-in autonomous AI Agent that plans and runs multi-turn shell commands
Remote terminal, local & serial terminal, file transfer, remote desktop, database, containers, and server monitor — covering all remote access needs.
rz/sz support in SSH terminals.Autonomous AI Agent that independently plans and executes multi-turn shell commands directly in your terminal.
/ in the AI input; the AI can also save new skills itself.Connection management, split panes, cloud sync, themes — your terminal, your way.
| Category | Protocol | Description |
|---|---|---|
| Terminal | SSH | Remote server shell management |
| Terminal | Telnet | Remote terminal for legacy devices and embedded systems |
| Terminal | Mosh | Server connections over high-latency or intermittent networks |
| Terminal | Serial | Serial port terminal with configurable baud rate and other parameters |
| Terminal | Raw TCP | Raw TCP console that opens a plain socket and transceives raw bytes |
| Terminal | Local | PowerShell, CMD, Git Bash, and other local shells |
| Terminal | WSL | Open installed WSL distributions via local terminal (Windows only) |
| File Transfer | SFTP | Server file management and transfer |
| File Transfer | SCP | Fallback protocol for legacy SSH servers that do not support SFTP |
| File Transfer | FTP / FTPS | Website hosting, NAS file transfer |
| File Transfer | SMB | Windows shared folders, NAS file access |
| File Transfer | WebDAV | WebDAV server file management |
| File Transfer | S3 | Amazon S3 compatible object storage |
| File Transfer | Zmodem | In-terminal file transfer via rz/sz commands |
| Remote Desktop | RDP | Windows server remote desktop management (Windows only) |
| Remote Desktop | VNC | Linux server remote control |
| Remote Desktop | SPICE | KVM/QEMU VM management |
| Remote Desktop | X11 | X Window forwarding |
| Database | MySQL | MySQL protocol: MySQL, MariaDB, TiDB, and more |
| Database | PostgreSQL | PostgreSQL protocol: PostgreSQL, CockroachDB, and more |
| Database | Oracle Database | Oracle Database connections through a pure Go driver |
| Database | SQL Server | SQL Server connections through a pure Go driver |
| Database | rqlite | Lightweight distributed DB built on SQLite with Raft consensus |
| Database | Redis | In-memory key-value store with visual key browsing and editing |
| Database | MongoDB | Document database with tree browsing, query editor, and inline editing |
| Database | Elasticsearch | Distributed search and analytics engine with index and document management |
| Containers | Kubernetes | Cluster resource browsing and management, Pod logs and exec, performance metrics |
| Containers | Docker | Container and image management, on the local machine or remote hosts over SSH |
| Containers | Podman | Docker-compatible container engine, on the local machine or remote hosts over SSH |
| Containers | nerdctl (containerd) | containerd container management with namespace switching |
| Containers | WSLC | Windows WSL2 Container runtime (Windows only) |
Oracle Database support is implemented with a pure Go driver. uniTerm does not bundle Oracle Database, Oracle Instant Client, OJDBC, wallet files, or Oracle brand assets; users are responsible for their own Oracle licenses, credentials, and database access.
Get the latest pre-built binaries from GitHub Releases or Gitee Releases:
uniterm-windows-*-installer-*.exe, or portable uniterm-windows-*-portable-*.zipuniterm-darwin-*-*.dmguniterm-linux-*-*.tar.gz, .deb, or .rpmuniterm-android-arm64-*.apkAbout Windows antivirus false positives: As this open-source software has not purchased a code-signing certificate, the unsigned executable may trigger false positives in some antivirus engines (e.g. Windows Defender). This is a known issue with Go/Wails applications (see wailsapp/wails#3308). You can add an exclusion rule in your antivirus to allow it. Please download only from the official open-source channels — GitHub and Gitee. If you are still concerned about malware, you can download the source code and build and run it locally yourself.
# Windows
scoop bucket add uniterm https://github.com/ys-ll/scoop-uniterm && scoop install uniterm
# macOS
brew install --cask ys-ll/uniterm/uniterm
# Linux (deb)
curl -sLo uniterm.deb https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.deb
sudo dpkg -i uniterm.deb
# Linux (rpm)
curl -sLo uniterm.rpm https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.rpm
sudo rpm -i uniterm.rpm
libgtk-3-0 and libwebkit2gtk-4.1-0 (preinstalled on most desktop distros)| Layer | Technology |
|---|---|
| Desktop Framework | Wails v3 |
| Backend | Go |
| Frontend | Vue 3 + Pinia + Element Plus |
| Terminal | xterm.js |
| AI Protocol | Anthropic Messages API / OpenAI Chat Completions API |
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-beta.27)libgtk-3-dev and libwebkit2gtk-4.1-devsdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "ndk;26.3.11579264")git clone https://github.com/ys-ll/uniterm.git
cd uniTerm
cd frontend && npm install && cd ..
wails3 dev # Development
wails3 build # Production build
uniTerm/
├── main.go # Entry point
├── app.go # Wails bindings, LLM API proxy, SFTP API
├── app_*.go # Platform-specific implementations
├── backend/
│ ├── session/ # SSH/Telnet/Serial/SFTP/database session management
│ ├── database/ # SQL execution, schema introspection, DSN builders
│ ├── container/ # Docker/Podman/nerdctl container management
│ ├── k8s/ # Kubernetes cluster management
│ ├── store/ # Persistent config (connections, AI, settings)
│ ├── sync/ # Cloud sync (Git / WebDAV)
│ ├── update/ # Auto-update
│ ├── platform/ # Platform abstraction layer
│ └── log/ # File-based logging
├── frontend/
│ └── src/
│ ├── components/ # Vue components
│ ├── composables/ # Terminal composables
│ ├── stores/ # Pinia stores
│ ├── services/ # AI agent loop, LLM client
│ ├── i18n/ # Translations
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ └── vendor/ # Third-party libraries
├── plugins/ # Plugin directory
├── docs/ # Documentation
├── Taskfile.yml # wails3 build tasks
└── build/
└── config.yml # build config (app info, dev mode)
See ROADMAP.md for the current protocol / feature status and what's planned next. For per-release history, see CHANGELOG.md.
If uniTerm is helpful to you, please consider giving it a ⭐ Star — it's the best encouragement for the project and helps more people discover it.
This is a personal hobby project maintained in the author's spare time, with no commercialization or sponsorship plans — anyone who shares the same interest is warmly welcome to join, discuss, and build together.
Issues, suggestions, and feedback are welcome at GitHub Issues, and code contributions via Pull Request are always welcome. Due to the wide variety of terminal environments and usage scenarios, the author cannot cover every possible case in testing — if you run into any issues, feel free to fork the project and contribute directly. This project welcomes vibe coding.
Thanks to the following people for contributing code and improvements, and to everyone who reported issues and shared suggestions — you help make uniTerm better ❤️
Apache 2.0
Go
41.3%
Vue
33.9%
TypeScript
21.0%
Java
1.9%
CSS
1.0%
A lightweight all-in-one terminal with 30+ protocols — SSH, RDP, SFTP, databases, Kubernetes and more. With a built-in autonomous AI Agent that plans and runs multi-turn shell commands.
See the codeA lightweight all-in-one terminal with 30+ protocols — SSH, RDP, SFTP, databases, Kubernetes and more
With a built-in autonomous AI Agent that plans and runs multi-turn shell commands
Remote terminal, local & serial terminal, file transfer, remote desktop, database, containers, and server monitor — covering all remote access needs.
rz/sz support in SSH terminals.Autonomous AI Agent that independently plans and executes multi-turn shell commands directly in your terminal.
/ in the AI input; the AI can also save new skills itself.Connection management, split panes, cloud sync, themes — your terminal, your way.
| Category | Protocol | Description |
|---|---|---|
| Terminal | SSH | Remote server shell management |
| Terminal | Telnet | Remote terminal for legacy devices and embedded systems |
| Terminal | Mosh | Server connections over high-latency or intermittent networks |
| Terminal | Serial | Serial port terminal with configurable baud rate and other parameters |
| Terminal | Raw TCP | Raw TCP console that opens a plain socket and transceives raw bytes |
| Terminal | Local | PowerShell, CMD, Git Bash, and other local shells |
| Terminal | WSL | Open installed WSL distributions via local terminal (Windows only) |
| File Transfer | SFTP | Server file management and transfer |
| File Transfer | SCP | Fallback protocol for legacy SSH servers that do not support SFTP |
| File Transfer | FTP / FTPS | Website hosting, NAS file transfer |
| File Transfer | SMB | Windows shared folders, NAS file access |
| File Transfer | WebDAV | WebDAV server file management |
| File Transfer | S3 | Amazon S3 compatible object storage |
| File Transfer | Zmodem | In-terminal file transfer via rz/sz commands |
| Remote Desktop | RDP | Windows server remote desktop management (Windows only) |
| Remote Desktop | VNC | Linux server remote control |
| Remote Desktop | SPICE | KVM/QEMU VM management |
| Remote Desktop | X11 | X Window forwarding |
| Database | MySQL | MySQL protocol: MySQL, MariaDB, TiDB, and more |
| Database | PostgreSQL | PostgreSQL protocol: PostgreSQL, CockroachDB, and more |
| Database | Oracle Database | Oracle Database connections through a pure Go driver |
| Database | SQL Server | SQL Server connections through a pure Go driver |
| Database | rqlite | Lightweight distributed DB built on SQLite with Raft consensus |
| Database | Redis | In-memory key-value store with visual key browsing and editing |
| Database | MongoDB | Document database with tree browsing, query editor, and inline editing |
| Database | Elasticsearch | Distributed search and analytics engine with index and document management |
| Containers | Kubernetes | Cluster resource browsing and management, Pod logs and exec, performance metrics |
| Containers | Docker | Container and image management, on the local machine or remote hosts over SSH |
| Containers | Podman | Docker-compatible container engine, on the local machine or remote hosts over SSH |
| Containers | nerdctl (containerd) | containerd container management with namespace switching |
| Containers | WSLC | Windows WSL2 Container runtime (Windows only) |
Oracle Database support is implemented with a pure Go driver. uniTerm does not bundle Oracle Database, Oracle Instant Client, OJDBC, wallet files, or Oracle brand assets; users are responsible for their own Oracle licenses, credentials, and database access.
Get the latest pre-built binaries from GitHub Releases or Gitee Releases:
uniterm-windows-*-installer-*.exe, or portable uniterm-windows-*-portable-*.zipuniterm-darwin-*-*.dmguniterm-linux-*-*.tar.gz, .deb, or .rpmuniterm-android-arm64-*.apkAbout Windows antivirus false positives: As this open-source software has not purchased a code-signing certificate, the unsigned executable may trigger false positives in some antivirus engines (e.g. Windows Defender). This is a known issue with Go/Wails applications (see wailsapp/wails#3308). You can add an exclusion rule in your antivirus to allow it. Please download only from the official open-source channels — GitHub and Gitee. If you are still concerned about malware, you can download the source code and build and run it locally yourself.
# Windows
scoop bucket add uniterm https://github.com/ys-ll/scoop-uniterm && scoop install uniterm
# macOS
brew install --cask ys-ll/uniterm/uniterm
# Linux (deb)
curl -sLo uniterm.deb https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.deb
sudo dpkg -i uniterm.deb
# Linux (rpm)
curl -sLo uniterm.rpm https://github.com/ys-ll/uniterm/releases/latest/download/uniterm-linux-amd64-*.rpm
sudo rpm -i uniterm.rpm
libgtk-3-0 and libwebkit2gtk-4.1-0 (preinstalled on most desktop distros)| Layer | Technology |
|---|---|
| Desktop Framework | Wails v3 |
| Backend | Go |
| Frontend | Vue 3 + Pinia + Element Plus |
| Terminal | xterm.js |
| AI Protocol | Anthropic Messages API / OpenAI Chat Completions API |
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-beta.27)libgtk-3-dev and libwebkit2gtk-4.1-devsdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "ndk;26.3.11579264")git clone https://github.com/ys-ll/uniterm.git
cd uniTerm
cd frontend && npm install && cd ..
wails3 dev # Development
wails3 build # Production build
uniTerm/
├── main.go # Entry point
├── app.go # Wails bindings, LLM API proxy, SFTP API
├── app_*.go # Platform-specific implementations
├── backend/
│ ├── session/ # SSH/Telnet/Serial/SFTP/database session management
│ ├── database/ # SQL execution, schema introspection, DSN builders
│ ├── container/ # Docker/Podman/nerdctl container management
│ ├── k8s/ # Kubernetes cluster management
│ ├── store/ # Persistent config (connections, AI, settings)
│ ├── sync/ # Cloud sync (Git / WebDAV)
│ ├── update/ # Auto-update
│ ├── platform/ # Platform abstraction layer
│ └── log/ # File-based logging
├── frontend/
│ └── src/
│ ├── components/ # Vue components
│ ├── composables/ # Terminal composables
│ ├── stores/ # Pinia stores
│ ├── services/ # AI agent loop, LLM client
│ ├── i18n/ # Translations
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ └── vendor/ # Third-party libraries
├── plugins/ # Plugin directory
├── docs/ # Documentation
├── Taskfile.yml # wails3 build tasks
└── build/
└── config.yml # build config (app info, dev mode)
See ROADMAP.md for the current protocol / feature status and what's planned next. For per-release history, see CHANGELOG.md.
If uniTerm is helpful to you, please consider giving it a ⭐ Star — it's the best encouragement for the project and helps more people discover it.
This is a personal hobby project maintained in the author's spare time, with no commercialization or sponsorship plans — anyone who shares the same interest is warmly welcome to join, discuss, and build together.
Issues, suggestions, and feedback are welcome at GitHub Issues, and code contributions via Pull Request are always welcome. Due to the wide variety of terminal environments and usage scenarios, the author cannot cover every possible case in testing — if you run into any issues, feel free to fork the project and contribute directly. This project welcomes vibe coding.
Thanks to the following people for contributing code and improvements, and to everyone who reported issues and shared suggestions — you help make uniTerm better ❤️
Apache 2.0
Go
41.3%
Vue
33.9%
TypeScript
21.0%
Java
1.9%
CSS
1.0%