# 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.