Guide · October 16, 2026 · Updated October 18, 2026 · 6 min read

Choose your parts

AI work runs on more than a model. It runs on tools, skills, approvals and helper models too. When you can swap each part on its own, your setup gets better as you learn, and no single provider decides what you can use.

An AI setup is a set of parts

When people talk about “the AI”, they usually mean the model: the program that reads text and writes a reply. Useful work needs more than that. A working setup has several parts around the model:

Each part answers its own question. The model decides how well the work is reasoned. Tools decide what it can reach. Approvals decide what it may do without you. When all of these come welded into one product, you cannot swap one answer without accepting all the others.

The parts you can swap around one Kaptain runtime A Kaptain runtime keeps one project folder, one approval gate and one record of every turn for every model. Inside it sit parts you choose and can swap: the model (Ollama, GGUF through llama.cpp, a cloud API, Claude Code, Codex, or a paired machine), the tools, the skills, the approvals, the delegation worker, the summarizer and the vision tool model. Kaptain runtime Fixed for every model: one project folder, one approval gate, one record of every turn. Model per chat and per agent Ollama GGUF · llama.cpp Cloud API Claude Code Codex Paired machine Tools built-ins and MCP servers Skills runbooks and house style Approvals per model and per agent Worker delegated work Summarizer long-chat summaries Vision tool describes images a part you can swap shared by every model
One runtime, parts you choose. Swapping a dashed part leaves the others, and the shared folder, gate and record, as they were.

Why the parts should be separate

Each part moves on its own schedule. New models arrive every few months, and prices move with them. The best model for code review this spring may be the expensive choice by autumn. Your work shifts too. A project that began as quick questions can grow into nightly jobs that nobody watches.

If the parts are fixed together, every one of those updates means starting again: a new app, a new tool setup, new permissions and a lost history. If the parts are separate, the fix stays small. You swap the model for one job and keep everything else.

The point is not to swap parts all the time. It is to make each swap cheap, so the good ones actually get made.

Model-agnostic means you are not locked in

A system is model-agnostic when the rest of it does not depend on which model is answering. Kaptain reaches models four ways and treats them alike:

A fifth source is another of your computers. Once two Kaptains are paired, the other machine’s models appear in your picker under its name.

Every route works in chat, in kapsules (Kaptain’s agents), as the delegation worker and as the summarizer. They all share one set of tools, one approval gate, one record of what ran and one project folder that you choose.

That is what keeps you free. If a provider raises its prices, changes its terms or falls behind, you move the jobs it was doing to another model. Your tools, skills, agents and history stay where they were: on your machine.

No model is chosen for you. In a fresh browser the chat picker reads Choose a model, and delegation has no worker until you pick one under Settings › Model Handling › Delegation.

Tune one part, leave the rest alone

Choosing a model is the first decision. Deciding how it runs is the second. In Kaptain each part has its own control:

You can even switch the model in the middle of a conversation. When a chat moves off Claude Code or Codex to another model, Kaptain hands over a digest of it. Handoff written by, under Settings › Model Handling › Context & Compaction, sets who writes that digest.

Here is one set of choices these controls allow. You chat with Claude Code for design work. A small local model is the delegation worker, so summaries and log digests use output tokens with no per-token bill. The summarizer is a small model on another of your computers. A nightly kapsule that watches logs runs on a local model too. None of these choices depends on the others, and each can be revisited tomorrow.

Parts that get better with use

Some parts improve because you improve them, and the improvement is kept.

What does not improve by itself is replayed history. Run memory for scheduled agents is off by default, for a reason Kaptain Docs put plainly: “one bad run steers the next, old evidence reads as current, and the window fills with yesterday.” In Kaptain, getting better is deliberate. It is a skill you edited, a lesson kept after a clean run, or a setting you adjusted after reading a trace.

Parts kept in plain places

A system built this way passes a simple test. When something better arrives, how much do you have to rebuild? The answer should be one setting, one file or one switch.

Kaptain keeps its parts in plain places so that this holds. Settings live in kaptain.json, and per-model settings and API keys in models.db. Each agent is one kapsule.json file you can diff, copy and keep in git. Skills are Markdown files. Your MCP servers are listed in mcp_servers.json, in the same shape as the blocks in server READMEs.

Where to start

The Kaptain Docs chapter Customise before your first run lists ten settings worth choosing on purpose. Each is a trade-off, and each can be undone later without losing anything. From there, read Models and runtimes, Per-model settings, Delegation and token use and Skills.

The next two guides in this series cover the tools, in Krew and MCP, and the agents, in What is a kapsule?