Autonomous coding agents
Claude-Code-style workflows, IDE companions, refactoring bots. Tool gating and budgets at the kernel layer — checkpoints when a subagent wanders.
Namzu is an open-source TypeScript agent kernel and SDK for building AI agents — process-level isolation, scheduling, memory, IPC, and checkpoint/resume in one runtime.
Self-hosted, vendor-neutral, language-agnostic. Community-driven — because the ground autonomous software stands on is too important to belong to any single vendor.
Install the kernel. Register a provider. Reason.
import { ProviderRegistry, createUserMessage } from '@namzu/sdk'
import { registerOllama } from '@namzu/ollama'
registerOllama()
const { provider } = ProviderRegistry.create({
type: 'ollama',
host: 'http://localhost:11434',
})
const response = await provider.chat({
model: 'llama3.2',
messages: [createUserMessage('Summarise Unix philosophy in one line.')],
})
console.log(response.message.content)interface LLMProvider {
readonly id: string
readonly name: string
chat(params: ChatCompletionParams): Promise<ChatCompletionResponse>
chatStream(params: ChatCompletionParams): AsyncIterable<StreamChunk>
listModels?(): Promise<ModelInfo[]>
healthCheck?(): Promise<boolean>
}Namzu is runtime. What you build on top is yours.
Claude-Code-style workflows, IDE companions, refactoring bots. Tool gating and budgets at the kernel layer — checkpoints when a subagent wanders.
SaaS where one tenant’s agents never touch another’s. Isolation is the first primitive, not a plugin.
Ollama, LM Studio, on-disk memory, no hosted dependency. The same kernel on your laptop as in production — byte for byte.
MCP and A2A, client and server, in the same SDK. An event bus with circuit breakers keeps the graph honest.
Isolation, durability, audit, and sovereignty stop being features when they become business-critical. These are the shapes the kernel was built to carry.
Multi-tenant isolation day one. BYOK credentials through the vault. Every tool call and LLM decision emits an OTel-audited event. HITL gates on destructive operations. FSL-1.1-MIT keeps critical infrastructure off any vendor’s roadmap.
Runs on-prem without a hosted service. Atomic checkpoints resume a line after a power cycle. Signals propagate cleanly across the device tree. No Docker, no daemon — boots on industrial PCs the same way it boots on a laptop.
OS-level sandboxes for risky tool execution. Budget caps stop a wandering policy from burning the wall. MCP wires into existing robotics stacks; a dedicated computer-use driver with its own sandbox profile is on the v0.4 roadmap.
On-prem by design — no hosted service, no data leaving the process. Persona identity lives in version control, not an admin UI. Tenant-scoped stores, vaults, connectors. Per-iteration checkpoints for long-running compliance reviews and document pipelines.
Namzu ships four agent shapes. Same lifecycle manager, same limit checker, same bus, same verification gate — switching patterns never trades safety for form.
The canonical loop. Prompt → LLM → tool call(s) → iterate → stop. Budgets, HITL, progressive disclosure, compaction, and checkpoints — wired automatically.
Deterministic sequential steps. Output of step N is input of step N+1. Rolls back on failure. ETL, RAG ingestion, multi-stage document processing.
An LLM classifies the input and delegates to the best-suited agent from a configured set — with a fallback. Support triage, dispatcher bots, multi-expert systems.
Coordinator that spawns specialised children, tracks the parent/child/depth hierarchy, aggregates results, and honours the shared budget tracker.
These four are the shapes most workloads want. When your loop is different, subclass AbstractAgent directly — lifecycle, budgets, signals, compaction, and checkpointing still apply.
Twenty-four subsystems live inside @namzu/sdk. Nine of them, at a glance.
Deny-default I/O, scoped network, enforced resource limits. Seatbelt and namespaces — no Docker, no daemon.
Parents spawn children. Children get budget slices. Isolation is in the fork.
Per-run token, cost, wall-clock, and iteration budgets. One policy engine decides what runs next.
One AbortController tree spans the whole subtree. Cancel, pause, resume — propagated cleanly.
Working memory compacts. Long-term memory persists, indexed by tag, query, status. No vector database required.
Atomic per-iteration checkpoints. Emergency core-dump on signal. Separate stores for runs, threads, memories, tasks.
Native A2A and MCP — client and server, one SDK. An event bus with circuit breakers and edit-ownership tracking underneath.
Narrow LLMProvider interface with a typed registry. Vendors swap at the import line.
Registries, vaults, configs, stores — all tenant-scoped. Two organisations share a process, never each other’s state.
Framework category tells you what job the project actually does. Namzu is the only agent kernel in the set — and the feature map shows where that lives in code.
| Criterion | Namzu | LangGraph | CrewAI | Mastra | Vercel AI SDK | OpenAI Agents SDK |
|---|---|---|---|---|---|---|
| Category | Agent Kernel | Graph framework | Crew framework | TS app framework | Frontend-first SDK | Vendor SDK |
| Language | TypeScript | Python/JS | Python | TypeScript | TypeScript | Python/JS |
| Process sandbox (OS-level) | ||||||
| Multi-tenant from day 1 | partial | |||||
| Sub-agent spawn (fork/exec) | via graph | crews | handoffs | |||
| Signal propagation tree | partial | |||||
| Resource quotas (token / cost / time) | manual | manual | manual | manual | ||
| Checkpoint + resume | superstep | partial | sessions | |||
| Emergency save on signal | ||||||
| Thread ↔ Run separation | partial | |||||
| Structured context compaction | partial | |||||
| RAG built into the kernel | integrations | integrations | plugin | via tools | ||
| Native A2A protocol | ||||||
| Native MCP (client + server) | plugin | client | client | |||
| Progressive tool disclosure | ||||||
| Tool-call verification gate | task-level | approval | ||||
| Persona inheritance (YAML) | role strings | partial | instructions | |||
| Advisory (multi-advisor) | ||||||
| File ownership / edit locking | ||||||
| Circuit breakers on the bus | ||||||
| Provider lock-in | none | low | low | low | low | OpenAI-first |
One narrow LLMProvider interface. Seven implementations. Plus capability packages for the surfaces that live outside the chat boundary.
Local-first, zero-config. Default starting point.
Local WebSocket inference for Apple Silicon.
Claude via Messages API. Prompt-caching aware.
GPT via Chat Completions.
AWS Bedrock Converse — Claude, Llama, Titan.
Aggregated access to hundreds of models.
Zero-dep generic adapter for OpenAI- or Anthropic-compatible endpoints.
The interface is narrow by design. Add your internal gateway, your on-prem model, or whatever comes next.
Subprocess-based ComputerUseHost — screenshot, mouse, keyboard. Isolated from the host process, spawned per run, contract shipped by @namzu/sdk.
STT/TTS driver, MIME-typed binary handles for image, audio, video — all on v0.4.
Direct answers to the questions developers ask before adopting an agent runtime.
@namzu/sdk on Node.js. The kernel specification is portable by design — Rust, Go, and Python kernels sharing the same spec are on the public roadmap.LLMProvider interface; provider integrations live in sibling packages (@namzu/anthropic, @namzu/openai, @namzu/openrouter, @namzu/bedrock, @namzu/ollama, @namzu/lmstudio, @namzu/http). No model is a citizen of the core. @namzu/sdk from npm and run it on your own infrastructure. There is no cloud component, no hosted control plane, and no required telemetry.A rented kernel is not a kernel. Namzu is FSL-1.1-MIT because the runtime of autonomous software must be forkable, or the software is not autonomous at all.
Read the manifesto