Show HN: qqqa – A fast, stateless LLM-powered assistant for your shell (github.com)
I built qqqa as an open-source project, because I was tired of bouncing between shell, ChatGPT / the browser for rather simple commands. It comes with two binaries: qq and qa.
qq means "quick question" - it is read-only, perfect for the commands I always forget.
qa means "quick agent" - it is qq's sibling that can run things, but only after showing its plan and getting an approval by the user.
It is built entirely around the Unix philosophy of focused tools, stateless by default - pretty much the opposite of what most coding agent are focusing on.
Personally I've had the best experience using Groq + gpt-oss-20b, as it feels almost instant (up to 1k tokens/s according to Groq) - but any OpenAI-compatible API will do.
Curious if the HN crowd finds it useful - and of course, AMA.
32 comments
[ 3.0 ms ] story [ 59.4 ms ] threadI personally use "claude -p" for this
Why is there a flag to not upload my terminal history and why is that the default?
So feature suggestions:
* Pipe data into qq ("cat /tmp/stacktrace | qq What is wrong with this: "),
* Profiles (qq -profile legal-analysis Please checkout document X and give feedback)
* Conversations (this is simply appending a new message to a previous query)
[0]: https://github.com/baalimago/clai/blob/main/EXAMPLES.md
https://github.com/pchalasani/claude-code-tools?tab=readme-o...
It’s pretty basic, and could be improved a lot. E.g make it use Haiku or codex-CLI with low thinking etc. Another thing is have it bypass reading CLAUDE.md or AGENTS.md. (PRs anyone? ;)
Oh genius, that's the best UX idea for the situation of asking an LLM to flesh out the CLI command without relying entirely on blind faith.
Even better if we can have that kind of behavior in the shell itself. For example if we started typing "cat list | grep foo | " and then suddenly realized we want help with the awk command so that it drops the first column.
It's a simple shell script of 204 lines.
https://github.com/pmarreck/dotfiles/blob/master/bin/ask
I have a local version of ask that works with ollama: https://github.com/pmarreck/dotfiles/blob/master/bin/ask_loc...
And here is "please" as in "please rename blahblahblah in this directory to blahblah": https://github.com/pmarreck/dotfiles/blob/master/bin/please
https://github.com/sigoden/aichat
Nevertheless it’s good to see more tools with the Unix philosophy!
https://github.com/CGamesPlay/llm-cmd-comp
I believe the best “worker” agents of the future are going to be great at following instructions, have a fantastic intuition but not so much knowledge. They’ll be very fast but will need to retain their learnings so they can build on it, rather than relearning everything in every request - which is slow and a complete waste a resources. Much like what Claude is trying to achieve with skills.
I’m not suggesting that every tool reinvent this paradigm in its own unique way. Perhaps we a single system that can do all the necessary state keeping so each tool can focus on doing its job really well.
Unfortunately, this is more art than science - for example, asking each model to carry out handoff in the expected way will be a challenge. Especially on current gen small models. But many people are using frontier models, that are slowly converging in their intuition and ability to comprehend instructions. So it might still be worth the effort.
That said, I rather use claude in headless mode https://code.claude.com/docs/en/headless
OpenAI-compatible endpoint: https://ch.at/v1/chat/completions (supports streamed responses)
Also accessible via HTTP/SSH/DNS for quick tests: curl ch.at/?q=… , ssh ch.at Privacy note: we don’t log anything, but upstream LLM providers might...
How do you guys pay for this? I guess the potential for abuse is huge.
https://github.com/sigoden/aichat