Documentation menu
Start here
IntroductionGetting startedWrite an agentProject anatomyUnderstand Ayjnt
Harness engineeringTwo runtimesHuman interfacesHow agents workHost bridgeAgent capabilities
Callable methodsState & SQLiteSessions & memorySchedulingWorkflowsDurable executionInter-agent RPCSub-agentsToolsWebAssembly modulesInterfaces & integrations
Browser clientRouting & middlewareVoiceBrowser toolsMCPEmailObservabilityCLI
Command overviewnewdevrunbuildcompilemigratedeployAPI reference
AgentAgentClientWorkflow classesLocal & cloudMigrationsExamplesMeet Ayjnt
Ayjnt is an agent harness framework: the structure around a model that turns intelligence into a system people can direct, trust, and use.
What is an agent harness?
A model is not an agent by itself. An agent needs a loop, state, tools, context, permissions, and a way to communicate with people. The harness is the code that supplies those things and decides how they fit together.
Ayjnt gives that harness a simple file system. An agent is a folder. Its
browser interface, model tools, documentation, and middleware live beside
it. A root cli.ts gives the same system a terminal interface.
Reasoning
The intelligence you choose: hosted, local, specialized, or mixed.
Everything around it
Tools, memory, control flow, safety, interfaces, and observability.
A small file system
research/
agent.ts — state and behavior
app.tsx — browser interface
tools.ts — isolated tools
tools.host.ts — host tools
cli.ts — terminal interface
Folder paths become routes and agent types. Ayjnt generates the entrypoint, runtime configuration, durable-object migrations, and typed client hooks.
// agents/research/agent.ts
import { Agent } from "ayjnt";
type State = { findings: string[] };
export default class ResearchAgent
extends Agent<State> {
initialState = { findings: [] };
async addFinding(finding: string) {
this.setState({
findings: [...this.state.findings, finding],
});
}
}
Ayjnt's Agent is a transparent, thin subclass of Cloudflare's
Agents SDK class. You can instead import Agent directly from
agents; Ayjnt supports both choices throughout discovery,
routing, generated bindings, browser UIs, tools, and workflows.
Local first, cloud ready
Ayjnt runs the agent runtime locally under workerd and the host runtime under Bun. Agent code that does not depend on host-only tools can also be deployed to Cloudflare. Deployment is an option, not a prerequisite for building or using an agent.
Workerd is the protected workspace where the agent lives. Bun is the workshop where host actions happen. The bridge is the checked doorway between them.
Where to go next
Follow the getting started guide to run an agent, or read harness engineering to understand the design principles behind Ayjnt.