Show HN: Wave – Modern Open-Source Terminal (macOS and Linux) (github.com)
What if your command line terminal could display more than just text? That’s crazy right (I can hear the screams of thousands of graybeard sysadmins). Not all the time, but maybe just when you want it to. Like displaying Markdown, Images, ChatGPT output, or CSVs (that you can copy from and paste directly into Excel). Or running a VSCode style editor inline in your terminal that has mouse support, copy/paste, indentation, and syntax highlighting support right out of the box for when you need to edit your remote .bashrc file.
That’s why I built Wave, to keep what’s best about the command line while adding the power of the open web. Wave has inline renderers for terminal content and remote files to help keep you in flow and reduce context switches. We have 5 initial plugins: remote file editor, markdown viewer, image viewer, CSV viewer, and a ChatGPT interface, with more coming soon. We’re proudly built on Electron (just like VSCode, Slack, and Discord) with all of the network code and heavy lifting done in a local Go backend. This enables us to deliver a consistent cross-platform experience and the ability to leverage high-quality web components for our UI and plugins.
Openness is a core part of our mission. Our code is open source (Apache 2.0), and our plugins are written in TypeScript/React. We don’t require an email, login, or payment to use our terminal (it is free as in speech and as in beer). We’re also proud to be shipping a Linux version of Wave alongside the MacOS version (with a Windows WSL port coming soon). Yes, we do plan on making money in the future, through opt-in team collaboration features. Basic rule of thumb is if it runs on your own computer with your own resources it will be free, if it hits our servers using our resources it will be paid.
But Wave isn’t just a simple renderer trick. We’ve been working on Wave for over a year and have over 1200 commits. We’re on a mission to improve terminal DevEx across the board and fix all sorts of terminal micro-frustrations. Wave manages your remote SSH connections, seamlessly restoring sessions, persisting sessions, and giving you a searchable contextual history of all the commands you’ve run, across all of your sessions and remote machines.
If you’re interested, please give it a try and give us a Star on Github to show your support for Open Source! Feedback, bugs, feature requests, and contributions are all welcome. Happy Hacking!
https://www.waveterm.dev | https://github.com/wavetermdev/waveterm
92 comments
[ 3.5 ms ] story [ 177 ms ] threadSince this can run entirely locally, this might be the first “reimagine the terminal” app I can actually use for work!
"Wave Terminal works with MacOS and Linux (preliminary)."
I believe you believe this such a thing exists - I'd like to read/hear your thoughts on this - in my bubble of system administration, I'm not sure I do feel the pain/unique value proposition (not saying it doesn't exist).
> remote file editor, markdown viewer, image viewer, CSV viewer, and a ChatGPT interface
not sure I'd even want something of this be in my terminal at all, for example and cannot imagine why it's a big deal (would like read real life stories again)
This excites me. I was excited to try a new terminal last week and I had to sign up. I wouldn't do that, so I went back to the default macOS one. I'll give Wave Term a try!
It's clear you have put a lot of thought into the product and its delivery after reading your message above -- it is noted and appreciated!
I find iTerm to be the standard among macOS developers.
But nothing can beat foot [0]. But it's only for wayland, so I need to use alacritty on macOS.
[0] https://codeberg.org/dnkl/foot/
That said, my terminal usage is nowhere near as heavy as it is for some.
Views site: 'oooh' (audible)
Well done, my friend. How wonderful!
The screams are because they remember the last... 3 or 4 off the top of my head? terminals that said that, and then fell over when you tried to cat a log file because they were using javascript in the hot path for displaying text. So how's your performance and responsiveness? Throughput and latency both matter a lot here.
OTOH, full marks for actually doing FOSS and not requiring a login to use a local terminal; you've already avoided at least some of the obvious landmines that would make me run screaming.
Surely that's not great. Dropped frames are terrible for following what's happening on the screen and even worse for scrolling.
It's not the same as doing that between 2 local layers.
There's nothing comparable for forums. FB tried but it's a cesspool of "user engagement", managing groups is a full time job and still doesn't work properly.
Oh, and Discord _has_ a forum-like feature inside it :D
Matrix is its own brand of confusing because it's trying SO hard not to be a Discord clone. If you properly want to own your Matrix channels, you need to run your own server and that's not a 3 minute thing to do.
Pretty sure the last bit in the GP was the important one:
> What happened to product forums _that could be easily found in a web search_?
Without web searching capability, whatever "forum-like feature" exists is still subpar.
Content is either in silos like FB or Discord or in videos on Youtube. None of which is properly searchable from an external search engine by content.
The only negative feedback I've gotten is from users in China, where Discord is blocked.
My first thought is, how often does all the structure you added get in the way? With plain text (most terminals), it's easy to grab any chunk of text. With structured text, UI elements often get in the way. As an example, in Chrome's devtools console, it's frustrating that
produces this instead of this When I try to copy the text. Does Wave run into this kind if issue?Issue 88 is a blocker, though, I'm afraid. I may be monolingual, but I still need to be able to use "international" characters.
In the interests of being interested, I did install the cask and I have some feedback :P.
I have four symbols printed on my (Macbook Pro, UK) keyboard that don't render in the output: "±§€£". Curiously, they do render in the input.
My profile files are apparently too big for Wave to process. So I ssh'd to another machine and was slightly disconcerted to see it installing software on first connection? Not something I expected, I'm afraid.
In conclusion: I can't use it, and I'm not sure I want to if it's going to automatically install software on other machines.
It's not like there are no people in the US who use characters with accents. Or, indeed, that everyone reading your comment considers themselves to be "international".
That sounds really disturbing and immediately turns me off this project (as well as not having the need for a VC-backed terminal).
if ls is installed on the remote host
and if it is not, the command should fail
this appears to be about telemetry, pure and simple
we do hear the feedback though and are working on a popup/notification that will prompt you before we push the helper program for the next release.
I try to cd and it just leaves me in ~.
Using on mac.
Looks cool, but obviously pretty limited use when you can't cd. :-)
i also want to point out that the main competitor in this space is also venture backed and is closed source. we need the money to keep up (with help from the OSS community) and make sure there is a great open alternative in the market.
For those that use it, is there any reason for me to switch from gnome-terminal?
For my curiosity, why electron in a day when Tauri exists, or Wails since you seem to already be in the golang ecosystem?
It has tabs, but I'm using the i3 tiling window manager and Alacritty. This setup basically removes the need for tabs, so any terminal app with tabs would essentially get in the way.
I switch between windows with the keyboard.
error connecting to remote: invalid packet received from mshell client: raw[Bad : modifier in $ '~'.]
Also tried the default at setup 'sudo' for local, but the window to input the password wouldn't keep focus, so I could never input the password.