Write down exactly what a person must do to use Headroom, both paths
This commit is contained in:
@@ -720,3 +720,54 @@ Earlier notes in this file said "software is not installed". That was wrong: Mou
|
|||||||
**hosted API**, not a program. What exists here is `MOUSE_API_KEY`; what is missing is a client
|
**hosted API**, not a program. What exists here is `MOUSE_API_KEY`; what is missing is a client
|
||||||
integration — an HTTP call like any other. No install is needed, and nothing has to run locally.
|
integration — an HTTP call like any other. No install is needed, and nothing has to run locally.
|
||||||
The old project's policy still applies: triage only, never a gate, never a permit.
|
The old project's policy still applies: triage only, never a gate, never a permit.
|
||||||
|
|
||||||
|
### Headroom: what the person has to do
|
||||||
|
|
||||||
|
**Path A — the tool. Nothing to configure.** `headroom-ai` is installed for Pi on `.13`, `.27` and
|
||||||
|
`.51`. To give it to one agent:
|
||||||
|
|
||||||
|
1. `Agents>agents` → `)` to the **extensions** tab.
|
||||||
|
2. `↑`/`↓` to `headroom-bridge`, press `space`. That writes a wrapper for that agent and sets its
|
||||||
|
command; no other agent changes.
|
||||||
|
3. Run one task with that agent, then read the run log in `Agents>agents`: the tool call
|
||||||
|
`compress_for_agent` appears with the token numbers before and after.
|
||||||
|
|
||||||
|
**Path B — the provider. One file in the headroom container.** Headroom is started from
|
||||||
|
`~/Docker/Containers/headroom/docker-compose.yml` with no config mount. Add one:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
headroom:
|
||||||
|
image: ghcr.io/chopratejas/headroom:latest
|
||||||
|
container_name: headroom
|
||||||
|
restart: always
|
||||||
|
command: --port 8787 --no-telemetry
|
||||||
|
ports: ['8787:8787']
|
||||||
|
volumes:
|
||||||
|
- ./headroom-config.yaml:/app/config.yaml:ro
|
||||||
|
environment:
|
||||||
|
- LITELLM_CONFIG=/app/config.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
and a `headroom-config.yaml` beside it that teaches LiteLLM the router's models:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
model_list:
|
||||||
|
- model_name: deepseek/deepseek-v4-flash
|
||||||
|
litellm_params:
|
||||||
|
model: openai/deepseek-v4-flash
|
||||||
|
api_base: http://192.168.20.13:20129/v1
|
||||||
|
api_key: os.environ/OMNI_KEY
|
||||||
|
- model_name: auto/best-fast
|
||||||
|
litellm_params:
|
||||||
|
model: openai/auto/best-fast
|
||||||
|
api_base: http://192.168.20.13:20129/v1
|
||||||
|
api_key: os.environ/OMNI_KEY
|
||||||
|
```
|
||||||
|
|
||||||
|
then restart the container. After that, add a provider in `~/.pi/agent/settings.json` pointing at
|
||||||
|
`http://192.168.20.13:8787/v1`, and set one agent's model to `headroom/<model>`. That is the path
|
||||||
|
the earlier test was trying, and it fails today only because LiteLLM does not know those ids.
|
||||||
|
|
||||||
|
**What the person does:** choose A or B. A needs no file edits. B needs the two files above and a
|
||||||
|
container restart, and then one agent's model changed.
|
||||||
|
|||||||
Reference in New Issue
Block a user