OpenAI CLI
Posted by armcat 5 hours ago
Comments
Comment by kristopolous 3 hours ago
It was born out of the lack of LLM-native unix-friendly tools that work like cURL, awk and sed.
I couldn't find any so I wrote one myself.
I knew I wanted a reference that is stateless, explicit, low-level, and composable without modal settings.
For instance, instead of config files, llcat can index into files with built-in jq-syntax and line numbers. Then it can the save invocations for later:
llcat --save invocation.json \
-k "@~/credentials.txt:12" \
-u "@settings.json:.[3].host" \
-s "@system_prompts:8" \
-m "@settings.json:.[3].model" \
"@query.txt:12" > output.txt
and then llcat --load invocation.json { ... parameters you want to override ... }
It's easy to send to colleagues over chat or keep them invocations in a shared network folder.Conversations are also just JSON files. You can have a different input and output one. This means you can do stuff like
for i in *; do
# use a non-mutable conversation
# apply it over a group of files with standard unix pipes
cat "$i" | llcat --load settings.json -cr context.json > ../results/"${i}.output"
# or use attachments
llcat --load settings.json -a "$i" -cr context.json > ../results/"${i}.output"
# or save the whole context
llcat --load settings.json -a "$i" -cr context.json -c ../results/"${i}.output" > /dev/null
done
One of my favorite patterns is this one: llcat -k @~/secrets.json:.anthropic -u api.anthropic.com
llcat -k @~/secrets.json:.openrouter -u openrouter.ai/api
Since there's no hidden state you can use llcat in shell scripts and get operational guarantees.I've put a lot of effort into it and use it daily. If you can give it a go and give me feedback and file bugs, I'd love it.
Comment by isodev 3 hours ago
Comment by raddan 34 minutes ago
Comment by cyanydeez 9 minutes ago
Comment by haaz 2 hours ago
Comment by robertlagrant 1 hour ago
Well, from the page:
> openai images generate --prompt "A tiny orange robot" saves images to ~/Downloads/gpt-images/ and prints their paths, including in pipes.
That doesn't look like "managing the API". It looks like "a consumer product".
I think the real answer is Conway's Law.
Comment by oblio 3 hours ago
Comment by mi_lk 5 hours ago
Comment by imdsm 5 hours ago
OpenAI CLI = wrapper around API
Comment by theanonymousone 4 hours ago
aka curl? :-/
Comment by mohsen1 3 hours ago
Comment by BikiniPrince 4 hours ago
Comment by NothingAboutAny 4 hours ago
Comment by ckx 1 hour ago
Comment by qeternity 16 minutes ago
Comment by bluegatty 3 hours ago
It's like if someone handed you an arcane set of page 20-40 of an IKEA assembly manual and expected you to be excited.
About what? Exactly?
Comment by Traster 2 hours ago
Comment by bluegatty 2 hours ago
It's lazy at a guttural level.
This is 'totally absent product management, even the utterly basic things a regular developer would think to do without professionals to support them'.
This would not even pass muster as Open Source for friends, or internal use.
Comment by whh 2 hours ago
Comment by bluegatty 1 hour ago
It takes about 10 minutes of focus and attention from someone who understands the product to make a quick coherent introduction and overview, which is essential and very valuable.
There is no time/value trade-off equation where it doesn't make sense to provide that.
* This is from a company trying to convince us that their AI can automate many jobs *
It's almost disturbing is that people could see this otherwise.
"Our AI will dramatically improve your productivity but we can't even leverage it to do the most rudimentary and basic things" is a message that implies a lack of credibility.
Comment by hk__2 9 minutes ago
Comment by logicallee 2 hours ago
Edit: look at this crap for example:
https://github.com/openai/openai-cli/blob/main/scripts/run
(just the first file I looked at.) it's obviously half of a backdoor. Some other process somewhere happens to give the other half.
Comment by arbll 2 hours ago
Comment by hahahacorn 5 hours ago
Honestly surprised this wasn't available sooner.
Comment by Traster 2 hours ago
Comment by bluegatty 2 hours ago
Comment by SOLAR_FIELDS 1 hour ago
Comment by guyuedumingx 2 hours ago
Comment by albert_e 3 hours ago
Does Anthropic have something similar.
I understand "claude -p" has been unreliable to use with subscription quota and often required "extra usage" credits.
Comment by walthamstow 2 hours ago
Comment by bobm_kite9 2 hours ago
Welcome to a new kind of lock-in I guess
Comment by throw20261022 4 hours ago
Everything they make these days looks to be strongly vibecoded without a decent review or functional testing. This leads to basic avoidable bugs that annoy vast numbers of users.
Not only this, but when you point out an issue to them on GitHub, they have a history of blocking the reporting user instead of tackling the technical issue.
Comment by eddythompson80 4 hours ago
Comment by kikdij 3 hours ago
That being said, it's true than we can assume most of new software are generated. No need for hyperbole on that. An interesting fact is that it makes grandfather's concern moot: people who are generating their code don't care much if a dependency goes unmaintained, they can have it replaced by an other one in matter of minutes.
There's an other objection to openai-cli we could raise, though: why use a generalist developer tool, containing probably hundred of features we don't need, when we could make a bespoke specialized version, perfectly fit to us, in like 25 minutes? I can get that there are audiences where this would not even come to mind to the users, but we're talking about a developer tool, here. The value of that is questionable. And ironically, those who might from benefit it the most are those who don't want to generate their code.
Comment by bryanrasmussen 3 hours ago
I think it makes sense as a reasonable heuristic going forward, assume the MVP was vibe coded or nearly vibe coded (a weeks worth of human / agent work together, then initial release)
Comment by kikdij 3 hours ago
Comment by eddythompson80 3 hours ago
Comment by Chyzwar 3 hours ago
I am still salty about anthropic killing Claude design in December.
Comment by yuchi 3 hours ago
Comment by roncesvalles 2 hours ago
The latter still gives you many-X productivity improvement while the quality is pretty close to handwritten code.
LLMs are still not good enough where you can unleash it upon a huge codebase and get good results btw. Quality goes to shit once a context uses up around 50k-100k tokens. That's often only enough for one feature change and whatever validation the LLM wants to do for it.
It's fair to say that most new software is written with AI help, but that doesn't mean someone just prompted a few things and pressed deploy.
Comment by tmp10423288442 1 hour ago
Let’s just say that both OpenAI and Anthropic strongly disagree with this, in theory and in practice.
Comment by anonymous908213 4 hours ago
The people who need something more than an MVP, I would suppose. Bot sure does spit out a prototype faster than any human can, but actually building on that dogshit prototype becomes slower than someone with a clue writing by hand.
Comment by pianopatrick 3 hours ago
Comment by eddythompson80 3 hours ago
As for users, I think it depends on the individual users. A lot of the time users abstract your software as a blackbox. It either works or it doesn't, and as long as you can fix it quickly and they get every bizarre feature ask answered quickly, that's all what some care about.
Personally, I have an all times low trust in the software I run. I used to cruise Show HN, /r/selfhosted, and GitHub Trending for cool new software to play with, learn from, or get inspired by. I don't anymore because I see what agents generate at work all day long.
There used to be this old joke among us programmers that we think it's insane that people trust their life to software when we all know how buggy it all can be. It was true, but also we knew that we can eventually get decent enough software. This is also out of the window now. Everything on all those places is a vibecoded thing generated in a couple of hours and no one knows what code is in there. It'll only get worse.
Comment by pianopatrick 2 hours ago
I.e. I think I could trust vibe coded software more if it had been version frozen to bug fixes only and used by a lot of people for a few months or so.
Comment by aenis 3 hours ago
Comment by ky-hy 3 hours ago
Comment by rkuodys 3 hours ago
Comment by orphereus 4 hours ago
Comment by eddythompson80 3 hours ago
Like I think (or know) code reviews are also over. Someone asks me for a 10-11am brainstorming meeting regarding a concept they are working on, at 11:15 they have a "design doc" ready, at 1pm they ping me if I had a chance to review it yet, at 3pm I approve it, at 3:30pm they send a 7k line PR... "dude, that's not ok. I'm not reviewing 7k line change" so they say "oh yes absolutely sorry about that. that makes a lot of sense. Do you want 7 1k-line PRs? or 14 500-line PRs?" "hey Claude, split this into 10 commits and open 10 stacked PRs" :|
Comment by solyin 3 hours ago
Whatever the size of code review chosen, merging totally unreviewed code to prod is still totally insane. There are a few AI code review products out there. The one I've used is fairly decent at picking out issues, though there's definitely some shortcomings vs a human reviewer with additional context (especially since not everything is written down for the bot to access). So I wouldn't say they are over. Even though the AI review isn't perfect, we all know human reviews aren't either.
As AI improves it'll be able to hold more of the codebase as context, enabling better, quicker reviews.
Comment by raddan 18 minutes ago
Even before slop coding good code review was hard, because verification is a hard problem. But we have many tools at our disposal to increase confidence without having to go full-on mathematical proof. Human understanding has always been the bottleneck, and as long as the thing you are doing is for humans, humans will have good reasons to want to understand it, so they will remain the bottleneck. This is ok. It’s ok for humans to be the rate-limiter. But don’t go it alone and fry your own brain.
Comment by stavros 2 hours ago
Comment by frevib 3 hours ago
Comment by oblio 1 hour ago
Comment by redanddead 4 hours ago
Comment by jiggawatts 3 hours ago
The comments are just accurately describing that new, insane reality.
Comment by rusticpenn 3 hours ago
Comment by andai 3 hours ago
>Eventually all the people who hate this kind of thing are going to be dead, and the ones who use it are going to be in control.
The West has fallen.
Comment by eddythompson80 3 hours ago
Comment by vasco 4 hours ago
Comment by bojan 3 hours ago
We have a 100% vibe-coding team, and yes, when they couldn't pass through the CI/CD at some point, they contacted the Ops team and literally said "the agent said the problem is on your side".
Comment by geraldwhen 3 hours ago
It would be faster to setup a deepseek locally hosted instance or glm than try and build by hand, assuming all hosted providers were down somehow.
Which is to say, there is no token quota. If you run out you buy more.
Comment by kikdij 3 hours ago
Not to mention the "yes, there's a bug. We opened a ticket to the maintainer. Now we wait".
Comment by ilteris 3 hours ago
Comment by Lucasoato 3 hours ago
It’s absurd, I have the latest OS version, a M4 MacBook, but the new app seems to be buggy as hell.
Is this the new software quality standard we should expect from a company that is worth billions (if not trillions)?
Comment by oblio 3 hours ago
For a while, yes.
Comment by BikiniPrince 4 hours ago
Comment by krm01 3 hours ago
Comment by lionkor 3 hours ago
This was said about web technologies and crypto and every other hype cycle, and it's never been true at all. The vast majority of people are okay just picking something reasonable or a default, and sticking with it.
It's not difficult to imagine that pi.dev will be around in 10 years, and it's not difficult to imagine that vim, visual studio, vscode, linux and ext4 will still be around in 10 years.
I don't know what kind of massive innovation you see here. This is like flying cars; every couple years there's a demo of a flying car of some variety, some people immediately short mercedes, and 5 years later mercedes is still around, making slightly more modern cars than before.
If you really believe that the tech-news hype cycle reflects reality, I urge you to go solve an advent of code in a normal programming language, maybe that'll help get you back on track.
Comment by solyin 2 hours ago
> it's never been true at all.
Like, at all? The problem with "never" is entire platforms get deprecated and people get laid off. So sure, you can have a job in $technology for as long as you've got that job, but if you get laid off but $technology is deprecated, you're in for a bit of a rough patch.
For reference, here's a couple of $technologies that, 10 years ago, you have gotten a job in, but if you were laid off recently, you'll have a tougher time finding a job in:
Apache Mesos -> Kubernetes. Xamarin (mobile dev). Hadoop -> Databricks. Ember.js.
(Not saying it's impossible, just that you said "never" and "at all" so you'd have to get really lucky.)
Comment by xnickb 4 hours ago
Comment by ywvcbk 4 hours ago
Comment by XenophileJKO 4 hours ago
I love how people all pretend that they and most engineers are god like programmers. Sure, some people are really good. My 30 years of experience say that is like 5%, maybe if you are at google or a really good start up, that can creep up to 30-50%.
By far the majority of engineers are not elegant or even really craftsman like. Add to this that unless you are working on a pet project you are usually neck deep in something that has had teams working in it for years.
It creates situations where most engineers don't really know what the code base does below the surface area where they are making feature changes. So work gets cobbled on or patched in where people are comfortable making changes.
All I can say is I would much rather have 3 open Opus 5.5 instances than a team of 3 working for me if we are only talking about delivering high quality code. I don't think that is the only value of engineers, but I think we are at a point where the models have way exceeded average engineer ability. There are still tendencies for "compatability everything" and "don't rock the boat" in the current frontier LLMs that can create architectural issues, but if you know what to look for when working, it isn't generally an issue.
I mean just remember how mush everyone complained about buggy games or MacOs or whatever before LLMs even came around.
Comment by xnickb 3 hours ago
I am not implying that at all. All I'm saying is that humans can't keep up with LLM/agent rates of code generation but agents come, so what is unusable for humans is ok for LLMs.
And LLMs being required is very profitable to those who sell LLMs.
Never did I imply any bugs
Comment by lionkor 3 hours ago
Not at all. It's hard to keep up with lines of code per day, i.e. quantity.
It's not difficult for humans to keep up with the quality, and produce far superior quality code by writing it themselves or instructing an LLM what exactly to implement, down to each function's API surface (if typing is the bottleneck).
A lot of you people are forgetting that there's an engineering aspect to programming, and LLMs are really really really terrible at it out of the box.
Let's say you can let AI design and 3D print 1 large real-life bridge per week. Would you say that humans can't keep up? Or would you point out that there's a difference between what civil engineers do and what an LLM with a 3D printer does?
Comment by Yokolos 3 hours ago
Comment by luokui89 5 hours ago
Comment by kkr96 3 hours ago
Comment by georgestones 3 hours ago