For inspiration (and, ofc, PR since I'm salty that this gets attention while my pet project doesn't), you can checkout clai[0] which works very similarly but has a year or so's worth of development behind it.
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
The net is vast and more often than not we miss the good things out there.
A little anecdote: a few years ago I published an open source library that for many years would go completely underappreciated. For a few years I did not even check it - and then one day I realized it had over 500 stars on GH (+700 today). Good things take time.
Appreciate the ideas!
Very similar experience with several libraries. Wrote up a particularly pleasant one a few years ago: https://tech.davis-hansson.com/p/clickbait/
Just about everyone has already written one of these. Mine are called "ask" and "please". My "ask" has a memory though, since I often needed to ask followup questions:
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
Since we're sharing, I have a "claude" command that lets me get quick answers but also saves the conversation and outputs an identifier so in the rare case I want a follow-up, I can ask a question with the ID to continue the conversation.
https://gist.github.com/rbitr/bfbc43b806ac62a5230555582d63d4...
I can type qq faster than you can type ask. Even more so with qa vs please ;)
I'm using https://github.com/kagisearch/ask
It's a simple shell script of 204 lines.
I built a similar tool called “lmsh” (LM shell) that uses Claude-code non-interactive mode (hence no API keys needed, since it uses your CC subscription): it presents the shell command on a REPL like line that you can edit first and hit enter to run it. Used Rust to make it a bit snappier:
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? ;)
This a pretty neat approach, indeed. Having to use the API might be an inconvenience for some people indeed. I guess having the Claude or ChatGPT subscription and using it with the CLI tools is what makes developers stick with these tools, instead of using what is out there.
Right, when we’re already paying $100 or $200 per month, leveraging that “almost-all-you-can eat buffet” is always going to be more attractive than spending more on per token API billing.
Feel like this might have already been done and beyond by aichat (which I give the alias `ai` on my machines)
https://github.com/sigoden/aichat
Nevertheless it’s good to see more tools with the Unix philosophy!
This is nice. Reminds me how in warp terminal you can (could?) just type `# question` and it would call some LLM under the hood. Good UX.
Thank you - appreciate it. I really tried to create something simple, that solve one problem really well.
This looks really cool and I love the idea but I will stick with opencode run ”query” and for specific agents which have specific models, I can just configure that also in an agent.md then add opencode run ”query” -agent quick
I think it is more about what it doesn’t do. It is not a coding agent. It is a lightweight assistant, Unix style “Do One Thing and Do It Well”.
very cool, can be useful for simple commands, but i find github cli's copilot extension useful for this, i just do `ghcs <question>` and it gives me an command, i can ask it how it works, or make it better, copy it, or run it
I like using ghcs for this as well! Or at least, I liked to - it's deprecated now, in favor of the new CLI which doesn't provide the same functionality.
https://github.com/github/gh-copilot/commit/c69ed6bf954986a0...
Looks interesting! Does it support multiple tool calls in a chain, or only terminating with a single tool use?
Why is there a flag to not upload my terminal history and why is that the default?
Thanks!
It does not support chaining multiple tool calls - if it did, it would not be a lightweight assistant anymore, I guess.
The history is there to allow referencing previous commands - but now that I think about it, it should clearly not be on by default.
Going to roll out a new version soon. Thanks for the feedback!
Given that it doesn't support multiple tool calls, one thing I noticed that is not ideal is that it seems to buffer stdout and stderr. This means that I don't see any output if the command takes 10 minutes, and I also can't see stdout mixed with stderr. It would be ideal to actually "exec" the target process instead, honestly. https://doc.rust-lang.org/std/os/unix/process/trait.CommandE...
This one is a bit tricky. The tool needs the output to process stuff after the AI returns results. And since the focus is on rather short interactions, this is an OK-ish tradeoff I believe. But I will give it a couple more thoughts, not saying no to it, but need to go through the possible ramifications.
One mistake in your README - groq throughput is actually 1000 tokens per "second" (not "minute"), for gpt-oss-20b.
Nice catch - fixed!
Hey Mateusz,
I was looking for exactly something like this, and will give it a spin right now.
But please understand that you have a huge "Trust & Safety" issue.
I've downloaded the 0.8.2 release and extracted it. When I want to run this on my macOS system, a nasty warning pops up:
“qa” Not Opened Apple could not verify “qa” is free of malware that may harm your Mac or compromise your privacy.
Well, fair enough; this is an early-stage project, of course the author did not (yet) jump through the Apple signing process hoops.
Let's do some basic sanity checks: the repo itself is very new, but the matisojka Github profile is established and seem alive and active in a realistic way. Author also builds Podigee, seems legit.
Alright, then let's... wait — why is the HN username iagooar; that doesn't sound even remotely like "matisojka" or "Mateusz" or "Sójka". And the HN profile references edenlm.com, not Podigee.
Okay, a cross-check with https://www.linkedin.com/in/matisojka puts the pieces together, and I'm juuuuust enough convinced that I can give this a try and add the macOS security exception...
...but you see my point, do you?
It is highly disturbing that you would go through my private profiles and nicknames to prove what? Ever heard of nicknames on the Internet? Ever heard a person can have multiple projects over the many years?
I published an open source library, it is not even v1.0 yet.
I kindly ask you to delete this comment.
The act of looking is normal. Running your code on their computer requires a lot of trust, after all.
But there’s nothing suspicious about having multiple nicknames. I don’t really get what they are talking about there.
Looking is. Sharing, I'm not so sure? At least for me, it crosses a boundary.
Especially since it's looking and sharing for something as irrelevant as "HN name doesn't check out!"
I think it’s reasonable: just look at how many scams there have been over the last few years since cryptocurrency made it so easy to convert running code into money. The open source world is not what it was a couple decades ago and it’s reasonable to have the discussion about how to trust someone in a way which might have seemed obsessive twenty years ago, similar to how we used to think realistic faked images were hard to make and thus uncommon but now have to think about provenance for everything.
The point is that there was exactly nothing of suspicion.
This was to correct the doubt that the HN poster was not the same person as the GitHub user.
Conceding to you that a search can be useful, GP could've stopped at "The github is old and the person has other reputable projects". There was no reason to expand to the LinkedIn.
If there is something of suspicion or not lies in the eye of the beholder.
Only LinkedIn showed the link between the HN profile and the Github profile, because it lists both the project mentioned on the HN profile as well as the project listed in the Github profile.
If it were a legitimately suspicious issue, I’d think sharing was the right thing to do.
I disagree with the idea that having multiple nicknames is suspicious, though. But, if that is something the poster believes, I guess I can see why they’d share it.
I am absolutely, perfectly, 100% fine with how OP structures, manages, names, and presents his online profiles.
After the latest fun incidents with NPM and others, I just wanted to make a point how the way the project is currently "marketed" and distributed — and again, PERFECTLY fine for a first draft and "look what I built" — might stand in the way of it getting further traction.
And I did so in a very stream-of-consciousness way, trying to illustrate what I mean by "Trust & Safety issue".
Private if they are on the Internet? They are not private at all. Your answer to the OP comment is frankly... wrong.
I guess you are partially right. Still, this feels much unsolicited.
Frankly, I second that sentiment.
I'm not sure how extensive your search was to find OP's LinkedIn, but it's clearly not in his HN profile, and that's enough to be unwarranted imho.
I say this with the utmost respect, but: are you guys serious?
It was YOU, iagooar, who posted a "Show HN" here with a link to the following URL: https://github.com/matisojka/qqqa
This is a public web site hosted on Github, and it belongs to the Github user matisojka, whose public Github profile is at https://github.com/matisojka, containing, in public, the full name "Mateusz Sójka" — put there by no other than yourself!
You came here to promote your tool, asking for feedback ("Curious if the HN crowd finds it useful"), so YOU expect me to download and run YOUR software on MY system, and therefore trusting your software to not wreck havoc on my personal computer system.
And then flip out if I dare to do a quick, superficial cross-check on whose software I'm installing? Using only public information that you yourself put onto the Internet on public pages yourself?
Are you seriously suggesting that I broke into private web sites or computer systems in order to illegally retrieve information that was not meant for public eyes? Like, seriously?
"go through my private profiles" -> can you point at a SINGLE private profile that I went through? Just ONE?
You asked for feedback. Your literally wrote "AMA" — "Ask me anything".
And all I did was just that: asking you to understand that if you want this project to gain traction, that the nature of the way it is currently distributed, and the way that the Apple ecosystem treats it, might be a roadblock for this.
A roadblock for a project that I love and want to see succeed.
you could have avoided all that (including all the awkwardness) just by inspecting the open-source source code, my man. no need to google the author to see if he passes your personal "sniff tests". Have you done that for the authors of your OS, your browser, and your routers too?o I mean, Apple isn't even open-source; they could be sending all manner of things to their servers that you wouldn't be happy about, and you wouldn't know
> inspecting the open-source source code
But how does one open the open-source source code?
Definitely don't look at any Github profile names while doing so please!
So if the random guy who posted it on HN wasn't the OP, it would've been a thousand times more untrustworthy, obviously?
I don't see your point, and I squinted very hard.
And since when does publishing open source software require you to present any credentials at all? I am not hiding anything, I just published using my regular accounts - some of which I have been using for more than a decade.
Where exactly did I say that "publishing open source software require[s] you to present any credentials"?
That is not the point of my original comment.
The point of my original comment was that downloading and using software from the Internet is a process that requires trust, at least if you want your project to gain traction, and that this specific project might have — at least to some people — road blocks in this regard.
Mate, it's a free project on github they shared with us. Let's keep things in perspective.
The perspective is that it is a free project shared on Github which prompts a OS-level warning message on macOS, which might certainly intimidate some people.
I really want to see this project succeed, and thus gave feedback on this — what else is a "Show HN" good for, then?
A lack of such a prompt would mean nothing from security point of view. It's not like you run a program you used regularly and now all of a sudden such a warning appears (as if someone replaced the program's binary with another one). You did download this program manually from the internet, the warning is basically just about that.
Yes, but the target group of this project is not "me". It's potentially many people, and I assume (maybe incorrectly) that the author wants their project to succeed and gain traction.
And of course, if you find any bugs or feature requests, report them via issues on Github.
Good one, but I do not see release for MacOS :(
Darwin is the MacOS release - should make that clear - will update readme. Thanks.
I don't see any binaries on github?
That was my point, nothing in releases on GH
The readme clearly links to releases. I am not using GH releases, but that does not mean they are not there.
Pushing releases right into the repository? That's kinda nuts.
why use this and not claude code?
"Do One Thing and Do It Well" - https://en.wikipedia.org/wiki/Unix_philosophy
Also, groq + gpt-oss is so much faster than Claude.
There is also the llm tool written by simonwillison: https://github.com/simonw/llm
I personally use "claude -p" for this
Compared to the llm tool, qqqa is as lightweight as it gets. In the Ruby world it would be Sinatra, not Rails.
I have no interest in adding too many complex features. It is supposed to be fast and get out of your way.
Different philosophies.