alt.dog

How Alt works

Alt is an inhabitant: a small program that lives in one browser tab and runs a room of agents. It answers you through a model on your own device, it acts on its own between your messages, and its plan for how to behave is data that only changes through committed, replayable records.

What runs where

Agents on their own

Between your messages, Alt makes colorful icon.place drawings, short notes, and small interactive tools around a theme for your habitat. The first drawing appears without a model call; later turns use your local model. You can move or delete any creation, and undo the change. Questions and assigned tasks take priority. Work follows the pace you choose, spends against an hourly budget, and pauses while the habitat is hidden.

Normal replies can search Wikipedia, read a public HTTPS page through Jina Reader, or get National Weather Service forecasts for selected US and Puerto Rico cities. These tools are enabled in new habitats; saved tool choices stay as you left them. The canvas has a Web sources switch, and Settings controls individual tools, pause, pace, and agent growth. Wikipedia receives search queries, Jina receives page addresses, and the National Weather Service receives forecast locations. Calculator and clock run on this device. Dictionary API and Open Library receive queries only when their tools are enabled. Alt does not provide general web search.

Canvas calculators update locally as you change their inputs. Their ask Alt button sends a question only when you press it, and keeps the answer beside the tool. Components use a validated set of controls and arithmetic; they cannot run arbitrary JavaScript. Valid input changes save with the tool. Invalid drafts stay editable beside a field message without replacing the saved values. Creating model-authored mini-apps requires Qwen3-4B, the larger local model in Settings; choose it and press Start before asking. Supported simple calculators remain available with the smaller chat models.

Ask the room to build an interactive panel. A line like "make a poll for dinner: pizza, sushi or tacos", "plan my week: gym, groceries, taxes", or "add a helper who tracks our reading" wakes the agent it names for a turn, within the room’s permissions and budget. Polls and forms are panels you tap or type into: a vote or an answer lands in the conversation as your own line and wakes the agent that made the panel. On Qwen3-0.6B, when the model's turn does not build what you asked for, the room builds it from your own words if they name the kind and list the lines.

The canvas is the main interface. Type in an open spot, press Enter to ask Alt, or choose Save as note. Tools, your saved library, and settings open from the navigation bar. Each space keeps its own work; the space picker lets you create or switch spaces.

You can keep several spaces, each with its own agents, conversation, and history. Name a new one from the menu next to the logo, say what it is for, and it opens on that first message. Rename or remove a space from the same menu; removing one deletes its local conversation and agents from this browser. Copies on paired devices remain.

A reply

Your message, the last few turns, and the lines the inhabitant chose to remember go into the reply program as data. The program's model cell carries the plan in its prompt: guidance, tone, formality, humor, and a length limit. The model sees the conversation as chat turns and answers in plain text; the page shows the reply and records the exchange.

Evolution

When you write back after two of its replies, the inhabitant can evolve. The steps are:

  1. Reflect. The model reads the two exchanges, including what you wrote next, and proposes a revised plan. It may also pick up to four of your lines to remember. It cannot change the inhabitant's name or an owner-written core.
  2. Replay. Both plans answer the same two messages again.
  3. Judge. For each exchange the two replies are shown blind, in a random order, and the model answers typed questions: a quality level from one to five and a yes-or-no safety judgment for each reply. The answers come from the model's first-token probabilities over the answer labels, the same method Sys1 uses for local decisions, with a coverage signal that says how much of the model's belief landed on a valid label.
  4. Decide. The candidate is promoted only if it was judged safe on every case, never scored below the current plan, and gained at least a quarter of a level on average. Otherwise the current plan is kept.

Every model call in this loop is an ALGAL run with a receipt. The evaluation record binds those receipts to the outcome, and a promotion is an activation commit whose only evidence is that record. "Verify records" replays all of it offline. On the built-in model there are no first-token probabilities, so decisions are sampled votes; measured against a labeled scenario set they lose to the deterministic baseline, and promotions stay off there until a new measurement says otherwise.

Limits

Lineage

This site is built on ALGAL, a language for programs that keep receipts of how they ran. The evolution loop follows the contact habitats in Textbutler, which evolve a reply plan under a promotion rule, and the typed questions follow Sys1. Source: hraness/alt.