OPEN SOURCE · EARLY ALPHA

A loop is easy.
The rest is Anchor.

Your strategy. Your tools. Anchor SDK handles the infrastructure between “do this” and actually done. Context, recovery, and sandboxed work in one TypeScript harness.

$npm install anchor-ai-sdk
TypeScript-native MIT licensed Your model. Your machine.
ANCHOR RUNTIMErun_08f2
TASK IN

Fix the retry logic. Report the test results.

workspace / main
THE AGENT LOOP
Reason
Act
Observe
↳
repeat, with context
Memory Guardrails Revival
EVENT STREAMILLUSTRATIVE RUN
00:01read_filesrc/client.ts
00:03edit_filedeadline fixed
00:05run_tests42 passedpost-run a83f2d1
Not just an answer. An evidence trail.
THE MODEL THINKS. THE HARNESS HOLDS.
ONE CONTRACT.
YOUR STACK.
OpenAI-compatible models
+
Heyo Computer
E2B
Docker
Local
Bring your own
+ 01 / THE HARNESS

Built for the turns
that don’t go to plan.

Models can reason.
Give yours the system to keep going.

A context window is not a memory.

Agents can keep notes on disk while older conversation is summarized. Built-in tools attempt to spill oversized output to sandbox files for later reads.

Durable notesContext compactionRecoverable spill
Under the hood
.anchor/notes.mdILLUSTRATION
01
# Current task

Fix retry behavior in the HTTP client.

02
## What I know

The timeout resets on every attempt.

03
## Next move

Patch the deadline. Test the slow path.

context compacted → notes preserved
↳Persistence primitives, with storage you control.
+ ONE MACHINE INTERFACE

Your sandbox.
Not another integration to rebuild.

Configure an E2B template, a Heyo image, or a Docker image. Anchor adapts the machine lifecycle and execution surface so the agent and its built-in tools use the same Sandbox interface.

createstartexeccheckpoint

A shared conformance suite tests the contract. Provider accounts, toolchains, and optional capabilities still differ. The layer can also be used without an agent.

Configure your sandbox
heyo-provider.mjsJAVASCRIPT
import { heyo } from "anchor-ai-sdk/sandbox/heyo";

// Configuration fragment. requiredEnv validates host configuration.
// Complete runnable setup is in the docs.
const provider = heyo({
  token: requiredEnv("HEYO_TOKEN"),
  server: requiredEnv("HEYO_SERVER"),
  namespace: requiredEnv("HEYO_NAMESPACE"),
  image: requiredEnv("HEYO_IMAGE"),
  imageKind: "artifact",
  imageStore: requiredEnv("HEYO_IMAGE_STORE"),
  sizeClass: "small",
  diskSizeGb: 10,
});

const sandbox = provider.create({ repoUrl, ref: "main" });
// Start it, then pass sandbox to runAgent.
+ 02 / COMPLETED EVAL RECORDS

Nine of ten.
The record is open.

Anchor vs. mini-swe-agent.
10 SWE-bench Lite tasks. Parasail GLM 5.3.
9 resolved for each arm. Different failure paths.

Inspect the benchmark
RESOLVED9/10both harnesses
RESOLVED / 10 TASKSCOMPLETED PARASAIL RECORDS
Anchor9/10
mini-swe-agent9/10

A selected sample, with different budgets. Mini’s remaining task has a recorded patch-extraction failure.
Anchor records $4.3162; mini usage is not reported. No cost comparison is claimed for this round.

+ 03 / YOUR AGENT. NOT OUR OPINIONS.

Small pieces.
A harness of your own.

Phases shape the approach. Tools do the work. Compose them into an agent; bring the model and runtime. No custom agent loop to maintain.

  1. 01 Phases → strategy
  2. 02 Tools → agent
  3. 03 Agent → complete harness
Build from primitives
MODEL AND SANDBOX CONFIGURATION STAY IN YOUR APP.
Why Anchor is built this way
agent.mjsJAVASCRIPT
import { readFileTool, searchTool, runAgent } from "anchor-ai-sdk";

export const phases = [
  { id: "inspect", goal: "Read the relevant code." },
  { id: "respond", goal: "Explain findings with file references." },
];

export const strategy = {
  name: "review",
  phases,
  requiresSandbox: true,
  systemPrompt: () => phases
    .map(({ id, goal }) => `${id}: ${goal}`).join("\n"),
};

export const agent = {
  name: "reviewer", strategy,
  tools: [searchTool, readFileTool],
};

// Supply your llm and a started sandbox. Full setup is in the docs.
const result = await runAgent(
  { task: "Explain the retry behavior" },
  { llm, sandbox, agent },
);
Add state, controls, and traces
+ A FEW GOOD QUESTIONS

Small surface.
Strong foundations.