Live data from Hacker News

Show HN: Ell – A command-line interface for LLMs written in Bash

github.com

21–30 of 88 posts

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#21

Earlier quoted context omitted.

Oh sorry that's my bad. The target clone path did not match the default value of template path. Please make sure you either clone the repo to `~/.ellrc.d` or set ELL_TEMPLATE_PATH to where you store your templates (with `/` at the end) .

Thank you, i always assume there's some magic part that goes on behind the scenes which i don't understand, especially in things i'm not familiar with... In fact it was just a path mismatch as the error suggested.

You are welcome. Please feel free to fire any issues you may encounter.

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#22
post #8

Hi, they're also trying to do something similar with shell. I'm not sure who's better. [demo]( https://x-cmd.com/mod/gemini ) [source code]( https://github.com/x-cmd/x-cmd/blob/main/mod/gemini/lib/main )

It looks beautiful and has many features, why are there so few star?

I also wonder. It didn't appear in my search because, I guess, it has too many features and the feature I want to search has a relatively low weight. I also searched x-cmd on HN but there aren't many positive comments... I would expect it's more popular on HN because it's written in POSIX shell and awk.

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#23
post #16

Very cool! I wrote a similar tool (in Node.js, though), but was trying to make it extensible with plugins. https://github.com/hiquest/nicechat

(Reading your comment and code reminds me that I might have confused user with the terms of the plugin I proposed and the plugin in popular LLM backends. I will make it clear in ell documents)

What kind of plugins are you going to integrate? I implemented the hook system but actually don't have many ideas to add. Currently I only added paginator and syntax highlight plugins and both of them are applied after getting response from LLM backends.

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#25
This 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 reminds me a lot of Simon Willinson’s `llm` tool[2]. Are you familiar with it?

The recording feature also reminds me of savvy[3].

1 - https://github.com/plandex-ai/plandex

2 - https://github.com/simonw/llm

3 - https://github.com/getsavvyinc/savvy-cli

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#26
I 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 like Ollama)

I also put some additional info in the context window to make it smarter: a password-sanitized recent history, which environmental variables are set, and data from `--help` of relevant commands.

I've just started to promote it around the Boston area and people seem to enjoy it.

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#27

I 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 storing them in an encrypted filesystem (whether FUSE-based or not)

[1]: https://github.com/llimllib/gpt-bash-cli/blob/841682affe2d0e...

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#28
post #26

I 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?

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#29
post #26

I 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!

Re: Show HN: Ell – A command-line interface for LLMs written in Bash

#30
Looks 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...

Post reply on HN