Add wakeword command routing and the reply-only agent client

This commit is contained in:
Fisto
2026-09-22 09:23:11 +02:00
parent a4d61781e9
commit d99d614c60
14 changed files with 399 additions and 34 deletions
+23 -3
View File
@@ -33,8 +33,23 @@ double replies and keeps privileged actions out of model reach.
| Auth | `VESKSLOP_AGENT_TOKEN` bearer token on the task endpoint. |
| Budget | `VESKSLOP_AGENT_MAX_STEPS` (default 16). Per-task wall clock: 5 minutes. |
The harness receives tasks on `POST /task`. The daemon will push them (not implemented yet; the
scaffold accepts manual pushes). The task body:
The harness receives tasks on `POST /task`. The daemon pushes them when `VESKSLOP_AGENT_ENABLED=1`
is set: a trusted free-form message (no wakeword) becomes a task, and the harness returns the reply
text. The daemon sends that text through the normal paced path, so the action log and the response
policy still apply.
**Respond-only mode.** The daemon sends `"mode": "respond"` in the task body. The harness must
answer with one completion and no tool calls, and it must return `{"reply": "..."}` in the HTTP
response. Tool calling waits for a later stage.
| Variable | Meaning |
| --- | --- |
| `VESKSLOP_AGENT_ENABLED=1` | Turn the daemon-side push on. Default off. |
| `VESKSLOP_AGENT_URL` | Harness base URL. Default `http://127.0.0.1:8790`. |
| `VESKSLOP_AGENT_TOKEN` | Optional bearer token for `POST /task`. |
| `VESKSLOP_AGENT_TIMEOUT_MS` | Request timeout. Default 120000. |
The task body:
```json
{
@@ -74,7 +89,12 @@ binds localhost.
Scaffold implemented in `agent/` and smoke-tested on 2026-09-14: it loaded 28 tools from the
daemon, ran one ReAct tool round against a fake OpenAI-compatible endpoint, and produced the final
message. Daemon push, tests, and the remote notification tools are pending.
message.
The daemon side is in place (2026-09-22): the wakeword separates commands from chat, and
`AgentClient` posts free-form tasks in respond-only mode. The Go harness still needs the
respond-only `mode` branch and the reply response. The Go toolchain is not installed on the
current host, so the harness change waits for it. Remote notification tools are still pending.
## Run the scaffold