chat completion
The plainest way to use a model: you send a list of messages, it sends back one reply, and nothing else happens. No tools, no files, no second turn it decides on by itself. It is one HTTP request to something like http://127.0.0.1:1234/v1/chat/completions, and every agent and harness you will ever use is a program making that same call in a loop.
Running one of these is the whole of "using a local model". LM Studio or Ollama loads the weights and listens on a port, you post some messages, you get text.
The difference between that and an agent is not the model. It is that somebody wrote a program which reads the reply, notices it asked for a command, runs the command, and posts the whole thing back as the next message. Same endpoint, called twenty times instead of once.