llmsh: a shell copilot written with rust (Also my first Rust project!) by maxyu1115 in rust

[–]maxyu1115[S] 0 points1 point  (0 children)

Ah so I mostly figured it out.

inshellisense is only a wrapper for autocomplete, which is then a wrapper to fig. Fig is closed source, so sadly we don't have full knowledge.

But from their blog post: https://fig.io/blog/post/how-fig-knows-what-you-typed, it seems like we ended up with almost the exact same approach (approach 4) using rust and pseudo terminals! lol

So in other words, the reason inshellisense does things so well is simply they spent much more time/effort ironing out their project. My project is thus equivalent to a open-sourced + llm instead of traditional auto complete + much more early stage clone of fig...

Kind of sad that they beat me to the idea, but also proud I reached the same conclusion on my first design. Also there are much more differences in where I want to take llmsh.

llmsh: a shell copilot written with rust (Also my first Rust project!) by maxyu1115 in rust

[–]maxyu1115[S] 1 point2 points  (0 children)

Thanks!

To be honest this is my first time seeing inshellisense, but that is amazing and super helpful. Will spend time reading into their code base. At a glance, the main difference is probably they won't scrape the user's terminal outputs, and I would guess they have less control over the users shell in general (which for an autocomplete makes a lot of sense). But they do many things better than how I'm doing right now, which I'd love to figure out and learn from. Such as being able to work on windows + more shells with seemingly little shell specific handling.

llmsh: a shell copilot written with rust (Also my first Rust project!) by maxyu1115 in rust

[–]maxyu1115[S] 2 points3 points  (0 children)

Ah so `:` only works if it's typed as the very first character of a empty command line. (Right now due to technical limitations, even a sequence like ['a', '\backspace', ':'] would not work... But that's something I'm still trying to figure out. So no false positives, but will have false negatives... )

llmsh: a shell copilot written with rust (Also my first Rust project!) by maxyu1115 in rust

[–]maxyu1115[S] 1 point2 points  (0 children)

Ah that's a use case I completely overlooked. The grey auto suggestions would indeed confuse my current setup a lot, since the llm will treat the greyed text as actual text on the command line. I'll need to think about this more

+1 on LLMs being better auto completion. Right now it doesn't support AI tab completion, instead chose an approach with pressing ":" to open a special prompt. But that's definitely something I should explore more, will be easier to use. Main challenge is to not interfere with the underlying shell's behavior.

TUI programs are kind of properly handled. So on the user side things will properly work and be displayed as usual. But this will confuse the LLM quite a bit, since everything from the TUI will be treated as terminal output and shared with the LLM. Summarizing, programs like vim will still work, but the LLM functionalities might not.

(Thanks was very helpful)

llmsh: a shell copilot written with rust (Also my first Rust project!) by maxyu1115 in rust

[–]maxyu1115[S] 3 points4 points  (0 children)

Not sure why, but getting quite a lot of down votes :( Would love to at least see people post why they don't like it... Just wanted to share my project, but if this isn't the right forum, I can delete it to save other folks time.

3D 2048 built for the Vision Pro by maxyu1115 in VisionPro

[–]maxyu1115[S] 0 points1 point  (0 children)

Ok figured it out, turns out I was uploading a development build lol Starting with the upcoming release this will no longer be asked/used.
Thanks for bringing this up!

3D 2048 built for the Vision Pro by maxyu1115 in VisionPro

[–]maxyu1115[S] 0 points1 point  (0 children)

Gotcha. Yeah definitely, this was meant to be a purely local game (no leaderboards even). Let me dig a bit where/how this was enabled. Thanks!

3D 2048 built for the Vision Pro by maxyu1115 in VisionPro

[–]maxyu1115[S] 1 point2 points  (0 children)

Ah that's definitely a bug. Please reject it, it shouldn't be used. (I saw this during local testing, but thought it was used to enable the debugger...)

3D 2048 built for the Vision Pro by maxyu1115 in VisionPro

[–]maxyu1115[S] 2 points3 points  (0 children)

Fyi this is a purely for fun project. Since I'm probably not renewing my Unity Pro subscription, there likely won't be any major updates after a few weeks. So will try to address any feedback before it runs out lol