Live data from Hacker News

Show HN: My LLM CLI tool can run tools now, from Python code or plugins

simonwillison.net

111–120 of 178 posts

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#112

Earlier quoted context omitted.

Also I forgot to one other built on llm. This one is a ZSH plugin that uses zle to translate your English to shell commands with a keystroke. https://github.com/day50-dev/Zummoner It's been life changing for me. Here's one I wrote today: $ git find out if abcdefg is a descendent of hijklmnop In fact I used it in one of these comments $ for i in $(seq 1 6); do printf "%${i}sh${i}\n\n-----\n" | tr " " "#"; done | pv -b…

I built a similar one to this one: https://github.com/CGamesPlay/llm-cmd-comp Looks from the demo like mine's a little less automatic and more iterative that yours.

Interesting! I like it!

The conversational context is nice. The ongoing command building is convenient and the # syntax carryover makes a lot of sense!

My next step is recursion and composability. I want to be able to do things contextualized. Stuff like this:

   $ echo PUBLIC_KEY=(( get the users public key pertaining to the private key for this repo )) >> .env
or some other contextually complex thing that is actually fairly simple, just tedious to code. Then I want that so people collectively program and revise stuff .

Then you can do this through composability like so:

    with ((find the variable store for this repo by looking in the .gitignore)) as m:
      ((write in the format of m))SSH_PUBLICKEY=(( get the users public key pertaining to the private key for this repo ))
or even recursively:

    (( 
      (( 
        ((rsync, rclone, or similar)) with compression 
      ))  
        $HOME exclude ((find directories with secrets))         
        ((read the backup.md and find the server)) 
        ((make sure it goes to the right path))
    ));
it's not a fully formed syntax yet but then people will be able to do something like:

    $ llm-compile --format terraform --context my_infra script.llm > some_code.tf
and compile publicly shared snippets as specific to their context and you get abstract infra management at a fractional complexity.

It's basically GCC's RTL but for LLMs.

The point of this approach is your building blocks remain fairly atomic simple dumb things that even a 1b model can reliably handle - kinda like the guarantee of the RTL.

Then if you want to move from terraform to opentofu or whatever, who cares ... your stuff is in the llm metalanguage ... it's just a different compile target.

It's kinda like PHP. You just go along like normal and occasionally break form for the special metalanguage whenever your hit a point of contextual variance.

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#113
post #72

Earlier quoted context omitted.

They are not. I think it is a good criticism though. Many people seem to be touting productivity that is only in the context of productivity towards more LLM inference operations and not productive in the sense of solving real world computing problems. There is a lot of material that suggests positive results are a kind of wish casting and people are not aware of the agency they are bringing to the interaction. The f…

No one is happy about the need for prompt engineering and other LLM hacks, but part of being a professional in the real world is doing what works.

Being a professional also involves reading about the technology like how there are studies saying that prompt engineering has hit a limit which is why people are talking about reasoning, agentic systems, this vendor vs that vendor vs offline, etc... Part of being a professional is also wanting to understand why and how something works and not disclosing my secrets to a third party vendor or otherwise wish casting over a black box that I cannot audit. Part of being a professional includes a history of natural language processing experience and knowing the limits of the digital representation of information, and having played with the early incarnations of OpenAI products and seeing them fail in the same way ever since, in the well documented ways that transformers are known to fail. There's also a real problem in the overloading of terms where the lay people are hearing "we have to cross our fingers and hear rumors and the magic box will make things correct for us" vs. machine learning experts saying "you have to limit the context to precisely the problem at hand and then their accuracy will improve" except... in machine learning terms the second is actually about as good as the first and they are both bad ways of working. There is very exciting ongoing research operating on these things in parallel to just absolute mysticism and here on HN that line is pretty much eroded away, and a lot of that is due to thought-terminating responses that blame the users.

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#114
post #72

Earlier quoted context omitted.

They are not. I think it is a good criticism though. Many people seem to be touting productivity that is only in the context of productivity towards more LLM inference operations and not productive in the sense of solving real world computing problems. There is a lot of material that suggests positive results are a kind of wish casting and people are not aware of the agency they are bringing to the interaction. The f…

The hype: "LLM's will replace all of the coders". The hate: "LLM's can't do anything without hand holding" I think both of these takes a disingenuous. > not productive in the sense of solving real world computing problems. Solving problems is a pretty vague term. > The fact that you can hack things that do cool stuff Lots of times this is how problems actually get solved. I would argue most of the time this is how pr…

Oh I mean for sure, but the point I was trying to make is that OP did those things, and I would argue the LLMs mostly just give him the permission to do it rather than actually producing something that he actually fully let the system do. I mean, he even says this too. I understand hacking is how things are done, but the thing that managers don't understand is that hacking is not their personal army, and you can't rub AI on things and make them better without losing determinism.

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#115
post #97
post #71

Earlier quoted context omitted.

> The fact that we can use computers to mostly understand human language I agree that'd be amazing if they do that, but they most certainly do not. I think this is the core my disagreement here that you believe this and let this guide you. They don't understand anything and are matching and synthesizing patterns. I can see how that's enthralling like watching a rube goldberg machine go through its paces, but there is…

That's why I said "mostly". I know they're just statistical models, and that having conversations with them is like having a conversation with a stack of dice. But if the simulation is good enough to be useful, the fact that they don't genuinely "understand" doesn't really matter to me. I've had tens of thousands of "conversations" with these things now (I know because I log them all). Whether or not they understand…

I guess I respect that you're stating it honestly, but this is a statement of belief or faith. I think it is something that you should disclose perhaps more often because it doesn't stem from other first principles and is I guess actually just tautological. I guess this is also getting more precise with our fundamental disagreement, I guess I just wouldn't blog about things that are beliefs as if they are the technology itself?

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#118
post #116

This is great! AIUI, llama.cpp does support tools, but I haven't figured out yet what to do to make llm use it. Is there anything I can put into extra-openai-models.yaml to make this work?

That's likely a change that needs to be made to either https://github.com/simonw/llm-gguf or https://github.com/simonw/llm-llama-server

... OK, I got the second one working!

  brew install llama.cpp
  llama-server --jinja -hf unsloth/gemma-3-4b-it-GGUF:Q4_K_XL
Then in another window:

  llm install llm-llama-server
  llm -m llama-server-tools -T llm_time 'what time is it?' --td
Wrote it up here: https://simonwillison.net/2025/May/28/llama-server-tools/

Re: Show HN: My LLM CLI tool can run tools now, from Python code or plugins

#120

Earlier quoted context omitted.

Interesting. What do you use it for beyond the normal chatting

I sometimes use llm from the command line, for instance with a fragment, or piping a resource from the web with curl, and then pick up the cid with `llm gtk-chat --cid MYCID`.

I'm actually planning on abandoning Simon's infra soon. I want a multi-stream, routing based solution that is more aware of the modern API advancements.

The Unix shell is good at being the glue between programs. We've increased the dimensionality with LLMs.

Some kind of ports based system like named pipes with consumers and producers.

Maybe something like gRPC or NATS (https://github.com/nats-io). MQTT might also work. Network transparent would be great.

Post reply on HN