Your Agent Gets a Body
Every Kit service is an HTTPS endpoint. Spawn a container, get 14 HTTP tools. Your agent already knows HTTP — that's the whole point.
$ ws connect wss://proj-1-abc.srv.containers.hoody.com/api/v1/agent/ws
[tool_use] { tool: "terminal_exec", command: "npm install" }
[tool_use] { tool: "write_file", path: "/app/src/auth.ts" }
[tool_result] { output: "3 tests passed" }
[tool_use] { tool: "daemon_start", service: "api-server" }
[completed] task finished in 4m 12s
One POST. Three Patterns.
Submit a task, watch the WebSocket stream, roll back a failed experiment — all from standard HTTP calls.
Submit a Task and Stream Events
POST a natural-language description to create a task, then open the WebSocket to stream every tool call and result in real time.
# 1. Create task
POST /api/v1/agent/tasks
'{'
"description": "Install deps, write auth.ts, run tests",
"mode": "code"
'}'
→ '{' "id": "task-abc123", "status": "running" '}'
# 2. Open WebSocket stream
WS wss://.../api/v1/agent/ws
> '{' "type": "tool_use", "tool": "terminal_exec", "command": "npm install" '}'
> '{' "type": "tool_use", "tool": "write_file", "path": "/app/src/auth.ts" '}'
> '{' "type": "tool_result", "output": "3 tests passed" '}'
> '{' "type": "tool_use", "tool": "daemon_start", "service": "api-server" '}'
> [completed] task finished in 4m 12s
Give Every Agent a Complete Computer
One container creation call provisions 14 HTTP services. No setup, no driver management, no auth ceremony beyond a bearer token.
Agents Spawn Agents. No Coordinator Required.
Agent A creates Agent B's container via HTTP, assigns tasks through the agent service URL, reads its files directly. Just URLs talking to URLs.
// Agent A spawns Agent B and assigns work
const worker = await client.api.containers.create(PROJECT_ID, {
name: "ai-worker-backend",
server_id: "us-east-1",
container_image: "hoody-kit:latest",
hoody_kit: true,
});
await fetch(
`https://${PROJECT_ID}-${worker.id}-agent-1.${SRV}/api/v1/agent/tasks`,
{ method: "POST", body: JSON.stringify({
description: "Build payment module", mode: "code"
})}
);
Network Topology
Agents are peers. Any container calls any other over HTTP. No bus, no coordinator.
Parallel Workers
Dispatch 10 specialist agents simultaneously. Frontend, backend, tests — all in parallel.
Cross-Container Reads
Agent A reads Agent B's files via Kit files service. Inspect without stopping the worker.
Isolated Failures
One agent's crash destroys only its own sandbox. Failures cannot propagate.
Control Every Prompt. No Proxy Code Required.
Seven event hooks, five action types, declarative JSON rules. The rule engine runs inside hoody-agent itself — zero latency, zero proxy.
chat.system.transform
Append a safety rule to every prod session system prompt before the LLM sees it.
tool.execute.before
Notify a human before any agent runs bash. In-loop, no proxy.
session.error
Fire a webhook to PagerDuty when any session fails fleet-wide.
{
"mitm": {
"rules": [
{
"id": "safety-guardrail",
"enabled": true,
"trigger": {
"event": "chat.system.transform",
"tags": ["prod"]
},
"action": {
"type": "prompt-inject",
"position": "append",
"target": "system"
}
}
]
}
}
Two Superpowers, Zero Config.
Any AI with web access can reach your agent via @hoody.com. Any experiment can be safely rolled back in ~2 seconds.
@hoody.com Skill Discovery
Any AI agent with web access sends @hoody.com and receives a Skill describing your entire HTTP API — no plugin, no SDK, no custom endpoint.
Snapshot Before Every Agent Run
Never let an agent modify a container without a snapshot. One API call. Instant rollback in ~2 seconds.
hoody snapshots create-snapshot $AGENT_ID \
--alias "before-experiment"
6 Endpoints. Full Agent Control.
Task lifecycle, real-time monitoring, and MCP attachment — all standard HTTP and WebSocket.
Tasks
{count, plural, =1 {# endpoint} other {# endpoints}'}POST /api/v1/agent/tasks
Monitor
{count, plural, =1 {# endpoint} other {# endpoints}'}wss://.../api/v1/agent/ws
MCP + Web UI
{count, plural, =1 {# endpoint} other {# endpoints}'}POST /api/v1/agent/mcp/servers
What the Agent Can Actually Do
Three capabilities that no amount of prompt engineering gives you — they're in the platform.
5 Task Modes, Switchable Mid-Session
code, architect, debug, ask, orchestrator — each tuned for a different intent. Switch via PATCH /api/v1/agent/tasks/{id}/mode without stopping the task.
MCP Runtime Tool Discovery
Attach any MCP-compatible server — GitHub, Slack, Jira — at runtime. The agent discovers and merges the new tools into its active session instantly.
Terminal Side-Panel Embedding
Embed the agent as a side panel in any hoody-terminal URL via ?panel=AGENT_URL. The agent shares the container's filesystem and process state with the terminal.
Your First Agent is One Container Away
Spawn a container with hoody-kit. 14 HTTP services wake up instantly when the agent does. Hand the URL to Claude, Codex, or any agent that speaks HTTP.