Wave — Agent Core

The agent console

This is the visible page for the Wave agent core — the small program the other Wave apps call when they need a reply. This console talks to the same core the other apps use, and it does not store anything itself. Nothing you type here is kept on this page; the only memory in the system is the core's, and you can wipe it below.

One honest limit

Opened inside the Muse app, this page lives at a different address than the core expects, so its live calls may be blocked there. The copy that can call the core directly is the Cloudflare one: wave-console.pages.dev. Everything on this page — the contract, the limits, how it works — reads the same in both places.

Is the core live?

One tap asks the core a simple question — are you there, and which model are you running? — and shows its answer.

Not checked yet

The contract, in plain words

A contract is just the core's menu card: send these things, you'll get this back, here are the limits. Every Wave app reads the same card, so none of them has to guess. Below the plain words is the same card written in JSON — the tidy, labeled format computers read.

You send
Three things, and only three: your waveId (your Wave name, like test~console), your message (the line you typed, up to 500 characters), and your firstModel (the name of what you're modeling, optional, up to 200 characters). Anything else sent along is ignored — no to-dos, messages, emails, files, or location ever leave the device.
You get back
A reply in words, your waveId echoed back so you know it's yours, and live — true when the reply really came from the model.
The model
The replies are written by Llama 3.1 — a language model made by Meta, in its smaller 8-billion size, run for us by Cloudflare. In the core's own words, its name is @cf/meta/llama-3.1-8b-instruct-fp8. It is one of many models in the world — not the same one as Muse or ChatGPT, just the same kind of thing: a pattern-reader for language.
Memory
The core remembers the last 6 exchanges under each Wave ID, so a conversation can continue. That memory can be wiped at any time — there's a wipe control below.
The cap
100 replies per day for each Wave ID, then it simply stops for the day. Wave runs on Cloudflare's free tier only, so hitting the cap never turns into a bill.
The words
POST means send a message in. GET means ask to see something. DELETE means wipe. A "call" is just one of those going out and an answer coming back.

Who may call the core

Only these Wave pages are on the core's allow-list. Any other page that tries is turned away.

morning-threshold.pages.dev wave-state-meter.pages.dev wave-composer.pages.dev wave-id.pages.dev wave-affirmations.pages.dev wave-organize.pages.dev wave-console.pages.dev — this page

The same contract, as JSON

{
  "name": "Wave agent core",
  "role": "conductor",
  "model": "@cf/meta/llama-3.1-8b-instruct-fp8",
  "endpoints": {
    "POST /agent": "Agent chat (alias of POST /voice, identical contract)",
    "POST /voice": "Voice chat (original route)",
    "DELETE /agent": "Wipe memory for one Wave ID (alias of DELETE /voice)",
    "DELETE /voice": "Wipe memory for one Wave ID",
    "GET /agent": "This contract",
    "GET /health": "{ ok: true, model }"
  },
  "inputs": {
    "waveId": "wave~form, e.g. andrew~walsh",
    "message": "the typed line, max 500 chars",
    "firstModel": "first model name, optional, max 200 chars"
  },
  "outputs": {
    "reply": "string",
    "waveId": "string",
    "live": true
  },
  "boundary": "Only waveId, message and firstModel leave the device.",
  "memory": "Last 6 exchanges stored under the Wave ID. Per-Wave-ID cap: 100 replies/day."
}

Try the core

Type a line, send it to the core, and see exactly what went out and what came back. This is the same call Composer and the other apps make.

The test ID is test~console, a practice name that belongs to no one. Your real Wave ID is never filled in for you — use it only when you type it yourself, so test lines never land in your real memory.

0 / 500

What was sent


      

What came back

Wipe the core's memory

The core remembers the last 6 exchanges under a Wave ID. Wiping clears that ID's memory completely — the conversation starts fresh next time. It touches nothing else: not your profile, not any other ID.

Are you sure?

This wipes the remembered exchanges for test~console from the core. It can't be undone — the memory is gone, not hidden.