Model Commands

Model commands show and switch the model a conversation runs on, how hard it thinks and whether it's asked fast, without a restart.

The model namespace

The model's commands are the model namespace's actions, as lnk model has them: /model:show says what Link knows of the conversation's model, its provider, window, longest answer, how it thinks and its price, and /model:list names the models its provider offers that its spec allows ([model] allow), as the provider's own list says. [commands] models controls this list separately from [commands] model, which controls showing and switching the model.

Switch this conversation

/model:set <name> switches the conversation it's sent in to one of those, with no restart: its next turn uses it, and the chat's other conversations, and other chats, keep theirs. A name of [model.aliases] names the model it stands for, so /model:set high runs whatever the spec calls high. A name the provider doesn't offer is refused, and the model stays. Given no name, it names the model and the others.

Switch every chat

/model:set <name> --agent switches every chat of the agent too, as the agent's model, until the agent starts again, which runs it on the model it was started with (lnk agent start --model). A conversation that chose its own keeps it. A model of another provider needs that start. When the provider's list can't be read, /model:list and /model:set say why, and the model stays.

Ask for speed

/model:set --fast asks the provider's faster service for the conversation's turns, and /model:set --no-fast stops. It's OpenAI's priority processing, or Anthropic's fast mode on the models that have it, at the provider's higher price. Where the provider offers no faster service for the model, it's refused.

Set how hard it thinks

/model:set --effort high sets how hard the conversation's model thinks: off, low, medium or high, as [model] thinking takes, asked where the model can. With --agent, every chat's too, until the agent starts again. /model:set alone says the level beside the model.

Kept as the conversation's

Each choice is a command event of its conversation, so a resumed conversation runs on what it chose, and a new one on the agent's. A subagent runs on the model it was started with, else on its parent conversation's, and /task:agent without a model gives it this conversation's.