‹ BackHN Continuity

Thread

Pi 1.0

1684 points · 602 comments · sergiotapia

  1. julesrms · · focus · HN ↗
    Every few weeks Pi hits #1 here and I quietly grumble &quot;mine does that too, but with lovely graphics.&quot;, so I&#x27;m saying it out loud: <a href="https:&#x2F;&#x2F;github.com&#x2F;juggler-ai&#x2F;juggler" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;juggler-ai&#x2F;juggler

    Like Pi, it&#x27;s plugins all the way down, provider-agnostic, minimal system prompts, threaded sub-agents, code-mode, multi-client remote sessions, worktrees, a context window you can actually see and edit, etc etc

    Where Pi is way ahead is the plugin ecosystem, and that takes people, which is hard to get amid the current deluge of agent action. So if there&#x27;s any spare oxygen trailing off this thread, I&#x27;d love any Pi-heads who fancy a bit of GUI action to come and kick the tyres..

    1. jonenst · · focus · HN ↗
      My personal quiet grumbling is that everyone got on the TUI bandwagon without any rational reason. I find it borderline psychotic. Or maybe humans are much more like sheep than we care to admit: we just follow the flock into the (UI) ravine. So your GUI is a nice escape.
      1. KolmogorovComp · · focus · HN ↗
        For me terminal use is a must because I want my harness to run in VMs, headless server etc.
        1. jon23d · · focus · HN ↗
          That&#x27;s where I&#x27;m at too. I tried to used web interfaces served from the VMs, but it was messy. I&#x27;m way happier with TUIs.
        2. julesrms · · focus · HN ↗
          That doesn&#x27;t mean you need a TUI! Juggler runs in headless terminals and VMs - you run it as a headless server process, and it serves the exact same desktop GUI via HTTP to any number of clients
          1. kraktoos · · focus · HN ↗
            Or just use a TUI
        3. julesrms · · focus · HN ↗
          It does seem like devs are splitting into the TUI and GUI tribes. Like tabs and spaces. We will probably never reconcile our differences or learn to empathise with the other side.
      2. konart · · focus · HN ↗
        Many of us just live in the terminal (during work hours at least).

        I hardly use anything aside from neovim and a browser. (okay corporate Mattermost fork and video terminal too).

        For me switching between different cli\tui tools feels like a continuation of whatever I was doing, while going to something GUIsh is not.

        And to be honest: what do you even need from a harness\agent for it to have a gui?

        1. julesrms · · focus · HN ↗
          &gt; And to be honest: what do you even need from a harness\agent for it to have a gui?

          Oh, it&#x27;s just so much nicer! Personally I&#x27;m a graphics&#x2F;typography nerd, so just having nice fonts, smooth movement, use of sizes, colours and graphics to differentiate and display types of information... Some people obviously don&#x27;t care about this kind of look and feel nicety, but even so a GUI has so many more opportunities for displaying information in a clear but dense way.

          1. konart · · focus · HN ↗
            But you have exactly the same fonts in your terminal and modern terminal support variable fonts and all those bells and whistles.

            They can even show images these days.

            Some of the elements can&#x27;t be recreated 1 to 1 ofc, like borders with delicate margin\padding adjustment, but this is about it I think.

            To each his own, yeah. From my experiment GUIs tend to overcomplicate things and display too much info you didn&#x27;t need in the first place.

            1. konart · · focus · HN ↗
              &gt;experiment

              experience

            2. voakbasda · · focus · HN ↗
              What terminal(s) would allow me to connect to a remote headless server and view an image?
              1. albondiga90210 · · focus · HN ↗
                With Kitty you can even view video. YouTube-dl piping to timg works surprisingly well
            3. julesrms · · focus · HN ↗
              You can choose any font you want for your terminal, but only one at a time!

              The native format of LLM interactions is markdown, and showing that in a terminal is a poor imitation of what it looks like rendered properly.

              An interesting thing you can do in juggler is ask the LLM to reply in HTML instead of markdown, and they can then do things like illustrate points visually for you. LLMs are actually great at being able to express things visually to the user, but being stuck in terminals so much, people haven&#x27;t really leaned on that very much

          2. maupin · · focus · HN ↗
            I won&#x27;t say Pi looks particularly impressive, but for example OpenCode looks beautiful to me and I prefer it to any graphical interface. The screenshots of your tool are nice but they feel like too much. With a good TUI like OpenCode and even Pi (which is decent) I fell like the code is front and foremost.
        2. flaunf221 · · focus · HN ↗
          &gt; And to be honest: what do you even need from a harness\agent for it to have a gui?

          Nothing absolute that I couldn&#x27;t live without. But TUI is essentially a design written for the lowest common denominator. It doesn&#x27;t matter that I have had high resolution displays for years, average TUI is designed as if I&#x27;m using computer older than me.

        3. epihelix · · focus · HN ↗
          I live in an office when I&#x27;m at work. Doesn&#x27;t mean it&#x27;s a great experience.

          I love the terminal for terminal things. I&#x27;m not convinced agenetic coding is best implemented in a terminal - for it to work well, you&#x27;re basically reinventing a toolkit wheel. Why not just use a nice graphical toolkit? It feels a bit like the current trend for pixelated graphics - both retro and worse.

      3. lionkor · · focus · HN ↗
        SSH into a machine and open a GUI tool. I&#x27;d love to watch you do that and enjoy 2 FPS via X11-via-ssh.
        1. 8aKXcbOAOz · · focus · HN ↗
          if only there were a way to tunnel web servers over that very SSH connection and use a proper web UI, something HN has always been obsessed with.... oh well i guess we&#x27;re stuck with a VT100! :( there&#x27;s nothing we can do!
          1. svennek · · focus · HN ↗
            You mean like ssh -R? (And some magic to make host header correct, likely local hosts file)
          2. KetoManx64 · · focus · HN ↗
            Why would I want to use a web browser when 90% of my work is in the terminal?
        2. epihelix · · focus · HN ↗
          I&#x27;m currently using an R-studio server session running on a server half way around the world, via a gui web interface. It&#x27;s fast and smooth. How on earth could that be?
        3. julesrms · · focus · HN ↗
          I&#x27;ve specifically designed juggler to do exactly that.

          You run it on some headless machine, and point your browser at the HTTP server it creates to see the full GUI. It uses Yjs to make that connection as efficent as possible, and it works great.

          The desktop app is literally doing the same thing internally - it runs a headless server process and serves the GUI to its own window. But you can stretch that over a network and it&#x27;s the same experience.

          I can even connect to it via a TURN server, from my phone on a cell signal, and although it&#x27;s not as snappy as running locally, it works pretty well.

          1. lionkor · · focus · HN ↗
            But a TUI does the same thing except the client side doesn&#x27;t need to have anything installed.
      4. grosswait · · focus · HN ↗
        Or maybe people genuinely like TUIs? Most folks came of age after the TUI had already lost popularity to the eye candy and only recently learned the merits of the terminal. I personally have always loved a good TUI and enjoy the terminal. I can’t count the number of people who worked in a TUI and were pushed to a modern GUI say (usually in the 00’s) how much more productive they were in the TUI version.
        1. almostarockstar · · focus · HN ↗
          What would you say are the merits of the terminal that a TUI encapsulates?

          My opinion is that TUI is just a GUI with less fidelity. Being composed of text characters provides no additional benefit other than a retro style. The benefits of the terminal are outside of TUIs - composing scripts, piping data, bash etc.

          1. idiotsecant · · focus · HN ↗
            Text interfaces can offer precision and breadth of tooling that guis don&#x27;t.

            I do a fair amount of CAD so I&#x27;ll use that example. Nobody who uses CAD professionally is clicking all the little buttons for tools. They&#x27;re using commands, shortcuts, scripts, etc.

            A GUI is slow and clunky. A textual interface, once learned, has way more degrees of freedom.

            1. kaibee · · focus · HN ↗
              I don&#x27;t think anyone referring to GUI means &#x27;no commands&#x2F;shortcuts&#x2F;scripts&#x27;, like, all of those that all CAD programs are GUIs that have commands, shortcuts, etc.

              My two cents is that having all of your text be monospaced is not really ideal for agentic workflows where you do in fact read a lot of prose and in the future may want diagrams, rendered from a full browser&#x27;s capabilities, etc.

              I think I like the aesthetic of using a TUI because it makes me feel more like whatever &#x27;real programmer&#x27; means to me... but I recognize its also cope.

            2. spacechild1 · · focus · HN ↗
              &gt; They&#x27;re using commands, shortcuts, scripts, etc.

              Yes, power users often use shortcuts and automation, but how is that an argument against GUIs?

              It simply depends a lot on the actual task. Certain things absolutely require a (high fidelity) graphical interface. Other things can be done just as well (and with less distraction) in a simple TUI. You can&#x27;t generalize.

            3. nchmy · · focus · HN ↗
              have you ever used, for example, vs code or Excel? both have robust GUI and keyboard capabilities. Andexcel has vba and now python and other scripting, and vscode is eminently extensible.
          2. stasomatic · · focus · HN ↗
            One small example - ChatGTP desktop intercepts highlighted text selection with &quot;Ask ChatGTP&quot; bubble. I have my own app that materializes a menu on highlighted text, but ChatGTP blocks it. No issues with that in the terminal. I am not a terminal junkie, but these opinionated paper cuts are annoying.
          3. bloppe · · focus · HN ↗
            Vim keybindings, one of the most powerful and widely supported ways of interacting with information, basically impose the &quot;grid of text&quot; nature that define TUIs anyway, so my message prompt has to look like a terminal. The rest of the UI can be whatever, but grid-of-text works well for structured output, especially code blocks, as well.

            TUIs compose with tmux. Pi&#x27;s homepage says &quot;use tmux&quot; twice on it. It fits right into an already-mature ecosystem including a clipboard (powered by Vim visual &#x2F; line &#x2F; block mode) and easy integration with shells, editors, and other tools. GUIs generally have to re-invent all those wheels (tabs, splits, sessions, etc.) and it never integrates as well with other tools in a totally cross-platform way.

          4. cryptonector · · focus · HN ↗
            &gt; What would you say are the merits of the terminal that a TUI encapsulates?

            GUI scripting is still not a thing today. That&#x27;s the biggest issue with GUIs.

            Plus the mouse is genuinely bad for ergonomics.

            Plus if you type _fast_ then TUIs are a great starting point.

            Plus what&#x27;s the equivalent of scrollback for a bunch of mouse clicks?

            Plus TUIs are much more I&#x2F;O efficient, which means running them over ssh&#x2F;mosh&#x2F;whatever is a great option.

            Plus the shell is a programming language -- the GUI isn&#x27;t just hard to macro-record&#x2F;script: it doesn&#x27;t even have a programming language you&#x27;d use for that.

      5. nilamo · · focus · HN ↗
        I mean, everything an agent shows to you and accepts as input is text, what does a gui even contribute to the conversation?
        1. rspeele · · focus · HN ↗
          All the agentic coding models are multimodal and can understand pictures quite well. I routinely paste in primitive paint drawings to augment my textual descriptions and show an agent what I mean, and it seems pretty effective. This can be to rough out a UI layout but it can also be useful in pure backend work drawing diagrams, or in any domain where code manipulates geometric data.

          For an example, see my MSPaint drawings in the README (scroll near the bottom) for this tiny little project: <a href="https:&#x2F;&#x2F;github.com&#x2F;rspeele&#x2F;meshorient" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rspeele&#x2F;meshorient

          I redrew those for the README but IIRC, I drew something similar when explaining how the feature would work to the agent.

          And in reverse, after describing an architecture or an algorithm to it, I&#x27;ll sometimes ask it to draw a diagram for me to demonstrate its understanding. If it draws the picture in line with what I intended, I conclude that it has gained the necessary context to proceed. If not, I know I explained something wrong or at least insufficiently and need to provide clarification. There are some domains where a picture is worth a thousand words.

          It also helps cut through the Claudese. &quot;Your decision is needed for one edge case, found by the gate. When a T-joint meets an endcap that the mesher solves by a fan, should this bisect a fan slice or raise a warning?&quot; I&#x27;m sorry Claude, I am not from Missouri but you are going to have to Show Me this one with a picture.

          Of course you can save pictures to files and open them with external tools, but it&#x27;s nicer to have them inlined into the chat history when that&#x27;s exactly what they are: part of the conversation.

        2. julesrms · · focus · HN ↗
          It&#x27;s not just text, it&#x27;s structured text. It often contains tables, sections, lots of things that can be drawn much more nicely.

          And in juggler (and probably other harnesses too) the LLM can reply in HTML. So if I&#x27;m planning e.g. some UI changes, I might ask it &quot;show me what this button will look like&quot; and it&#x27;ll reply with a picture of that thing in its response. No temp files to open or clean up, and fewer tokens burned

      6. jitl · · focus · HN ↗
        i love vim and i love vim-tmux-navigator keybinds letting me navigate quickly between panes in my terminal: ctrl-{h,j,k,l} to switch panes. i love that tui agents fit right in among my shells and vims. i love that my setup works just as well on my machine and on any remote machine over ssh or mosh. i’ve been working like this since 2012. although i did start using vscode for $DAYJOB since our devex team supports it (has good vim keybinds at least)
        1. ramgine · · focus · HN ↗
          Our architecture team started with vscode and windows because it’s “how it’s been done” but within a year they all migrated to ghostty or another terminal on Mac because it’s so much faster and efficient.
      7. nchmy · · focus · HN ↗
        im with you. I have tried all the TUIs and immediately bounce off of them due to how utterly awful even just basic operations like text editing are. I use Vscode copilot chat because in the before-times I was perfectly happy with vscode. I cannot comprehend how people can now give all of that up for TUIs. It also has its Agents Window, Copilot CLI etc... and you can use any api keys, subscriptions etc... that you want.

        And, of course, most of the tools have created their own GUIs anyway, which are far worse than VS Code (even when they&#x27;ve forked VSCode itself!)

        I think the &quot;borderline psychotic&quot; phrasing is apt.

      8. wookmaster · · focus · HN ↗
        Odd you claim there’s no reason except “sheep”, did you ever stop to consider people just enjoyed the experience so stuck with it ?
        1. julesrms · · focus · HN ↗
          Woah there, I never said the &#x27;s&#x27; word!

          Pi is a great project, and people love it for good reason, I have nothing negative to say about it or its fans. I&#x27;m just trying to do something that appeals to the more GUI-oriented folks. And yes, I&#x27;d really love to know if there&#x27;s something that&#x27;s making people bounce off the product, because it may be trivial to fix!

      9. boie0025 · · focus · HN ↗
        I grew up running and calling dialup BBSs, learning to program in the MS DOS shell world with QBasic and Turbo Pascal &quot;IDE&quot;s, dialing up and later telnetting into a Lynx browser (early on when I couldn&#x27;t afford a PPP link with lawn mowing money).. the &quot;terminal&quot; and thereby TUI applications (they weren&#x27;t called that at the time as far as I know, but that&#x27;s definitely what they were) are home, for at least me. I just wish more TUIs had single keystroke hotkeys (indicated by the hotkey&#x27;s letter in the menu item title being a different color or intensity) like the old BBS and other menus. I could login and download a QWK packet quicker than the time it took for the modem to finish the DTMF tones. I&#x27;m excited about how many new things allow me to stay in the interface my brain formed around. YMMV
        1. ljosifov · · focus · HN ↗
          Sprint outdial NUAs :)
          1. boie0025 · · focus · HN ↗
            I don&#x27;t actually know what you&#x27;re referring to, but from context I can guess that you&#x27;re referring to something like the Juno dialup &quot;at&amp;t&quot; links they used to actually send the emails. The PPP L&#x2F;P were encoded in the .into files and they were great free PPP links while they lasted.
            1. boie0025 · · focus · HN ↗
              ... And the creds were basically &quot;solarwinds123&quot; :eyeroll:
      10. jasonlotito · · focus · HN ↗
        Most GUIs can&#x27;t be navigated by a fluent keybind system. And if they do have keybinds, they are their own, and not consistent with what others use, or you can&#x27;t modify them. And then there is the issue of making it hard to run multiple copies at the same time (I can&#x27;t just click the app icon again to start a second copy, Juggler does solve for this though), nor can I keep two copies together side by side easily. Being able to copy and paste text is hit or miss.

        I love good GUI apps. They are hard to do well.

        Juggler, for example, already collides with a Keyboard Shortcut I use across the desktop, so CMD + J can&#x27;t be used. It also uses CMD + &#x2F; for keyboard shortcuts? Tha&#x27;s a choice. It doesn&#x27;t respect Mac&#x27;s preferences&#x2F;settings shortcut (CMD + ,)

        You can be on a chat window, and there is no way without using the mouse that I see where you can start typing into the chat box. Juggler tells me to type &#x2F; and I can run a command. I type &#x2F; and nothing happens. What that really means is I have to use my mouse to put the cursor in the small chat box down below.

        This isn&#x27;t to say Juggler is bad. Rather, it&#x27;s got a long way to go for the GUI to be something that has the fluency of something like vim.

        TUIs generally have to solve for that. You have to offer up those features. You can&#x27;t rely on laziness. So at the very least, there generally are keyboard shortcuts and they need to be obvious.

        Feel free to think that people don&#x27;t have a rational reason for TUIs, but it buys you a lot for free. And this isn&#x27;t an indictment on Juggler. It works. It&#x27;s functional. It doesn&#x27;t feel natural, nor does it respect conventions.

        1. julesrms · · focus · HN ↗
          I totally get it. Lots of people, like you, love to set up their perfect custom, key-driven environment, and tune everything just how they want it. These tend to be the TUI fans.

          I&#x27;ve never felt that urge, I&#x27;ve always been happier using Visual Studio &#x2F; Xcode &#x2F; VScode with default key bindings, and focused on other things. I&#x27;d rather click things inefficiently with a mouse than invest effort learning keypresses. Neither of us are wrong or right, but I think I&#x27;m trying to cater for my tribe on this project!

          1. jasonlotito · · focus · HN ↗
            fwiw, you can cater to both. It&#x27;s not an exclusive thing. Having a gui is not bad. It&#x27;s just effort to make it good. Take for example the CMD + , not opening settings&#x2F;preferences on Mac. That&#x27;s convention on the platform.

            &gt; I totally get it. Lots of people, like you, love to set up their perfect custom, key-driven environment, and tune everything just how they want it.

            No, you don&#x27;t &quot;get it.&quot; Like me? I don&#x27;t want to set things up. I don&#x27;t want to customize. I thrive off convention. And there are apps that follow these conventions. They do this out of respect for people who enjoy the defaults they enjoy elsewhere in other applications.

            &gt; I&#x27;ve always been happier using Visual Studio &#x2F; Xcode &#x2F; VScode with default key bindings

            That&#x27;s not true though, because you don&#x27;t even use the same default&#x2F;convention key bindings they use. By doing things your own way, you are making it so it&#x27;s harder for your users to adopt your application.

            &gt; &quot;mine does that too, but with lovely graphics.&quot;,

            But it doesn&#x27;t. You don&#x27;t care about the little things, so how are you going to get the bigger things correct?

            Listen, it&#x27;s great that you built a tool that you love. I love doing that, too. But if you want users, you have to respect them. And that means making it easier for them to use your app.

            And if our app just doesn&#x27;t work because &#x2F; doesn&#x27;t do what it says it&#x27;s going to do, that&#x27;s an issue. And if your app doesn&#x27;t allow for customizing keyboard shortcuts, it&#x27;s disrespecting users who have those set for something else.

            &gt; but I think I&#x27;m trying to cater for my tribe on this project!

            Just realize that tribe is juggler-ai users, or people who don&#x27;t use defaults. People who are fine with default key bindings, can&#x27;t effectively use your app.

            1. julesrms · · focus · HN ↗
              &gt; You don&#x27;t care about the little things

              I wish that was true!

              I&#x27;m not a cowboy arbitrarily making up random shortcuts. A major goal here is for a user to get near-as-dammit the same UI in a desktop app and in a remote browser. So all these shortcut choices have been a compromise between:

              - what different people might expect the default to be (on mac&#x2F;windows&#x2F;linux&#x2F;all kinds of apps)

              - what a browser already uses (on mac&#x2F;windows&#x2F;linux&#x2F;chrome&#x2F;firefox&#x2F;safari&#x2F;etc)

              - what people might have overridden random window managers and custom OS shortcuts

              - what tasks are common enough that they deserve an easy-to-reach&#x2F;remember key in spite of other factors

              - choosing groups of shortcuts where you want the keys to be related (e.g. navigation) despite some being taken on some platforms

              I obviously want the least surprising UX, and if this was just an app on one platform, it&#x27;d be easier. I&#x27;ve had to build a multi-platform shortcut manager that changes depending on the client, while trying to also keep as many as possible constant.

              And yes, allowing users to customise the shortcuts is obviously on my list, but a) I wanted to let the app settle in and make sure I&#x27;ve got the right data model for storing key shortcuts first, and b) other more urgent features..

              BTW `cmd+&#x2F;` is the default &quot;show the key shortcuts&quot; in most chat environments like discord, slack, teams, google docs etc. These are much more relevant to juggler&#x27;s UX when it comes to default shortcuts than things like VScode!

              (...but yes, I had forgotten to add a desktop-app-only binding for `cmd+,`, so thanks for mentioning that - I&#x27;ve sorted that out now..)

      11. multiplegeorges · · focus · HN ↗
        I like TUIs because I am running agents in Docker, often remotely.

        How can a GUI replicate this workflow? I know it could, technically, but not as easily.

        1. julesrms · · focus · HN ↗
          Well juggler literally does that - you run it headlessly on some machine (docker, whatever), it opens a HTTP port, and you can control it remotely with the exact same desktop GUI that you&#x27;d see if you ran it locally. (The desktop app is actually just running a headless process internally and serving it to its own window via HTTP).
          1. multiplegeorges · · focus · HN ↗
            Well, I apologize for assuming! But, nevertheless, that&#x27;s why TUIs are popular.
      12. TJTorola · · focus · HN ↗
        I work over SSH often from various other OSs, TUIs don&#x27;t need any additional abstractions to make that work, I just SSH in from any computer&#x2F;OS and everything works. All I need is SSH and the terminal based apps. It&#x27;s not psychotic, it&#x27;s literally a feature that cannot be found with GUIs.
        1. chasd00 · · focus · HN ↗
          hate to make a &quot;me too&quot; comment but TUIs working over ssh is what makes them so great. Also, when combined with something like screen it&#x27;s icing on the cake.
        2. Fidelix · · focus · HN ↗
          &gt; it&#x27;s literally a feature that cannot be found with GUIs Yes, it can.

          Cursor has this, and there are others that can attach to ssh or open their UI via a tunnel or web interface.

          SSH is mighty convenient though, so I am not necessarily saying your point is incorrect.

        3. nijave · · focus · HN ↗
          Also nice with tmux. I can split into a bunch of panes&#x2F;windows, toggle through with keyboard shortcuts, connect from other machines
        4. sznio · · focus · HN ↗
          the young yearn for X forwarding
      13. feffe · · focus · HN ↗
        I sit in tmux all day. TUI needed.
      14. unrented7977 · · focus · HN ↗
        I like TUIs because it&#x27;s impossible to fuck them up with unlabeled hieroglyphic buttons floating in a sea of padding.
      15. cryptonector · · focus · HN ↗
        &gt; borderline psychotic

        Wut?

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.