| ▲ | Show HN: Bash4LLM+ – A lightweight, dependency-free Bash wrapper for LLM APIs(github.com) | ||||||||||||||||||||||
| 12 points by kamaludu 2 hours ago | 8 comments | |||||||||||||||||||||||
Bash4LLM is a single-file Bash wrapper for interacting with LLMs from the terminal. I created it because I wanted something simple that worked without installing Python, Node, or any other runtime. It uses only Bash, curl, and jq. You can send prompts, start a small chat, process files line by line, stream output, and save session metadata in JSON format. I tried to make it safe and predictable: no use of the system /tmp, no use of eval. Groq is supported by default, and other providers can be added with dedicated Bash scripts in the extras/providers/ folder. Example: | |||||||||||||||||||||||
| ▲ | Chu4eeno 2 hours ago | parent | next [-] | ||||||||||||||||||||||
You really should either just write it manually, or at least clean it up, 5kLOC of bash for POSTing and reading/writing files is a bit overkill (the code is extremely repetitive, verbose and just hard to follow). | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | kamaludu an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
well, i write Bash4LLM to be: . Portable - You need only: bash, coreutils, findutils, util-linux, gawk, curl, jq. No Python (slow), no Node (heavy), no Golang (need too many binaries, one for each OS, hard to maintain for one single person like me). . Single file - only one. I write many extras, but all are optional. . Idempotent - you copy it where you want and go! . Transparent - open the file and read. . Extras for all, and all optional: help file, extra providers, improved session engine, small GUI/CGI, etc... Default (embedded) provider is Groq, because when I start the project, was the best free API service for AI. I'm ready to answer to your question... with my terrible english... Cristian (kamaludu) | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | ifh-hn 11 hours ago | parent | prev [-] | ||||||||||||||||||||||
Why is this flagged? | |||||||||||||||||||||||
| |||||||||||||||||||||||