Live data from Hacker News

TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

tmuxai.dev

11–20 of 67 posts

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#11
I've got a similar approach from a Unix philosophy.

Look at the savebrace screenshot here

https://github.com/kristopolous/Streamdown?tab=readme-ov-fil...

There's a markdown renderer which can extract code samples, a code sample viewer, and a tool to do the tmux handling and this all uses things like fzf and simple tools like simonw's llm. It's all I/O so it's all swappable.

It sits adjacent and you can go back and forth, using the chat when you need to but not doing everything through it.

You can also make it go away and then when it comes back it's the same context so you're not starting over.

Since I offload the actual llm loop, you can use whatever you want. The hooks are at the interface and parsing level.

When rendering the markdown, streamdown saves the code blocks as null-delimited chunks in the configurable /tmp/sd/savebrace. This allows things like xargs, fzf, or a suite of unix tools to manipulate it in sophisticated chains.

Again, it's not a package, it's an open architecture.

I know I don't have a slick pitch site but it's intentionally dispersive like Unix is supposed to be.

It's ready to go, just ask me. Everyone I've shown in person has followed up with things like "This has changed my life".

I'm trying to make llm workflow components. The WIMP of the LLM era. Things that are flexible, primitive in a good way, and also very easy to use.

Bug reports, contributions, and even opinionated designers are highly encouraged!

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#12
post #8

Is it a locally running model?

It seems like a model is not included; you need to set an API endpoint in a configuration https://tmuxai.dev/getting-started#environment-variables

Then why would anyone let this thing into their terminal..?

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#13
The "non-intrusive" part is interesting. I've bit the bullet with AI assistance when coding - even when it feels like it gets in the way sometimes, overall I find it a net benefit. But I briefly tried AI in the shell with the warp terminal and found it just too clunky and distracting. I wasn't even interested in the AI features, just wanted to try a fancy new terminal. Not saying warp might not be useful for some people, just wasn't for me. So far I've found explicitly calling for assistance with a CLI command (I've used aichat for this, but there's several out there) to be more useful in those occasional instances where I can't remember some obscure flag combination.

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#14
post #8

Earlier quoted context omitted.

It seems like a model is not included; you need to set an API endpoint in a configuration https://tmuxai.dev/getting-started#environment-variables

Then why would anyone let this thing into their terminal..?

You can point it at any API you want, including local. The tool is agnostic, like nearly all such tools.

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#15

The "non-intrusive" part is interesting. I've bit the bullet with AI assistance when coding - even when it feels like it gets in the way sometimes, overall I find it a net benefit. But I briefly tried AI in the shell with the warp terminal and found it just too clunky and distracting. I wasn't even interested in the AI features, just wanted to try a fancy new terminal. Not saying warp might not be useful for some peo…

Uninstalled warp, as the whole thing felt clunky and slow, and never even turned on the AI. You can accomplish everything it does with zsh + plugins without much fuss.

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#17

I've got a similar approach from a Unix philosophy. Look at the savebrace screenshot here https://github.com/kristopolous/Streamdown?tab=readme-ov-fil... There's a markdown renderer which can extract code samples, a code sample viewer, and a tool to do the tmux handling and this all uses things like fzf and simple tools like simonw's llm. It's all I/O so it's all swappable. It sits adjacent and you can go back and fo…

Just wanted to say I love this, didn't known I needed this until now.

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#19
post #17

I've got a similar approach from a Unix philosophy. Look at the savebrace screenshot here https://github.com/kristopolous/Streamdown?tab=readme-ov-fil... There's a markdown renderer which can extract code samples, a code sample viewer, and a tool to do the tmux handling and this all uses things like fzf and simple tools like simonw's llm. It's all I/O so it's all swappable. It sits adjacent and you can go back and fo…

Just wanted to say I love this, didn't known I needed this until now.

There's this new thing I'm currently working on. I have a tool that does a clean execvp of what you pass it through, as a total wrapper.

You can do ./tool "bash" and then open up nvim, emacs, do whatever, while the tool sits there passing things back and forth cleanly. Full modern terminal support.

Now here's the thing. You get context. Lots of it. Here's what it can do:

    psql#  I need to join the users and accounts table 
Then it knows from the PPID chain you're in postrgresql, it knows the output of previous commands, it then sends that to an llm, which processes it and gives you this

    psql# I need to join the users and accounts table
    [ select * from users as u ... (Y/n) ] 
Then it shows it. Here's the nice thing. You're STILL IN THE MODE and now you have more context. You can get out of it at any time through another ctrl-x toggle.

This way it follows you throughout your session and you can selectively beckon the LLM at your leisure, typing in english where you need to.

SSH into a host and you're still in it. Stuck in a weird emacs mode? Just press the hotkey and the i/o gets redirected as you ask the LLM to get you out.

But more importantly this is generic. It's a tool that allows you to intercept terminal session context windows and inject middleware, generically and then tie it to hotkeys.

As a result it works with any shell, inside of tmux, outside, in the vscode terminal, wherever you want... and you can make as many tools for it as you want.

I think it's fundamentally a new unix primitive. And I'm someone that researches this stuff (https://siliconfolklore.com/scale/ is a conference talk I gave last year).

If you know of anything else that's like this please tell me I haven't been able to find it.

Btw you cannot do this through pipes, the input of the left process isn't available to the piped process on the right. You can intercept stdin but you don't get the input file descriptor of the left process. The shell starts two processes at the time and then passes things through so you can't even use PPID cleanly without heuristic guessing. Trust me. I tried doing things this way many times. That's why nothing else works like this, you need new tricks.

I intend to package this up and release it in the next few days.

Re: TmuxAI: AI-Powered, Non-Intrusive Terminal Assistant

#20

The "non-intrusive" part is interesting. I've bit the bullet with AI assistance when coding - even when it feels like it gets in the way sometimes, overall I find it a net benefit. But I briefly tried AI in the shell with the warp terminal and found it just too clunky and distracting. I wasn't even interested in the AI features, just wanted to try a fancy new terminal. Not saying warp might not be useful for some peo…

Uninstalled warp, as the whole thing felt clunky and slow, and never even turned on the AI. You can accomplish everything it does with zsh + plugins without much fuss.

I moved away from Warp as well… to Ghostty. I didn’t find I got much benefit from Warp.
Post reply on HN