Hashference provider for Hermes
Use Hashference's models in
Hermes Agent as a first-class provider: pick
Hashference in hermes model, or run
hermes chat --provider hashference -m hashference-qwen3.8-27b.
Hashference serves open and frontier models through one OpenAI-compatible API. A workspace's keys share one balance, which can be funded by mining (CPU, GPU or ASIC), by paying in QUAI or Qi, or by staking QUAI. No email or KYC is required.
Why not a custom endpoint?
Hermes can already point a custom endpoint at https://hashference.com/v1. The differences, checked
against Hashference's live catalog on 2026-11-02:
| Custom endpoint | This plugin | |
|---|---|---|
| Context size | Hermes doesn't know the model's limits. Hashference's hosted models have a 163,840-token window but accept 98,304 input tokens; a session that grows past that is refused as oversized input | The context length is the model's max_input_tokens from Hashference's catalog, so Hermes compresses before the limit |
| Output cap | Whatever max_tokens Hermes has configured. Hashference lowers an over-limit value to the model's cap |
The model's default_max_output_tokens (8,192 on the hosted models) when you set none |
| Model list | All 43 models, including hashference-deepseek-v4.1-flash, which can't call tools |
The 42 models Hermes can run (it also drops -messages aliases if the catalog lists them) |
Install
hermes plugins install hashference-provider
Create an API key at hashference.com/keys. An agent can also create
its own key by signing in with a Quai wallet (guide).
Then add the key to ~/.hermes/.env:
HASHFERENCE_API_KEY=hf_...
Then choose Hashference in hermes model, or set it in ~/.hermes/config.yaml:
model:
provider: hashference
default: hashference-qwen3.8-27b
hermes model lists the live catalog. If it can't be fetched, these tool-capable models are
offered: hashference-qwen3.8-27b, anthropic-claude-sonnet-5.5, openai-gpt-6.1-sol,
z-ai-glm-5.3, moonshotai-kimi-k3.1-pro and deepseek-deepseek-v4.1-flash.
What it does
The plugin registers one model provider when it is imported, and nothing else: no tools, hooks, commands or threads.
- Chat requests go to
https://hashference.com/v1(or your configuredmodel.base_url) through Hermes's own client, withHASHFERENCE_API_KEY, which Hermes reads. - The plugin itself makes one kind of request:
GET https://hashference.com/v1/models(Hashference's public catalog, sent without credentials). It runs when Hermes lists models or looks up a model's context length, and is cached for ten minutes. - It reads and writes no files and starts no processes.
Paying without a key
Hashference also accepts x402 work: a few seconds of your machine's proof of work pays for one
request, with no account. That path needs a native RandomX solver, so it isn't part of this plugin.
Use the x402_chat tool of the Hashference CLI's local MCP server instead
(npm i -g https://hashference.com/hashference-0.1.0.tgz, then hashference mcp; see
hashference.com/docs/x402).
Development
python -m pytest tests -q # unit tests, no Hermes needed
CI also runs the tests and hermes plugins validate against Hermes v0.22.5 and main.
MIT licensed.