How Helmr works

Helmr runs JavaScript and TypeScript Agents in Linux Computers. You choose the harness, model, tools and work procedure inside the Agent. Helmr admits work, runs it one Turn at a time, keeps the Computer’s state across Turns and retains each outcome.

Resource What it is
Agent A deployed definition: a Computer recipe, optional init and a turn handler.
Computer A Linux working environment with a retained disk and running processes.
Session One continuing conversation with an Agent, pinned to a Deployment and a Computer.
Turn One admitted input and its terminal outcome. Turns in a Session run one at a time.
Project and Deployment A Project holds Environments; a Deployment is an immutable build promoted to be current in one Environment.

From code to a running Session

You define Agents and Computers in TypeScript, build them into a Deployment with the CLI and promote that Deployment in an Environment. Starting an Agent creates a Session and its first Turn. The Session gets a Computer, runs the Agent’s init once and then calls turn for each admitted input in order. Later inputs join the same Session. See Agents and Sessions.

A Turn can write output, ask a person a question and return a JSON result. A Turn is completed only after the Computer’s disk is saved durably. Between Turns, an idle Session can hibernate and resume without rerunning init. See Turns and Durability.

Work can also start from a cron trigger, from Slack or from another Agent through delegation.

Identity and retries

Operations address resources by ID. A Session key lets you find an existing conversation within an Agent; enqueue input using its Session ID to continue it. Creating another Session with an occupied key conflicts. An idempotency key identifies one request so an uncertain retry does not admit the work twice.

Data and credentials

Keep credentials in Secrets. Inputs, results, output, questions, answers and event history are retained application data and must not contain credentials. See Security.