From d68be3f4990071289fde0f0ce0df9b83ec7a7983 Mon Sep 17 00:00:00 2001 From: h Date: Sun, 6 Sep 2026 23:31:50 +0200 Subject: [PATCH] docs(readme): drop the voice points section --- README.md | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/README.md b/README.md index 1c7c2e3..1bb266f 100644 --- a/README.md +++ b/README.md @@ -94,38 +94,8 @@ Everything is on one port under its own path; Caddy forwards the whole domain as - any Anthropic client: `http://localhost:62990/anthropic` or `https:///anthropic`, model = agent name (`beaver-opus-high` etc) - MCP clients (Claude Desktop, Raycast extension): `/mcp//`, discovery page at `/mcp/` - Obsidian companion plugin: `/md` as the plugin's "Base URL", `/api` for the panel -- voice points around the flat: `POST /voice/` with a key of scope `voice` (see below) - **Admin UI:** `http://localhost:62990/` or `https:///`, login from `ADMIN_USER` / `ADMIN_PASS` -## Voice points (`beaver_agent/voice/`) - -ESP32 boxes with microphones around the flat, built by a neighbour, post -their own JSON and get an answer back: - -```sh -curl -X POST https:///voice/ -H "X-Api-Key: " -d '{ - "room": "andreii", "device": "esp32-1", - "request_id": "3fd0d6ed-...", "content": "ало клод как дела"}' -{"request_id":"3fd0d6ed-...","room":"andreii","device":"esp32-1", - "reply":"живу, слушаю","conversation":"…"} -``` - -`"stream": true` in the body answers `text/event-stream` instead: `delta` -frames with pieces of the text, `done` with the same body as above. - -- **One branch for the whole flat**, titled 🎤 Голосовой, so Telegram gives - it a topic under that name: what was asked and what was answered is - readable there, and writing in that topic talks to the same agent. - A cron at 04:05 starts the branch over in the same topic, the way the - master rotates; a day nobody spoke in is left alone. -- **Its own agent** (`beaver-voice`, haiku): `cwd=/tmp`, no tools, no MCP - hands, no gateway tools, and a prompt that ships in this repo instead of - the vault. A stranger may be standing at the speaker, so the agent has - nothing to leak rather than instructions not to - and `Recall`/`ReplyLog` - are muted for it, so the envelope never hands it pointers into the vault. -- **Its own keys**: scope `voice` (Tokens → Create), which opens nothing - else - not `/api`, not the panel, not the token page. - ## Exposing to the internet `caddy/site.caddy` holds the routes (one `reverse_proxy`, domain from `BEAVER_DOMAIN`); on a shared server it is bind-mounted into that server's Caddy as `projects.d/beaver-agent/`, on its own box `caddy/docker-compose.yml` runs a Caddy around it. @@ -186,9 +156,7 @@ pieces live in `beaver_agent/`, one concern per module: - `agents.py` - the roles (dispatcher, deep, distiller, curator, triage, raycast) and the list of instances with models and effort - `frontends.py` - the windows: Telegram for master and branches, vault - files for deep chats, `/api`, `/admin`, `/anthropic`, `/mcp`, `/voice` -- `voice/` - the voice points: the window, the branch and its nightly - rotation, the prompt the cheap agent runs on + files for deep chats, `/api`, `/admin`, `/anthropic`, `/mcp` - `texts.py` - everything the gateway says to the model or to the user, in Russian (the gateway's own defaults are English) - `memory/` - the recall block under a message, the reply log, handouts