waveterm: Level Up Your Terminal With Graphical Widgets
Wave is an open-source terminal that adds the ability to launch graphical widgets, controlled and integrated directly with the CLI. It combines traditional terminal features with graphical capabilities like file previews, web browsing, and AI assistance. It runs on MacOS, Linux, and Windows.
Modern development involves constantly switching between terminals and browsers - checking documentation, previewing files, monitoring systems, and using AI tools. Wave brings these graphical tools directly into the terminal, letting you control them from the command line. This means you can stay in your terminal workflow while still having access to the visual interfaces you need.
Key Features
Terminal Features
- Works with common shells (bash, zsh, fish)
- Supports standard terminal features (readline, control sequences, etc)
- Includes the wsh command for interacting with Wave's GUI features
- GPU accelerated (on most platforms)
Graphical Widgets
- Preview files (images, video, markdown, code with syntax highlighting)
- Browse web pages
- Ask questions and get AI help directly from the terminal (set up multiple AI models)
- Basic system monitoring graphs
Remote Connections
- Easy SSH connections with the connection button
- WSL integration on Windows
- Consistent experience across local and remote sessions
Installation
macOS
Homebrew:
brew install --cask wave
Linux
Snap:
sudo snap install --classic waveterm
Other options available: AUR package (community maintained), Nix package (community maintained)
Windows
Windows Package Manager:
winget install CommandLine.Wave
Chocolatey:
choco install wave
You can also download installers directly from Downloads page.
How to use
Open Your First New Tab
- New Wave tabs start with a single terminal block
- Use it just like your regular terminal
- Create additional terminal blocks with Alt n
Try Some Basic Commands
# View a file or directory
wsh view ~/Documents
# Open a webpage
wsh web open github.com
# Get AI assistance
wsh ai "how do I find large files in my current directory?"
Customize Your Layout
- Drag block headers to rearrange them
- Hover between blocks to resize them
- Right-click tab headers for background options
- Right-click block headers for block-specific options
Connect to Remote Machines
- Click the connect button
- Enter username@hostname for SSH connections
- Or select a WSL distribution on Windows