Developers
With the box
The box advertises itself with mDNS and serves an OpenAI-compatible endpoint. Any app that can talk to a chat completions API can use the household's model without leaving the network. Requests are attributed to the person or agent that made them.
curl http://woven.local/v1/chat/completions \
-H "Authorization: Bearer $WOVEN_TOKEN" \
-d '{
"model": "household-default",
"messages": [{"role": "user", "content": "Summarise the lease in Files/Home"}]
}'
# → served inside; a Gate crossing would require an approval the caller cannot grantAvailable now
Devices and services are exposed as typed capabilities, never as raw vendor calls. An action is prepared, optionally approved, executed with an idempotency key, then verified against the device before a receipt is written.
POST /v1/actions/prepare
{ "actor": "agent:sweep", "capability": "robot.clean",
"target": "robot.living_room", "parameters": { "rooms": ["kitchen"] } }
→ { "action_id": "act_8f2", "risk_class": "B", "approval_required": false,
"preview": "Clean the kitchen with Sweep", "expires_at": "…" }
POST /v1/actions/act_8f2/execute
Idempotency-Key: 5a1c…
→ { "execution_id": "exe_41", "status": "running" }
GET /v1/executions/exe_41
→ { "planned_state": {…}, "observed_state": {…},
"verification": "ok", "receipt_id": "rcp_77" }Class D and above (locks, purchases, admin) return an approval requirement that only a household member can satisfy from the app or the screen. There is no token scope that bypasses it.
With the box
An agent is a container with a manifest. The manifest names the capabilities and namespaces it wants; the household grants a subset; the box issues short-lived credentials for exactly that subset. Revoking the agent invalidates them.
# woven-agent.yaml
name: grocer
description: Reorders staples under a limit you set
runtime: openclaw@2
requests:
capabilities: [commerce.order, list.read]
namespaces: [household.shopping]
limits:
spend_per_order_usd: 50
merchants: approved_only
receipts: requiredAgents cannot read each other's memory, cannot reach the camera or voice pipelines, and cannot call the network except through capabilities they were granted. Skill marketplaces are curated and signed.
With the box
Robots use the same endpoint for high-level tasks and for inference against the household world model. Safety and motor control stay on the robot. Woven records when a remote human operator is connected and enforces no-go zones the household has set.
With the box
Home Assistant runs inside the box. Existing integrations, automations and dashboards carry over. Woven adds the identity, permission and receipt layer on top, so an automation that unlocks a door still needs a household member's approval the first time.