LocalHarness — the autoresearch plugin
Autoresearch
← the plugins /autoresearch
On by default; it needs a proposer (your local model again, or a cloud API), adds nothing to a session, and turning it off deletes nothing.
the gate
- a proposer suggests your local model again, or a cloud model, reads failed practice runs and suggests one change at a time.
- tested in a copy each change runs in a throwaway checkout; your setup is untouched.
- kept only on a clear win a change must beat the current version by more than luck, or it is archived.
- a sealed test set the proposer is never shown its runs; it only scores.
- adopted into your settings a win is written to your global settings; one command undoes it.
Setup
Turn it on from the session, fill in its settings, and it checks they work; your coding agent can do the hardware part.
~/project — localharness start
shipped
qwen3.6-27b ~/project
Plugins: memory, autoresearch
❯ /plugins enable autoresearch
Restarting with autoresearch on — your conversation is kept.
Proposer address (an OpenAI-compatible base URL — a local server or a cloud API): http://127.0.0.1:11434/v1
Proposer model id: gpt-oss:120b
Proposer API key (leave empty for a local server):
✓ autoresearch enabled in ~/.localharness/overrides.yaml
set proposer.base_url = 'http://127.0.0.1:11434/v1'
set proposer.model = 'gpt-oss:120b'
Contacting the proposer at http://127.0.0.1:11434 …
✓ autoresearch-proposer: the proposer answers at http://127.0.0.1:11434/v1 and serves gpt-oss:120b
Checking it now:
✓ autoresearch: proposer: gpt-oss:120b at http://127.0.0.1:11434/v1
Then: `localharness propose --help` shows how to write the first proposal.
Restarted with autoresearch on. Your conversation continues.
autoresearch: on in this session
in a session: /plugins enable autoresearch · from a shell: localharness plugins enable autoresearch
paste into your coding agent to set it up for your hardware
Set up the LocalHarness autoresearch plugin on this machine. It needs a proposer behind an OpenAI-compatible endpoint: a second local endpoint, where the model LocalHarness already runs on is fine, or a cloud API with its API key. For a local proposer, serve the main model again (or another model this hardware can run alongside it). Then run `localharness plugins enable autoresearch` and give it the proposer's address and model id. Leave the key empty for a local server; for a cloud API, let me type the key at its hidden prompt myself: never print the key or paste it into this chat. You are done when `localharness doctor` shows the proposer row passing. Surfaces
where you reach it
- localharness autoresearch run · review · adopt · report · sentinel · archive.
- localharness propose · experiment ask for one change, or run one through the gate.
- proposer: · sentinel: settings for the proposing model and the holdout guard.
- slash commands none.
- /plugins enable autoresearch inside a running session: until it is set up, asks what it needs and checks it; then restarts with your conversation kept.
- localharness plugins disable autoresearch turns it off; the bench stays in core.