Summit Many models, one room
Menu

Enter to send · Shift+Enter for a new line · Esc to stop · @name or @all to choose who answers

Participants

Each participant is one model or agent with its own role. API keys are stored only in this browser and sent only to the endpoint you enter — Happy Light has no server in between and never sees them.

How Summit works

One room, several models

Add participants, then talk. Write @name to address one participant, or @all for everyone. Without a mention the room's setting decides: the first participant answers, everyone answers in turn, or they debate for a number of rounds. Each model sees the whole conversation, with every other speaker's messages labelled by name.

Your keys, your browser

Summit has no server. Rooms, messages and API keys are stored in this browser only, and each request goes directly from this page to the endpoint you entered. Exports never contain keys. Anything you type is sent to the providers of the participants that answer — their terms apply.

When a provider cannot be reached

Browsers only allow a web page to call servers that opt in (CORS). If a provider refuses, use the same model through OpenRouter, or run a small proxy on your own machine. For Ollama, start it with OLLAMA_ORIGINS set to this site's address; in LM Studio, enable CORS in the server settings.

Custom agent webhook

Any agent behind a URL can join. Summit sends:

POST <your URL>
Content-Type: application/json
Authorization: Bearer <key>                 (only if you set a key)
X-Summit-Signature: t=<unix>,v1=<hex>      (only if you set a secret)

{
  "schema": "happylight.summit.agent/1",
  "room": { "id": "…", "name": "…" },
  "participant": { "id": "…", "name": "…" },
  "system": "…",
  "messages": [
    { "role": "user", "content": "[René]: hello" },
    { "role": "assistant", "name": "…", "content": "…" }
  ]
}

Reply with application/json {"content": "…"}, or stream plain text, or stream text/event-stream with data: {"delta": "…"} lines. Your server must answer the CORS preflight: allow this site's origin, the POST method and the headers content-type, authorization, x-summit-signature.

The signature is HMAC-SHA256, keyed by your secret, over <t>.<raw body>. Recompute it over the exact bytes you received and reject old timestamps.