Ocalt for AI
Train your AI on OcaltQL and give it real agency. 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.
A worked shape
Watch an inbox, act on what arrives, and tell a machine on the other side of the world about it — one script, no glue.
In practice
NEW EMAIL IMAP ?acc("imap_host") WITH ?pw AS ?acc("address") SET ?conn
AFTER EMAIL ?conn SEARCH "urgent" SET ?hits
AFTER FOREACH ?hits SET ?msg
OPEN
IF ?msg("subject") CONTAINS "site down"
OPEN
DIRECTIVE "edge-01" EXEC "systemctl restart nginx" SET ?out
AFTER NOTIFICATION "restarted edge-01: " & ?out("exit_code")
CLOSE
CLOSE
Get a model writing OcaltQL
- Get an API key. accounts.ocalt.com → API. The key is a password substitute for API traffic and is rotatable without changing your password.
- 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.
- Let it run one script. POST to
https://ql.ocalt.com/apiwithidentity,passwordandq. The response is the output, byte for byte. - Bound it before you widen it. The model can only touch the namespace whose key it holds. 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.