[HN Gopher] Show HN: Wave - Modern Open-Source Terminal (macOS a...
___________________________________________________________________
Show HN: Wave - Modern Open-Source Terminal (macOS and Linux)
Hi HN, I'm Mike, the founder and creator of Wave, a cross-platform
open-source terminal that supports inline rendering, modern UI, and
persistent sessions. I love the command line; I've been using it
for over 25 years, starting with a Linux box I made with spare
parts in my college dorm room. But while other devtools have been
modernized, the terminal has been stuck, with the same basic
functionality for over 40-years. 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
Author : sawka
Score : 66 points
Date : 2023-12-19 21:29 UTC (1 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| sneak wrote:
| I'm not in the market for a new terminal right now, but I dig
| your announcement: you explain the license, the languages in the
| stack, and the future revenue model, which are my first questions
| whenever evaluating something like this.
| sawka wrote:
| thanks, appreciate it! you also get the award for first comment
| :)
| wffurr wrote:
| Thanks for mentioning the revenue model. I missed it in the
| announcement. Saw on the site they were VC backed and spent a
| while wondering "what's the play".
|
| Since this can run entirely locally, this might be the first
| "reimagine the terminal" app I can actually use for work!
| bu92 wrote:
| "A open-source, cross-platform, modern terminal"
|
| "Wave Terminal works with MacOS and Linux (preliminary)."
| CoolCold wrote:
| > terminal DevEx across the board and fix all sorts of terminal
| micro-frustrations
|
| 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)
| tempest_ wrote:
| It is my very limited experience that the frontend JS devs who
| mainly have experience working with cloud GUIs and PaaS and do
| not have a lot of experience in a terminal environment
| appreciate those types of features.
| sawka wrote:
| a couple that have come up a lot in my talks with devs who use
| the CLI, but don't necessary live in it are: copy/paste,
| dealing with tmux, getting disconnected, using 'vi' remotely,
| having to setup prompts/colors/aliases on every new remote
| machine, editing commands without using the mouse. I'm not
| saying there aren't ways to do all of this now (especially when
| you have a lot of experience), but there can be a steep
| learning curve for new devs.
| AbraKdabra wrote:
| "Cross-platform" but works only with MacOS and Linux, you should
| change the wording until it is cross-platform.
| jaboutboul wrote:
| That is cross platform though...
| sawka wrote:
| Haven't tested it myself, but some people have gotten it to run
| on Windows via WSL. We'll have a true Windows port at some
| point as well.
| zerojames wrote:
| > We don't require an email, login, or payment to use our
| terminal (it is free as in speech and as in beer).
|
| 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!
| solarkraft wrote:
| > so I went back to the default macOS one
|
| I find iTerm to be the standard among macOS developers.
| zerojames wrote:
| I am regularly behind the trends :)
| sawka wrote:
| ya, i love iTerm. been a loyal user for more than 10 years.
| that is until Wave of course :)
| denysvitali wrote:
| Did you really call your company "Command Line Inc."? That's
| awesome!
| sawka wrote:
| Yes, and we own commandline.dev! I wanted, and got, the email
| address mike (at) commandline.dev :)
| anonymouse008 wrote:
| Initial thought: meh, do we really need another terminal? Fzf,
| etc kinda do everything...
|
| Views site: 'oooh' (audible)
|
| Well done, my friend. How wonderful!
| garrison wrote:
| Looks neat. A screenshot or video would be much appreciated.
| sawka wrote:
| https://waveterm.dev has some screenshots. Also checkout our
| twitter feed https://twitter.com/wavetermdev . I couldn't post
| the homepage as the main link because of a dup check on HN
| (someone unaffiliated with the company posted the link last
| week).
| yjftsjthsd-h wrote:
| > 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).
|
| 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.
| sawka wrote:
| All of the tty processing, networking, and stream processing is
| done in Go, so it is fast. There is obviously more performance
| work to do, but in some situations our model can actually be
| faster than other terminals. If you cat a 1GB file in Wave, it
| actually runs quickly because the frontend can drop frames,
| while the Go backend is buffering the stream (so to answer your
| question, JS is not in the hot path, only Golang is).
| jackofalltrades wrote:
| Honest question, why does everyone uses discord for community
| space nowadays? What happened to product forums that could be
| easily found in a web search?
| esimkowitz wrote:
| Moderation in Discord is much easier than on self hosted
| platforms. It's also free, which helps.
| sawka wrote:
| I used Discord for Wave because it is real-time, free, and has
| a lot of community and auto-moderation facilities built in. It
| also seems to scale well to large communities. Because you
| asked, I think it is fair game to share our discord link here:
| https://discord.gg/XfvZ334gwU
| theshrike79 wrote:
| You can set up a Discord server for free in under 3 minutes. 10
| if you want to install all the fancy moderation bots and change
| the icons and add custom emojis.
|
| 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
| n_plus_1_acc wrote:
| You can setup a room on any Matrix server of your choice in
| the same 3 minutes.
| wkat4242 wrote:
| Or something actually open like matrix! It's really bad that
| you have to sell your privacy just to get support on a FOSS
| project.
| nox100 wrote:
| This looks really interesting!
|
| 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 for (let i = 0; i < 5; ++i) {
| console.log(i); }
|
| produces this 0 VM45:1 1 VM45:1
| 2 VM45:1 3 VM45:1 4 VM45:1
|
| instead of this 0 1 2 3
| 4
|
| When I try to copy the text. Does Wave run into this kind if
| issue?
| sawka wrote:
| I hear you. That is a problem with a lot of (bad) UIs and why I
| think people love text-UI (because it is harder to screw up).
| First, I don't want to get rid of the text UI -- you can always
| render your commands using the traditional terminal interface.
| We just want to provide an _option_ to display the output in a
| richer way. I think Github does a good job of this. You can
| view a file with line numbers and annotations on the side, but
| copy /paste won't grab that content because of how the HTML is
| structured. We hope be similarly attentive to things like that
| (but of course it is still a WIP).
| andrewaylett wrote:
| I'm in the same boat as many -- not particularly excited by the
| idea of a new terminal, but curious enough to take a look and
| (unusually) a smidge interested after seeing the website. Well
| done, you've got further with me than most "reinvent the
| terminal" projects :).
|
| 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: "+-SSEURPS". 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.
| sawka wrote:
| zsh support and international character support are our top two
| issues right now. I _know_ the intl chars _can_ work, we just
| didn 't do enough international testing before launch. sorry to
| hear that it didn't work out of the box for you (the big
| profile files are also on our radar).
| elaus wrote:
| > [...] I ssh'd to another machine and was slightly
| disconcerted to see it installing software on first connection?
|
| That sounds really disturbing and immediately turns me off this
| project (as well as not having the need for a VC-backed
| terminal).
| dwb wrote:
| thanks, i've wanted someone to build something very similar to
| this for a while!
| sawka wrote:
| Would love to get any suggestions for what people would like to
| see rendered inline in the terminal. Things like graphs,
| audio/video streams, filesystem view (that supports drag&drop
| from your local machine), graphviz, pdfs. Maybe a graphical way
| to view a JIRA or Github issue and add a comment? Visual diff?
| Let me know what you think?
| calgoo wrote:
| I wonder if we could render html inline now as you can do
| images and other others? Same thing for Markdown for example.
| My dream would be to basically move everything into the
| console, but I need graphical applications these days for
| interacting with others at work etc.
| bytearray wrote:
| I think I ran into this same bug:
| https://github.com/wavetermdev/waveterm/issues/161
|
| 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.
| :-)
| sawka wrote:
| i'd love to figure out what is causing this as we haven't been
| able to repro it. if you don't mind adding a comment to the
| issue with anything novel or interesting in your .bashrc /
| .bash_profile or your machine setup it would be much
| appreciated.
| whalesalad wrote:
| why is a terminal venture backed
| andrewstuart wrote:
| I wish Windows had as many good terminals as MacOS does.
___________________________________________________________________
(page generated 2023-12-19 23:00 UTC)