32 comments

  • nico 3 hours ago
    Very very cool! Impressed that it can be done with only fine tuning

    On a very similar theme, I recently built a “lossy git”, which stores your code by training a neural network, then it generates the code back to you on checkout

    * web demo: https://nicobrenner.github.io/lossy-git/demo.html

    * cli version: https://nicobrenner.github.io/lossy-git/

    The web demo runs entirely on the browser, both the version control and the neural network training/inference. You can commit and checkout both images or code - you can also paste/“upload” your own images, no server requests (everything clears from the page on reload)

    • InsideOutSanta 15 minutes ago
      That's hilarious. I bet if I committed my code into that repo, it would check out with fewer bugs.
    • simedw 3 hours ago
      That's very cool project. I read this blog post a few days ago about one way to look at memory encoding in models https://alexwang.ai/posts/associative-memory/ that you might find relevant
  • andai 4 hours ago
    >I used Qwen2.5-Coder-0.5B as the starting point. I needed a small model to get close to realtime performance. Being a coding model, it had also already seen plenty of CLI usage.

    Interesting. I wanted to ask, how that model compares with the fine-tuned version, but I just saw the author provided benchmarks. Interesting that fine-tuning improved the memory so significantly, wouldn't have expected that.

    Though, on second thought, I had an experience where I was able to, as a human, fine-tune my memory beyond what I previously thought was possible!

    Reminds me of one of my favorite jokes.

    Excuse me, can you tell me how to get to Carnegie Hall?

    —Practice, man... Practice...

    • treetalker 3 hours ago
      > … I had an experience where I was able to, as a human, fine-tune my memory beyond what I previously thought was possible!

      Please elaborate.

    • simedw 3 hours ago
      I haven’t run extensive tests yet, but larger models also get better at memory.
  • ponyous 1 hour ago
    One of the first very cool demos I've seen of ChatGPT was in a post where the author prompted AI "pretend to be a terminal". Then went on to execute commands like `cd .fbi`, `ls files`, `cat files/confidential.txt`. Very fun demo. Looking forward to exploring similar idea with this terminal
  • amelius 29 minutes ago
    The next step is training a model to pretend to be the internet.

    (You could run lynx in that terminal to train/test it without images)

  • OtherShrezzing 1 hour ago
    I think this project is a very good way to explore the question:

    >What's the difference between a model that predicts intelligent output, and intelligence itself?

    It doesn't directly attack the question, but gives a neatly constrained thought experiment which you can see running.

    • luipugs 1 hour ago
      Isn't that just the turing test? I suppose you have you answer now that models can easily pass it.
    • metchio 1 hour ago
      i agree absolutely with you. and this kind of reinforce my idea that, like this predicted terminal could not be considered a real terminal, predicted intelligence could not be considered real intelligence
      • thepasch 18 minutes ago
        Like with many things, it depends entirely on how you define "real terminal"; that is, what a "real terminal" must do before it satisfies your definition. If it's "takes input and deterministically executes its instructions, producing output along with side effects," a well-trained model with argmax sampling could well meet the bar. if given the appropriate external interfaces.
      • bubulux 1 hour ago
        Thats an very interesting way to think about this, never thought to invert it that way.

        I allways found it interesting to look at this issue in the way the imitation game was modeled. For me I concluded, that as long as we can replicate the intution we associate with intelligence, there is not much room left to debate about "real intelligence".

        The chinese room experiment I find in that sense a valuable extension, cuz the turing model more or less is a very conversational "voided of action" kind of test. The room model adds the act of translating without having the knowledge of translation.

        But your take invalidates my stances here clearly. There is a possible scenario, in which we can replicate the intuition for operating a real terminal but still keeping the act of the terminal itself a "voided" sort of action by itself, cuz well, its not a real terminal, reading real files and so on...

        Thank you for this, I will have to chew on that :)

  • amelius 25 minutes ago
    > I had a blast building this. Is it useful? Not really.

    Maybe instead of simulating a terminal you could use it to predict what you'd type next?

    So simulate _you_, not the terminal.

  • air7 42 minutes ago
    I remember doing something like this in the ancient era of GPT 3 or 4. I just told it that it was a terminal responding to commands and it was surprisingly consistent.
  • oilkillsbirds 5 hours ago
    Very cool. Fun project. I feel like there’s a wide field to be explored once you understand fine tuning good existing models
  • __mp 4 hours ago
    It would be interesting to expose this on the internet. I wonder what the scrapers etc… would do with it.
  • sandGorgon 58 minutes ago
    this is quite similar to amazon-science Cyber-Zero ?

    https://github.com/amazon-science/Cyber-Zero

    the paper is quite interesting - https://arxiv.org/html/2508.00910v2

  • obilgic 5 hours ago
    There was a whole fake gui OS with similar concept right
  • 4ggr0 1 hour ago
    wonder if the PHP on this hallucinated terminal is patched already.
  • ohadpr 2 hours ago
    Very cool to do this as a Terminal!

    I did it for web apps last year, basically a web server that feeds all requests into an LLM.

    https://www.ohad.com/blog/voidware/

  • Lerc 3 hours ago
    I wonder how much a small model could do if it had a tool calling API for a filesystem, an embedded busybox, and a single output token for 'emit what busybox would do here'. Then presumably the model parameters could learn everything that diverges from what busybox can handle.
    • alex7o 3 hours ago
      I think the toolcalling should be system prompts then the agent is the userspace
      • Lerc 2 hours ago
        That's a whole other kettle of trout. Maybe still worth a go mind.

        On thin that would be useful is an entirely new permission system for files to allow for users and agents acting for users.

      • alex815 4 minutes ago
        [flagged]
  • psandor 5 hours ago
    Reminds me of this project from Microsoft. A Quake II “simulation” model where the whole application was just a model.

    https://www.microsoft.com/en-us/research/articles/whamm-real...

  • yjftsjthsd-h 4 hours ago
    Wait, how did it `sleep 3`? I thought LLMs didn't have a concept of time
    • peder 4 hours ago
      It’s still rendering frames constantly, no? So it just figures the next X frames are all doing nothing?
      • simedw 3 hours ago
        Normal only keypresses invoke the next ”frame”. There is a sleep token that the runner could use to indicate that time is moving.
    • sprobertson 4 hours ago
      from the post:

      Time is an input too. If nothing is pressed, the model gets a WAIT token with a duration instead of a key, which is how snake keeps moving on its own.

      • yjftsjthsd-h 4 hours ago
        That seems as likely as anything, but that just moves the problem to counting, doesn't it? The model gets the duration, but I was under the impression LLMs struggled with the arithmetic that would make that useful.
        • skohan 4 hours ago
          Idk about Qwen 2.5 Coder that this is based on, but modern models don't struggle with arithmetic. I see Qwen 3.8 do long-hand math in thinking traces (ie. it outputs 17+35+12=64 in the thinking trace) so I would imagine this is something they train into the model specifically. Sometimes it creates and runs a simple python script to check its work.
          • zahlman 1 hour ago
            It's still strange to me that an ability to perform arithmetic (and not just memorize a giant table of results) could emerge from training on language.
            • skohan 1 hour ago
              In principle a large enough neural network can provably approximate any continuous function. Since arithmetic can be represented with a concrete grammar, it's not surprising to me that an LLM could contain an abstract representation if trained correctly.
  • thorum 4 hours ago
    I regretfully suspect this actually is the future of UI. You just need smart local models running fast enough to keep the framerate high, but that’s inevitable in the long term, isn’t it?
    • skohan 4 hours ago
      We had decades to work on making software more performant, but instead most users' space-age 2nm chips spend most of their time running Javascript because it was faster to make software that way.
      • winrid 3 hours ago
        even my ten year old laptop browses the web fine ^_^

        If I had to complain about any site/app it'd be datadog... each tab uses like 1gb in firefox.

        • skohan 2 hours ago
          I think it's hard to understand how much better your experience could be if all your software was 10x faster and using 0.1x the resources, since you can't test both experiences side by side

          It's like riding a bike with a tiny bit of resistance in the bearings. You will get used to it, and will probably feel like your bike is fine. But if you replace the hub and remove that friction, you will wonder how you ever tolerated riding a bike that way.

    • mrweasel 1 hour ago
      Even assuming that the hardware and models catch up, wouldn't there be an issue with the model not being completely deterministic? You don't really want any sort of randomness in your terminal commands.
      • claykkari 1 minute ago
        > You don't really want any sort of randomness in your terminal commands.

        Maybe I do, if by "randomness" you also mean the ability to handle unexpected usecases. Imagine running something like:

        $ ps "which processes are slowing my PC down??"

    • gr_norm 4 hours ago
      Why would you do that instead of having the model do the task you're using the UI for? It could generate UI widgets on-the-fly as needed to take richer inputs.
      • skohan 3 hours ago
        It might be fine for one-off applications, but it's incredibly inefficient for something that has to be done over and over.

        Why would you use a GPU and gigabytes of VRAM running a non-deterministic process for something a program can do on the CPU in milliseconds with kilobytes of memory?

        • hnlmorg 3 hours ago
          Probably for the same reasons most of our desktop applications have become slow Chromium instances consuming multiple GBs of RAM, each:

          It’s cheaper to hire developers, and quicker to ship software. The user experience be damned.

          • skohan 3 hours ago
            The logic here is a bit different. Consumer software is slow because it's the user paying for the compute to run those bloated Electron apps. Unless we're all running local inference in the future, it would be the vendor paying for the compute to run the AI-based UI.

            Of course they would pass that along to the consumer, but nobody is going to pay token-based pricing for something that used to be free and ad-supported, or a cheap monthly subscription.

            • hnlmorg 2 hours ago
              This demo is already using a local model. Which is why I made the Electron comparison.
        • antonvs 3 hours ago
          I don't really disagree, but... why do we use Javascript for so many UIs? Badly designed web pages with ads can easily use gigabytes of RAM.

          Edit: oh, I saw you wrote a related comment after I posted this. So you already know that direct LLMs for UIs are all but inevitable...

    • latentsea 3 hours ago
      What if we're really just living in a world model? How big of a GPU is required to run the universe I wonder?
    • rvz 2 hours ago
      This makes absolutely no sense what so ever.

      There's a good reason why the UI for Excel, Photoshop and Word has hardly changed and remains consistent for years and that has worked for billions of people.

      Many HN readers have forgotten the Windows 8 UI disaster already.

  • sudo_cowsay 1 hour ago
    Verry Verrry Cool and neat!
  • teiferer 40 minutes ago
    Haha nice!

    I'm a noob in this, could you enlighten me: what role does the base model play which you started with?

  • prodigycorp 4 hours ago
    Wow! This this reminds me of when we tried doing this with gpt 3 and.. it worked!

    The tmux thing had me confused for a moment until i realized it was emulating tmux. Super fun. Is the model window width aware?

    • serje1480 3 hours ago
      • billypilgrim 44 minutes ago
        Thank you for linking that. I distinctly remember this moment as an important point in time, played around with emulating a terminal for hours, couldn’t believe how realistic it was, it even remembered when I changed a file earlier etc. Another point was when people on twitter with early access were like “oh my god it can write code too! I asked it to design a website and it just works!”, programming wasn’t even what LLMs were about, and now it’s one of the main use cases. Another revelation was when it could kinda play chess. A single model that can one shot a huge array of different problems, still mind blown how well all of this works to this day.
  • donperignon 3 hours ago
    I tried it and is not working remotely as close as the demo gif. It keeps telling me that "test1" folder that I want to create already exists (not true), then letting me do "mkdier test2" (sic) but then the folder is not there when ls. I mean all its expected, this has no state, follow no rules and is making up things from the current context, but is not as "magical" as I thought when watching the demo.
  • gobdovan 1 hour ago
  • joka88xj 59 minutes ago
    [dead]
  • wkilbride 3 hours ago
    [flagged]
  • luckystarr 3 hours ago
    [dead]
  • simedw 4 hours ago
    [flagged]
  • happybox2016 1 hour ago
    [flagged]
  • htoz1 5 hours ago
    Where is the point of this project if i have terminal ?
    • YmFzZTY0ZGFkZHk 4 hours ago
      Sometimes it's just fun to do something absurd because you can. This is one of the reasons software is exciting.
    • mehmetoguzderin 4 hours ago
      Terminal world models have many applications, but empirical observation of successful pretraining or fine-tuning can be significant for encapsulating from rather expensive Bash traces, such as ones obtained from systems with scarce accelerators, etc.
    • good-idea 4 hours ago
      because curiosity is the most fun of virtues!
    • aghuang 4 hours ago
      Was thinking the same thing. I just run my usual terminal and get to work.
    • dotancohen 5 hours ago
      Because it was there
    • antonvs 3 hours ago
      This will allow you to delete your terminal app and, eventually, all other binaries in your system!
    • wartywhoa23 3 hours ago
      [flagged]
  • gitowiec 3 hours ago
    BUG: Running in Firefox makes every keypress a slow motion show. It decodes every keypress instead of sending a command with Enter key
    • odo1242 2 hours ago
      No, the model is simulating the entire TUI, not just terminal commands. It also actually is that slow (because it's generating a diff for the entire screen each time you make a keypress).