AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Auto researching harness that burns through everything.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Put AI agents to work on your code. Keep only what's proven.
Thermite is open-source autoresearch: AI agents that run experiments in a loop, for hours or days, on your own machines. You set the goal: a faster program, a list of checks to pass, or a question to answer. A judge that the agents can't see or change measures every attempt, and keeps only what it confirms. One dashboard, with a REST API and MCP, shows and steers every campaign on every machine.
Quick start · Documentation · Architecture · Roadmap · Changelog · Discord
[!WARNING] Thermite is under heavy development. It changes every day, and some parts will break. If you don't want to take every update as it comes, pin a release: install from a tagged release's bundle, whose compose file pins every image by digest, and update when you choose. Most of Thermite can be driven from the dashboard, and its REST API and MCP server work well with coding agents, which can help you set it up, test it and run it.
Status: v0.1.0, the first public release, is out: install it from its release bundle. Work goes on toward v0.1.1: see the roadmap.
A lot of engineering is a loop. Change something, measure it, keep it if it is better, undo it if it isn't, and try the next idea. Autoresearch hands that loop to AI agents, so it runs through the night, on many ideas at once, without you.
The hard part is trusting the results. An agent asked to make a number go up will sometimes make it only look higher: it skips the slow case, moves the timer, or just reports a win. So in Thermite, agents only propose. A separate program, the judge, builds each change, runs it against the best version so far on the same hardware, checks that its output is still right, and decides. The agents can neither read the judge nor change it.
Each campaign is one of three kinds, called modes:
| Mode | Use it to | It runs until | For example |
|---|---|---|---|
| Hill climb | Push one number, such as speed, size or accuracy, as far as it goes, with guards so that nothing else gets worse | You stop it | Make a matmul kernel faster without breaking its tests |
| Goal | Meet a list of checks: it builds, it loads the model, its answers match | Every required goal is met, or the evidence shows that they cannot be | Port a library to a new platform: it builds, matches its goldens and meets a speed target |
| Research | Answer a question from sources. Code checks every quote, word for word, against the page it came from | A review panel finds every question answered, its research stops adding, or its longest time is up | How do modern memory allocators keep tail latency low? |
The modes combine: a hill climb or a goal campaign can read what a research campaign found. Choose a campaign mode helps you pick, campaign modes explains each, and the contract reference has every field.
flowchart LR
Planner["Planner<br/>(gives each lane an experiment)"] --> Workers["Workers<br/>(a fresh agent for each trial)"]
Workers -- a change and a claim --> Judge["Judge<br/>(code the agents cannot change)"]
Judge -- confirmed win --> Champion[(Champion)]
Judge -- every result, with its reasons --> Ledger[(Ledger)]
Champion --> Planner
Ledger --> Planner
You need Linux or macOS, and Podman or Docker with compose. Thermite runs from published images: you build nothing. A model is optional at first: the judge works without one.
Before you give Thermite a model, read the known limits. Agents run the code that a model writes on your computer, and under compose that code can reach your local network. The security model says what each part can reach and what it trusts.
mkdir thermite && cd thermite
curl -fsSLO https://github.com/iammrduncan/thermite/releases/latest/download/compose.yaml
docker compose run --rm init # writes local tokens to .dev/
docker compose up -d
With Podman, write podman compose in place of docker compose. The first start downloads the images. To check the machine before the first up, run npx thermite doctor from the command line, built from the source with Node.js and git: it checks Docker or Podman, compose, the port, disk and the clock, and says how to fix each problem (Troubleshoot). Then:
.dev/secrets/control-admin-token.examples/matmul-cpu, a folder of this repository, or on your own project.The tutorials walk through every step, up to taking the winning patch back to your project (Your own project). To build Thermite from its source code instead, see Contributing.
Just want to look around? npm ci && node --experimental-strip-types scripts/dashboard-demo.ts serves the dashboard with synthetic campaigns and rigs at http://127.0.0.1:8810/ui, with no containers. It prints the token to sign in with.
flowchart TB
subgraph Control[Control service]
UI[Dashboard]
API[REST API and MCP]
end
subgraph Rig[Rig, repeated across the fleet]
S[Supervisor]
H[Harness: judge, ledger, planner, workers]
end
People[People and agents] --> UI
People --> API
S -- reports, signed commands --> API
S --> H
H --> M[Model endpoint]
S --> Net[Git, the internet, frontier models]
More in architecture.
| Read this | To |
|---|---|
| Quick start | Go from the release's compose file to a first verdict, then to agents on your own project |
| Write a kit | Teach the judge how to build, run and check your project |
| Judging and integrity | See how results are accepted without trusting the agents |
| Known limits | Know the risks and what is not built yet, before you run it |
| The security model | See what each part can reach and what it trusts |
| Settings reference | Configure control, the harness and the supervisor |
| Contributing | Set up a copy, run the checks and the acceptance tests, and send a change |
| Glossary | Look up a term |
Thermite's community meets on the Hackers in the Loop Discord: questions, ideas and results go there. Bugs and feature requests go in GitHub issues.
npm run check (typecheck, lint, tests and the public-content check) before you open a pull request. Contributing lists the compose and acceptance tests for changes to containers, the judge or control.Thermite builds on other people's research and software. Credits lists the papers, systems, programs, libraries, standards and services it draws on, runs or ships, each with its licence.