Ocalt for

Ocalt for AI

Any model with network access becomes an agent that writes code, runs it on your own machines, reads what broke and fixes it. No desktop tool to install, no plugin, no per-editor integration: one API key and one language. Let it spawn servers on demand, track and control your devices, read your emails and trigger actions halfway across the world when it finds a specific phrase, or automatically adjust hardware the moment the weather turns hot. Have it pull live maps and geolocation data, plot routes, watch for movement in a specific area, or react the second someone enters a geofence. One language, full system access - so your AI doesn’t just talk about doing things, it actually does them.

One language is the whole point

A model that can call twenty APIs has to be taught twenty schemas, twenty auth models and twenty failure modes - and it will get one of them wrong. A model that can write OcaltQL has to be taught one grammar. Reading an inbox, moving a file across a continent, restarting a machine and drawing a chart of the result are the same language, in one script, executed in one request.

Agency, not suggestions

The gap between an assistant and an agent is whether the output does anything. OcaltQL output does. A model emits a script; the script runs; the machine reboots, the invoice files itself, the gate opens. There is no orchestration layer in between for the model to get wrong.

Bounded by design

Every script runs inside one namespace. A model can only read and write /root and /mounted, and can only address machines that account has registered. The blast radius of a hallucinated script is the account that wrote it - which is what makes handing a model real execution reasonable in the first place.

An agent that codes, on your machines

The agentic coding tools people install run on one laptop and stop at its edge. A model holding an OcaltQL key reads and writes files, opens a shell on any machine you have registered, runs the build, reads the failure and corrects it - on your workstation, your server, or a box in another country, through the same four verbs. FILE READ and FILE WRITE for the code, DIRECTIVE EXEC for the build, SUBDOMAIN ADD to put the result online.

It starts projects, not just patches

Give it a description and it can lay a project out from nothing: create the folders, write the files, install what it needs, start the process, claim an address and serve it. A working URL at the end of one conversation, on infrastructure you own.

Work that continues without you

A prompt ends when the reply does; a schedule does not. STARTING and EVERY hand the model a slot in time: run the tests at 02:00, watch the queue every minute, rebuild whenever a file changes, and report what it found. The agent keeps its own hours.

The whole capability set, not a toolbox

Whatever the model reaches for is already a verb. Databases, email, HTTP, media, 3D and CAD, PCB, simulation, payments, maps, machines and the devices attached to them - one grammar, one auth, one failure model. Nothing to wrap, nothing to keep in sync, no tool definitions to maintain as the surface grows.

A worked shape

Ship a fix to a real machine and put the result online - written by a model, in one script, with no glue.

In practice

(* the model reads the code, changes it, builds it, and ships it *)
FILE READ "/root/app/server.js" SET ?src
AFTER STRING REPLACE ?src ALL "listen(3000" WITH "listen(8080" SET ?fixed
AFTER FILE WRITE ?fixed TO "/root/app/server.js"
AFTER DIRECTIVE "build-01" EXEC "cd /srv/app && npm test" SET ?test
AFTER IF ?test("exit_code") IS EQUAL TO 0
OPEN
  DIRECTIVE "build-01" EXEC "cd /srv/app && npm run deploy" SET ?out
  AFTER SUBDOMAIN ADD "app" AT "/root/app" SET ?site
  AFTER NOTIFICATION "shipped: " & ?site("url")
CLOSE
OR
OPEN
  NOTIFICATION "tests failed, not shipping: " & ?test("stderr")
CLOSE

Turn any model into an engineer with hands

  1. Get an API key. accounts.ocalt.com → API. The key is a password substitute for API traffic and is rotatable without changing your password.
  2. Give the model the grammar. Every verb, slot and worked example is at ql.ocalt.com. It is one document, and it is the whole language - there is no second SDK to learn.
  3. Let it run one script. POST to https://ql.ocalt.com/api with identity, password and q. The response is the output, byte for byte.
  4. Point it at real work. The same key that runs one line runs a project: read a repository, write files, run the build, read the errors, fix them, deploy the result - on your machine or your server, not in a sandbox that forgets.
  5. Let it keep working while you sleep. STARTING and EVERY put a script on a schedule, so the model’s work carries on without a prompt to start it.
  6. Bound it before you widen it. The model can only touch the namespace whose key it holds, and only the machines that account has registered. Give it its own account first.
curl https://ql.ocalt.com/api \
  -d identity=you@example.com \
  -d password=YOUR_API_KEY \
  --data-urlencode 'q=EMIT "the model is connected"'

Every plan, including Free, carries the whole language. Open the console, read the documentation, or see what a plan costs.