Lloyal Labs Engineering AI's contact with reality.
Dispatch /
Getting started
August
2026

DispatchAugust 2026

Harness Development Kit

Ship local AI apps in TypeScript.

DeepSeek has just introduced a much wider developer audience to the harness as a first-class software layer.

Lloyal’s Harness Development Kit scaffolds one for you — with the model, agents, retrieval and runtime all shipping as part of an application of your own.

Local AI has mostly meant one of two things: using an application someone else built, or wiring your own stack around a local model server. What has been missing is a straightforward way to ship a cross-platform application with the intelligence inside the product — one your users can run privately, offline, and without an OpenAI or Anthropic subscription.

Nothing for your users to assemble. Nothing for them to subscribe to.

Imagine shipping an app where the intelligence is native to it — model runtime, agents and retrieval all just working, the way a database driver just works. No key to paste. No second process for your users to install. No monthly bill that grows with your success.

The gap between that and reality is one command.

One command

npx lloyal-ai new

You get a working TypeScript application. The guided scaffold asks you to choose three things:

  1. CLI, desktop and web surfaces
  2. The recommended bundled model, your own GGUF, or one to add later
  3. The harness template your application starts from

It installs dependencies, fetches and digest-verifies the model, and leaves you a codebase you own and can change. Node 24+, about a minute of installs, and a ~2.7 GB model on first run.

No API key. No Docker, Ollama, LangGraph or vector database.

Just your code and the model.

Inside generation, not around it

The scaffold is the smallest part of this. What makes the application different from a wrapper is where your code sits relative to the model.

The model’s execution becomes application state, so ordinary TypeScript governs how the intelligence retrieves, collaborates, acts, recovers and continues while it is running. Your code sits inside generation rather than around it.

The sharpest consequence: a candidate token can be checked before it becomes state. Malformed output does not have to be caught after the fact and retried — it can be refused before it is ever part of the conversation.

Agents share working memory

When your application delegates work, new agents fork from the model’s live state. They do not receive reconstructed prompts, or separate copies of what the calling agent already knows. Their inherited working memory stays physically shared while each agent develops its own continuation, and active agents advance together in one model dispatch per step.

Your application decides when agents split up, delegate and come back together. The number changes as the work unfolds.

In one run on a 16 GB MacBook, the application fanned out to eight agents over the same resident model. In the published frontier run, it fanned out to ten agents over a 239 GB open-weight model — GLM-5.2 at a 2-bit quant, on two B200s. Those are points reached during execution, not fixed configurations.

As RunPod CEO Zhen Lu put it:

Cost scales with the size of the cache, not the number of agents.

That session cost $16 in total — not per agent — and its traces, configuration and annexes are published. If you want the mechanism rather than the result, how working memory becomes agents on the GPU walks it down to the attention mask.

Give your agents new abilities

Install an Ability and the agents in your application gain new tools, sources, skills and supporting models. Install the Web Research Ability and they gain web search, page retrieval, reranking, and the procedure for using them together.

With it, five researchers can divide an investigation, each inheriting the exact state that produced its assignment. Because an Ability runs inside the harness — seeing the calling agent, its live state and its lineage, rather than the arguments an MCP server receives across a process boundary — it knows which agent is asking and what its siblings have already covered. They do not keep retrieving the same pages.

You can publish your own. npx lloyal-ai ability:new scaffolds one: a manifest, working tools, a skill template, and a live source you can wire to your own data or an external system. Abilities are signed npm tarballs distributed through a verified channel, and everything listed is reviewed for contract conformance, tool safety and signature provenance before publication.

Each one also publishes an attention surface — derived from the package at publication, signed, and inspectable without executing its code. You can read what an Ability puts in your model’s context before you install it.

One application, edge to frontier

The same harness runs:

  • offline as a single binary on a user’s device
  • privately as a service on your own hardware
  • online as a multi-session web application on frontier compute

Features and UX stay identical. Only the intelligence scales with the model and hardware you give it. That is not a coincidence of design — it is the same shape that carried Rails for two decades, and you already know this architecture.

Start with a working application

Two applications built this way, running now:

  • Artifact — the reference application
  • reasoning.run — an open source research tool that decomposes a question, researches it in parallel and writes one cited report
npx lloyal-ai new

Start with a working application. Ship it as your own.


The docs are at docs.lloyal.ai, the code at github.com/lloyal-ai.

↑