It's interesting you say there's no need for a more complex language than bash something like this. Doesn't the need for jq/curl/perl argue the opposite?
Show HN: Ell – A command-line interface for LLMs written in Bash
31–40 of 88 posts
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#32Looks great! I work on a number of different machines, so having something lightweight(like written in shell) is always desired. Out of curiosity, can someone explain to me why certain commands start with a colon? Like : "${ELL_LOG_LEVEL:=2}";[1] I thought it was useful only as a no-op? [1]: https://github.com/simonmysun/ell/blob/main/ell.sh#L19C1-L19...
The colon is here to make sure the result is not executed. I learned that from here: https://stackoverflow.com/a/28085062/2485717
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#33Looks great! I work on a number of different machines, so having something lightweight(like written in shell) is always desired. Out of curiosity, can someone explain to me why certain commands start with a colon? Like : "${ELL_LOG_LEVEL:=2}";[1] I thought it was useful only as a no-op? [1]: https://github.com/simonmysun/ell/blob/main/ell.sh#L19C1-L19...
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#34I also have a similar tool called https://autocomplete.sh https://github.com/closedloop-technologies/autocomplete-sh I really just wanted the feeling of tab-based auto-complete to just work in the terminal. It turns out that getting the LLM responses to 'play nice' with the expected format for bash_completion was a bit of a challenge, but once that worked, I could wrap all the LLMS (OpenAI, grok, Claude, local ones l…
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#35This is cool! Using pure bash and unix tools is an interesting approach. I built Plandex[1] which has some similar goals (no dependencies, terminal-based, supports piping into context) but it takes quite a different route to get there—I’m using Go and compiling static binaries. It’s also ‘higher level’ and specifically focused on coding, whereas ell seems like a very lightweight and general purpose LLM tool. It remin…
Unfortunately, I did not know Simon Willinson’s `llm` tool. I would imagine he must have written such softwares. It has support for more in-depth manipulating of LLMs. ell lacks these functionalities and only make use of the most commonly-used and also most basic interfaces but has more user experience improvements like pagination or syntax highlighting while keeping as lightweight as possible. I should mention `simonw/llm` in README and channel the user with demand of more LLM manipulations there.
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#36I also have a similar tool called https://autocomplete.sh https://github.com/closedloop-technologies/autocomplete-sh I really just wanted the feeling of tab-based auto-complete to just work in the terminal. It turns out that getting the LLM responses to 'play nice' with the expected format for bash_completion was a bit of a challenge, but once that worked, I could wrap all the LLMS (OpenAI, grok, Claude, local ones l…
Wow that's very useful! I have also thought of completion but my idea was more like copilot. The user experience of your script should be better. I'm glad I didn't start to write that. Regarding history in context, I suggest adding a record mode like ell. This really helps. Password sanitizer is great. I will also add it as a plugin. Thank you for the idea!
If you're open to joining, I have a small AI engineer/ open source dev Slack community in Boston. Id love to have you (https://smaht.ai)
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#37I also have a similar tool called https://autocomplete.sh https://github.com/closedloop-technologies/autocomplete-sh I really just wanted the feeling of tab-based auto-complete to just work in the terminal. It turns out that getting the LLM responses to 'play nice' with the expected format for bash_completion was a bit of a challenge, but once that worked, I could wrap all the LLMS (OpenAI, grok, Claude, local ones l…
The demo video is epic. Nicely done! https://youtu.be/IAgkjerCvz8
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#38I also have a similar tool called https://autocomplete.sh https://github.com/closedloop-technologies/autocomplete-sh I really just wanted the feeling of tab-based auto-complete to just work in the terminal. It turns out that getting the LLM responses to 'play nice' with the expected format for bash_completion was a bit of a challenge, but once that worked, I could wrap all the LLMS (OpenAI, grok, Claude, local ones l…
Looks interesting! Does it work with the Fish shell? And, in case, how do I update or uninstall it?
Now that I have some Mac iOS dev work to do I'll probably build and test it
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#39Will check it out. Personally been using aichat[0] for this. It's interesting you say there's no need for a more complex language than bash something like this. Doesn't the need for jq/curl/perl argue the opposite? [0] https://github.com/sigoden/aichat
I think implementing the syntax highlighter is the bottom line of my insist. I would prefer not to write anything more complex than that with Bash. They will be either not supported, or supported via external plugins.
Re: Show HN: Ell – A command-line interface for LLMs written in Bash
#40I wrote a similar tool I'm no longer maintaining: https://github.com/llimllib/gpt-bash-cli/ . Here are my suggestions: - save the conversations in a sqlite db. ~everyone has sqlite available and it allows the user to do things with the data more easily than a text file - use XDG directories instead of suggesting ~/.ellrcd ( https://wiki.archlinux.org/title/XDG_Base_Directory ) - I prefer using system secret stores to…
>I prefer using system secret stores to environment variables What is the recommended way to store secrets in a Linux dev machine? The requirement is random scripts and programs should be able to load their secrets like API keys at runtime with minimum hassle. And the secrets shouldn't be stored on disk in plain-text. I see you recommended keyring [1]. Is this "the GNU/linux way"? I see another possibility being stor…
It seems like a classic story of unfortunate Linux fragmentation