Your tools
OpenClaw, Hermes & droid
Three supported agents Conifer knows how to wire but does not install for you.
These three are in the agent catalog with status: supported, so Conifer ships a full spec for each: the wire it speaks, the config that points it at your machine, and the context floor below which it will not work. What Conifer does not ship is an install recipe — each is installed the upstream way, and conifer agents show says so plainly instead of running someone else’s installer behind your back.
The context floor matters here
All three send a large tool preamble before your first word, so a small local model has no room left to answer. Conifer records the floor each one needs:
| Agent | Wire | Minimum context |
|---|---|---|
| OpenClaw | Anthropic Messages | 8,750 tokens |
| droid | Anthropic Messages | 13,500 tokens |
| Hermes | OpenAI chat | 18,000 tokens |
Pick a model whose window clears the floor with room for the conversation.
OpenClaw
Anthropic Messages wire. Needs Node 22.19 or newer — the common 22.14 default fails. Install it from docs.openclaw.ai.
{
"models": { "providers": { "conifer": {
"baseUrl": "http://127.0.0.1:8080",
"apiKey": "conifer-proxy",
"api": "anthropic-messages",
"request": { "allowPrivateNetwork": true },
"models": [{ "id": "<model-name>", "name": "Conifer", "contextWindow": 32768, "maxTokens": 8192 }]
} } },
"agents": { "defaults": {
"model": { "primary": "conifer/<model-name>" }
} }
}export OPENCLAW_CONFIG_PATH=/path/to/openclaw.json
openclaw chat --localSet contextWindow to your model’s real window. OpenClaw sizes its own truncation off the number you give it, so an invented one produces truncated turns rather than an error.
Hermes
OpenAI chat wire, from Nous Research. The upstream installer builds from source and pulls ffmpeg through Homebrew, which is why Conifer ships no recipe for it — run it yourself from the Hermes docs.
model:
provider: "custom"
base_url: "http://127.0.0.1:8080/v1"
default: "<model-name>"export HERMES_MANAGED_DIR=/path/to/config-dir # holds config.yaml
hermesHERMES_MANAGED_DIR names the directory holding config.yaml, not the file. This wire keeps the /v1 suffix.
Factory droid
Anthropic Messages wire. Install from docs.factory.ai/cli. droid takes its settings as a launch flag rather than an environment variable:
{
"customModels": [
{
"provider": "anthropic",
"baseUrl": "http://127.0.0.1:8080",
"apiKey": "conifer-proxy",
"model": "<model-name>",
"displayName": "Conifer"
}
],
"model": "custom:Conifer-0"
}droid --settings /path/to/conifer-droid-settings.json"model": "custom:Conifer-0" selects the first entry of customModels by its display name and index. Rename the entry and that selector has to change with it.
Or let the CLI write these
Every config on this page is the one Conifer generates itself. If you would rather not hand-maintain them, the CLI holds the same specs — see the agent catalog for what it knows and how to inspect it.