Add the agent scaffold, mobile web UI, voice auto-leave, and text notifications

This commit is contained in:
Fisto
2026-09-14 16:38:14 +02:00
parent c7aad7547f
commit eab94132bb
27 changed files with 1521 additions and 73 deletions
+43
View File
@@ -0,0 +1,43 @@
# Veskslop agent
The local LLM harness. Go + [Eino](https://github.com/cloudwego/eino), a remote `llama.cpp`
endpoint, and the daemon's MCP tools. Disabled by default.
Design, safety rules, task payload, and the two consumer paths (local harness and remote agents):
[docs/agent.md](../docs/agent.md).
## Build and run
```sh
go build -o veskstop-agent .
VESKSLOP_AGENT_ENABLED=1 \
VESKSLOP_AGENT_LLAMA_URL=http://llama-host:8080/v1 \
VESKSLOP_AGENT_MODEL=your-model \
VESKSLOP_AGENT_MCP_URL=http://127.0.0.1:8788/mcp \
./veskstop-agent
```
One-shot task without the HTTP listener:
```sh
VESKSLOP_AGENT_ENABLED=1 ... ./veskstop-agent --task "Who is in the call right now?"
```
## Environment
| Variable | Default | Purpose |
| --- | --- | --- |
| `VESKSLOP_AGENT_ENABLED` | off | `1` starts the harness. The kill switch. |
| `VESKSLOP_AGENT_LLAMA_URL` | `http://127.0.0.1:8080/v1` | OpenAI-compatible base URL. |
| `VESKSLOP_AGENT_LLAMA_KEY` | `sk-no-key-required` | API key for the endpoint. |
| `VESKSLOP_AGENT_MODEL` | `local-model` | Model name sent to the endpoint. |
| `VESKSLOP_AGENT_MCP_URL` | `http://127.0.0.1:8788/mcp` | Daemon MCP endpoint (Streamable HTTP). |
| `VESKSLOP_AGENT_LISTEN` | `127.0.0.1:8899` | Task receiver listen address. |
| `VESKSLOP_AGENT_TOKEN` | unset | Bearer token for `POST /task`. Required off localhost. |
| `VESKSLOP_AGENT_MAX_STEPS` | `16` | ReAct loop step cap. |
| `VESKSLOP_AGENT_SYSTEM` | built-in | System prompt override. |
## Status
Scaffold. Task push from the daemon, tests, and the tool allowlist are pending. See the TODO.