3 ms·
yeah, it is super limited but also you can now do cmd(){ local x c r a; while [[ $1 == -* ]]; do case $1 in -x)x=1;shift;; -c)c=1;shift;; *)break;; esac; don
by franze 7mo ago
yeah, it is super limited but also you can now do
cmd(){ local x c r a; while [[ $1 == -* ]]; do case $1 in -x)x=1;shift;; -c)c=1;shift;; *)break;; esac; done; r=$(apfel -q -s 'Output only a shell command.' "$*" | sed '/^```/d;/^#/d;s/^[[:space:]]*//;/^$/d' | head -1); [[ $r ]] || { echo "no command generated"; return 1; }; printf '\e[32m$\e[0m %s\n' "$r"; [[ $c ]] && printf %s "$r" | pbcopy && echo "(copied)"; [[ $x ]] && { printf 'Run? [y/N] '; read -r a; [[ $a == y ]] && eval "$r"; }; return 0; }
cmd find all swift files larger than 1MB
cmd -c show disk usage sorted by size
cmd -x what process is using port 3000
cmd list all git branches merged into main
cmd count lines of code by language
without calling home or downloading extra local models
and well, maybe one day they get their local models .... more powerful, "less afraid" and way more context window.
- beepbooptheory 7mo agoWhat is the AI doing here? Or is this just like being cheeky?
- dgacmu 7mo agoThe pile of shell and sed is cleaning up the ai output and then running it in the shell. The instruction to the AI was to create _a_ shell command. So it's a random shell command generator (maybe).
- corndoge 7mo agothat part is the system prompt, the script is a function that takes a prompt describing a shell command as an argument
- beepbooptheory 7mo agoBut it's gotta be just a joke right? Which is why all the examples are just classic things you do with bash/unix utilities? I'll just say, if not a joke, the bit is appreciated either way! "AI change to the home directory. Make it snappy!"
- solatic 7mo agomv /Users/beepbooptheory /Users/snappy
- jorvi 7mo agoThis really makes me think of A Deepness in the Sky by Vernor Vinge. A loose prequel to A Fire Upon The Deep, and IMO actually the superior story. It plays in the far future of humanity. In part of it, one group tries to take control of a huge ship from another group. They in part do this by trying to bypass all the cybersecurity. But in those far future days, you don't interface with all the aeons of layers of command protocols anymore, you just query an AI who does it for you. So, this group has a few tech guys that try the bypass by using the old command protocols directly (in a way the same thing like the iOS exploit that used a vulnerability in a PostScript font library from 90s). Imagine being used to LLM prompting + responses, and suddenly you have to deal with something like sed '/^```/d;/^#/d;s/^[[:space:]]\*//;/^$/d' | head -1); [[ $r ]] and generally obtuse terminal output and man pages. :) (offtopic: name your variables, don't do local x c r a;. Readability is king, and a few hundred thousand years from now some poor Qeng Ho fellow might thank his lucky stars you did).
- sn0wf1re 6mo agoThat would be pretty cool if the model was a little more useful, but it isn't very good. And the guardrails are hilariously bad. cmd print first and last line from stdin $ echo -n | tail -n 2 cmd print first and last line from stdin using sed error: [guardrail] The request was blocked by Apple's safety guardrails. Try rephrasing. no command generated