# Thermite > Thermite is an autoresearch harness. AI agents propose changes to a project; a judge the agents cannot touch measures each change and keeps the best. Many campaigns run at once on a fleet of rigs, and one control service shows and steers all of them. Every page below is also published as Markdown: its address is the page's address with `.md` at the end, as in these links. **Start** - [Thermite](https://usethermite.com/index.md): Thermite runs research campaigns with AI agents. Agents propose changes; code they cannot touch measures them, judges them and keeps the best. - [Start here](https://usethermite.com/start-here.md): Pick the path that fits you: try Thermite on one computer, run it on your GPUs, give it your own project, or let an agent run it. **Tutorials: learn by doing** - [Your first run](https://usethermite.com/tutorials/first-run.md): Start Thermite on your own computer and watch its judge check a rig, in about half an hour. - [Hand the work to agents](https://usethermite.com/tutorials/agents-with-a-free-model.md): Give your rig a free AI model, start a campaign on the sample project in Thermite's repository, and watch agents propose changes that the judge measures. - [Your first goal campaign](https://usethermite.com/tutorials/first-goal-campaign.md): Run a goal campaign on the smoke project, submit a change yourself, and watch its goal go from unmet to met until the campaign ends by itself. - [Your own project](https://usethermite.com/tutorials/your-own-project.md): Put a small project of your own in a public repository, start a campaign on it from the New campaign page, and take the best result home as a patch. **How-to guides: install and rigs** - [Install Thermite on one machine](https://usethermite.com/how-to/install/one-machine.md): Run control and a rig on one computer with Docker or Podman, and keep them running. - [Add a rig on a machine over SSH](https://usethermite.com/how-to/install/rig-on-a-machine.md): Let control set a rig up on another machine you can reach over SSH. - [Add a rig on a Kubernetes cluster](https://usethermite.com/how-to/install/rig-on-a-cluster.md): Let control set a rig up on a Kubernetes cluster, in a namespace it creates or in a slot made for Thermite. - [Join a rig yourself](https://usethermite.com/how-to/install/join-a-rig.md): Add a rig where control cannot connect, with a one-time join command you run there. - [Give a rig several GPUs](https://usethermite.com/how-to/install/several-gpus.md): Split a rig's GPUs between the judge and the agents, so neither waits for the other. - [Push the images to your own registry](https://usethermite.com/how-to/install/own-registry.md): Build Thermite's container images and push them to a registry your rigs can pull from. - [Extend the harness image](https://usethermite.com/how-to/install/extend-harness-image.md): Add the compilers and tools your project needs to the image the agents and the judge run in. - [Run a rig on RunPod](https://usethermite.com/how-to/install/runpod-rig.md): Launch a rig on a RunPod GPU from the dashboard, set its spend limit and idle stop, stop, start and terminate it, and keep its results. - [Test a GPU on RunPod](https://usethermite.com/how-to/install/runpod-test.md): Start a short test pod on RunPod from control, and read what it found and what it cost. **How-to guides: models** - [Choose a model](https://usethermite.com/how-to/models/choose-a-model.md): Pick a model for the agents: a free model first, then one on your own computer, then an API key or a subscription. - [Connect a model provider](https://usethermite.com/how-to/models/connect-a-provider.md): Add an OpenAI-compatible, Anthropic or OpenCode provider on the Providers page and give a rig one of its models. - [Use a Claude subscription](https://usethermite.com/how-to/models/claude-subscription.md): Let a rig's agents work through your own Claude subscription, inside Claude Code. - [Use a ChatGPT subscription](https://usethermite.com/how-to/models/chatgpt-subscription.md): Sign in with ChatGPT so a rig's agents can use your own ChatGPT plan. - [Give each agent its own model](https://usethermite.com/how-to/models/model-per-agent.md): Choose a different model and effort for the workers, the planner and each advisor. **How-to guides: campaigns and kits** - [Start a campaign from the dashboard](https://usethermite.com/how-to/campaigns/start-from-dashboard.md): Use the New campaign page to say what to improve, where the project is, how to measure it and which rig runs it. - [Start a campaign from the command line](https://usethermite.com/how-to/campaigns/start-from-command-line.md): Validate a contract and assign a run to a rig with the thermite command. - [Write a contract](https://usethermite.com/how-to/campaigns/write-a-contract.md): Write the file that says what a campaign must achieve, for a hill climb, a goal campaign or a research campaign. - [Write a kit for your project](https://usethermite.com/how-to/campaigns/write-a-kit.md): Give your project a pinned, tested kit: how to build it, run it, time it and check it. - [Test a kit with known candidates](https://usethermite.com/how-to/campaigns/test-a-kit.md): Check that a kit gives each known change the verdict you expect before agents start. - [Use a private repository](https://usethermite.com/how-to/campaigns/private-repository.md): Give rigs access to a private project or kit repository with a deploy key or a token. - [Set a budget or a stop time](https://usethermite.com/how-to/campaigns/budget-and-stop-time.md): Thermite runs until the job is done. Set a limit on time, devices or spending when you want one. - [Steer a run](https://usethermite.com/how-to/campaigns/steer-a-run.md): Pause, resume or restart a run's lanes, and send its agents messages. - [Choose what a run tries next](https://usethermite.com/how-to/campaigns/choose-what-runs-next.md): Add, order and drop the experiments a run's lanes take next, queue the lanes' ideas, and make rules by telling the planner. - [Use past research in a new run](https://usethermite.com/how-to/campaigns/use-past-research.md): Read a run's journal, search Thermite's knowledge base, let a campaign read another's folder, and start a run from what earlier runs learned. - [Decide what waits for you](https://usethermite.com/how-to/campaigns/decide-what-waits.md): Approve or decline promotions, audits, reviews and "not possible" endings. - [Run a campaign on several rigs](https://usethermite.com/how-to/campaigns/several-rigs.md): Run one campaign on more than one rig, and have another rig confirm the best result. - [Take the result](https://usethermite.com/how-to/campaigns/take-the-result.md): Download a run's best change as a patch and apply it to your project. - [Bring a model's weights to a run](https://usethermite.com/how-to/campaigns/model-weights.md): Have a rig download a large model file by URL, check its SHA-256, and show its progress, a gated Hugging Face model included. - [Give agents MCP tools](https://usethermite.com/how-to/campaigns/give-agents-mcp-tools.md): Add an MCP server in Settings with its sign-in, name it in a campaign's kit for the workers, the planner or the advisors, narrow its tools, and see the agents use it. **How-to guides: operate** - [Check a rig](https://usethermite.com/how-to/operate/check-a-rig.md): Run a rig's model, isolation and smoke checks, and read what they found. - [Accept a rig's key](https://usethermite.com/how-to/operate/accept-a-rig-key.md): Compare a rig's key fingerprint with the rig's own and accept it, so control takes the rig's reports again. - [Set up the results repository](https://usethermite.com/how-to/operate/results-repository.md): Give a rig a git repository where its supervisor pushes every attempt, champion and event. - [Configure advisors](https://usethermite.com/how-to/operate/advisors.md): Turn on the teachers, the combiner, the auditor and the review panel that watch over a rig's research, and write to them. - [Manage MCP servers](https://usethermite.com/how-to/operate/mcp-servers.md): Read an MCP server's state and tools, read them again, sign in again, change its secret or address, or delete it, on the dashboard, over REST, MCP or the command line; and what became of an outside knowledge base at the update to 0.1.0. - [Stop, restart, remove or reset a rig](https://usethermite.com/how-to/operate/rig-lifecycle.md): Stop, start, restart, update, remove, retire, bring back or fully reset a rig, and know what each one keeps. - [Make and change tokens](https://usethermite.com/how-to/operate/tokens.md): Make the owner's token, give people and agents tokens of their own, replace a token, and manage rig tokens. - [Cancel a pending command](https://usethermite.com/how-to/operate/cancel-a-command.md): Withdraw a signed command that has not reached its rig yet, with the REST API. - [Troubleshoot](https://usethermite.com/how-to/operate/troubleshoot.md): Check the machine with thermite doctor, then find out why a check failed, a port clashes, a build is slow, a rig is quiet, a message goes unread, a queue change doesn't take, past research or an MCP server doesn't work, or a sign-in bounces back, and where the logs are. - [Get a rig's results from control](https://usethermite.com/how-to/operate/exports-on-control.md): Find the exports a rig without a results repository sent to control, download their files, and check that every result has left the rig before you remove it. **How-to guides: automate** - [Let an agent run Thermite over MCP](https://usethermite.com/how-to/automate/agent-over-mcp.md): Connect an AI agent to control's MCP server with a token of its own, so it can watch and steer campaigns for you. - [Script Thermite with the REST API](https://usethermite.com/how-to/automate/rest-api.md): Read rigs, runs and results, and issue commands, from your own scripts with control's REST API. **Reference** - [Settings](https://usethermite.com/reference/settings.md): Every environment variable of control, the harness, the supervisor and the command line, with its type, default and meaning. - [Contract](https://usethermite.com/reference/contract.md): Every field of a campaign contract in the three modes, with its type, default, allowed values and meaning. - [Kit manifest](https://usethermite.com/reference/kit-manifest.md): Every field of kit.json, and the placeholders, processes, limits, outputs and outcomes of a kit. - [Advisors file](https://usethermite.com/reference/advisors-file.md): Every field of the advisors file that configures a rig's teacher pair, combiner, auditor and review panel, and how Edit rig's models replace it. - [Command line](https://usethermite.com/reference/command-line.md): Every thermite command and option, where it runs, what it prints and its exit codes, and thermite-trial inside the harness image. - [REST API](https://usethermite.com/reference/rest-api.md): Every route control serves, who may call it and what it returns. - [MCP tools](https://usethermite.com/reference/mcp-tools.md): Every tool control's MCP server offers, its inputs and who may call it. - [Signed commands](https://usethermite.com/reference/signed-commands.md): Every command control sends to rigs: its fields, who may issue it, how it expires or is cancelled, and what the harness does with it. - [Tokens and roles](https://usethermite.com/reference/tokens.md): Each kind of token, what it may do, and how it is made, changed and ended. - [Rig checks](https://usethermite.com/reference/rig-checks.md): The model route, isolation and smoke checks: what each tests, what it needs, its limits and every result it reports. - [Verdicts and states](https://usethermite.com/reference/verdicts.md): Every verdict the judge gives, and every state an attempt, a run, a campaign and an experiment can be in. - [The knowledge base](https://usethermite.com/reference/knowledge-base.md): Thermite's knowledge base: each campaign's folder and its items, search, grants, a run's knowledge/ folder, briefings, field notes, the export, and other knowledge bases as MCP servers. - [Harness image](https://usethermite.com/reference/harness-image.md): What the harness, supervisor and control images and the one-container rig image contain: base images, toolchains, users and groups, paths and build arguments. - [Ports, volumes and secret files](https://usethermite.com/reference/ports-volumes-secrets.md): Every port, network, volume and secret file of control and a rig, under compose, on machines, on clusters and on RunPod test pods. - [Limits and pacing](https://usethermite.com/reference/limits-and-pacing.md): Every limit Thermite has, its default, what it bounds and whether it ends anything. Nothing ends research unless you set it. - [Compatibility](https://usethermite.com/reference/compatibility.md): The Node.js versions, operating systems, container engines, compose tools, Kubernetes, GPUs, CUDA and CPU architectures Thermite works with, and how each is tested. - [Known limits](https://usethermite.com/reference/known-limits.md): What a tester must know before running Thermite 0.x: the risks that come with its design, what it does not do yet, and the goal that removes each limit. - [Glossary](https://usethermite.com/reference/glossary.md): The words Thermite uses, each in a sentence or two, with the page that explains it. - [Model files on a rig](https://usethermite.com/reference/model-files.md): How a rig's supervisor downloads a model file by URL: the import's fields, the checks, the Hugging Face token, the progress it reports, its errors and its limits. - [Exports](https://usethermite.com/reference/exports.md): Where a rig's exports go, what control keeps of them, the supervisor's export figures, and how control tells that a rig's results have left it. - [The Rigs list](https://usethermite.com/reference/rigs-list.md): Every part of the dashboard's Rigs list: its columns, the states a rig can be in, needs update, the filters, the summary line and where each row leads. - [A rig's page](https://usethermite.com/reference/rig-page.md): Every part of a rig's page on the dashboard: its state and version banners, Update to control's version, Check again, its facts, and a RunPod rig's pod, limits, lifecycle and history. **Explanation: how it works, and why** - [What Thermite is](https://usethermite.com/explanation/what-thermite-is.md): What Thermite does, who it is for, and the ideas behind it in one minute. - [How the parts fit together](https://usethermite.com/explanation/how-it-fits-together.md): Control, rigs and targets: what each part does, how they talk and where they run. - [Campaign modes](https://usethermite.com/explanation/campaign-modes.md): Hill climbing, goal campaigns and research campaigns: how each one works and what ends it. - [Why agents never judge](https://usethermite.com/explanation/why-agents-never-judge.md): How Thermite measures and accepts changes without trusting the agents that made them. - [Why the benchmark lives in a kit](https://usethermite.com/explanation/kits.md): Why the judge's half of a project is kept apart from the project, where agents cannot see it. - [Kits and rigs, side by side](https://usethermite.com/explanation/kits-and-rigs.md): A kit says how to measure a project; a rig is where the measuring happens. How the two fit. - [Agents, lanes and the planner](https://usethermite.com/explanation/agents-lanes-planner.md): How a run shares its search among lanes, trials, a planner and one experiment queue, and why every agent starts fresh. - [Journals and the knowledge base](https://usethermite.com/explanation/journals-and-knowledge.md): Why agents keep field notes, how each campaign's records become a folder in Thermite's knowledge base, and how past research reaches a later run. - [Supervision](https://usethermite.com/explanation/supervision.md): What the teachers, the combiner, the auditor and the review panel do, what they produce, and what they can never do. - [The security model](https://usethermite.com/explanation/security-model.md): What each part of Thermite can reach and what it trusts: control, the supervisor, the harness, the lanes and the judge, and a rig under compose, on a machine, on Kubernetes and on RunPod. - [Trust between control and rigs](https://usethermite.com/explanation/trust.md): How signed commands, signed reports and pinned keys let control and its rigs trust each other through the supervisor in between, and how control reaches a rig in pull mode through a public proxy. - [Isolation inside a rig](https://usethermite.com/explanation/isolation.md): How a rig keeps the agents' code away from the judge, its files, its secrets and each other. - [Sharing a device](https://usethermite.com/explanation/sharing-a-device.md): How the judge and the agents take turns on one GPU, what dedicated GPUs change, what each choice costs, and how CPU rigs share their CPUs. - [Why Thermite runs until the job is done](https://usethermite.com/explanation/runs-until-done.md): Why nothing stops research by default, what pacing and back-pressure do instead, what ends each mode, and how to set a limit when you want one. - [Who holds your keys](https://usethermite.com/explanation/who-holds-your-keys.md): Where Thermite keeps model keys, subscriptions, SSH keys, kubeconfigs, Git access and tokens, and who can read each one. - [Where Thermite came from](https://usethermite.com/explanation/where-thermite-came-from.md): The lessons from long research campaigns that shaped Thermite, and the part of Thermite that answers each one. **Project** - [Roadmap](https://usethermite.com/project/roadmap.md): What Thermite does next, by version, and where the plans live. - [Getting help](https://usethermite.com/project/getting-help.md): Where to ask a question or report a problem, and what to include. - [Contributing](https://usethermite.com/project/contributing.md): How to work on Thermite itself, and the rules every change follows. ## Documentation Sets - [Abridged documentation](https://usethermite.com/llms-small.txt): a compact version of the documentation for Thermite, with non-essential content removed - [Complete documentation](https://usethermite.com/llms-full.txt): the full documentation for Thermite - [Tutorials](https://usethermite.com/_llms-txt/tutorials.txt): learn Thermite by doing, one path each - [How-to guides](https://usethermite.com/_llms-txt/how-to-guides.txt): the steps for one task each - [Reference](https://usethermite.com/_llms-txt/reference.txt): settings, files, commands, the API and MCP, described completely - [Explanation](https://usethermite.com/_llms-txt/explanation.txt): how Thermite works, and why ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation ## Optional - [Roadmap](https://github.com/iammrduncan/thermite/blob/main/docs/plan/roadmap.md): what is planned, by version