diff --git a/docs/PLAN-INTERFACE.md b/docs/PLAN-INTERFACE.md index 1493ebc..f9d774b 100644 --- a/docs/PLAN-INTERFACE.md +++ b/docs/PLAN-INTERFACE.md @@ -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 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. + +### 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/`. 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.