SandBase Harness is a local-first runtime for AI agents. Where an agent SDK handles the model loop, this supplies the layer around it: persistent sessions, tool governance, sandbox boundaries, credential handling, memory, audit and replay, and a console for a person to inspect what happened. It runs on your machine or your own infrastructure, with SQLite metadata and local file storage and no required hosted control plane. The /v1 API follows the Claude Managed Agents resource shapes, so an Anthropic SDK client can be pointed at the local server instead of a remote one.
Agents are defined as YAML files that name a model, a system prompt, MCP servers, toolsets with per-tool permission policies, and skill packages. Sessions, environments, credential vaults, memory stores, files, skills, and API keys live in a workspace SQLite database, with file and skill bytes on disk in the workspace state directory. Session events stream over Server-Sent Events that can be resumed from a Last-Event-ID, which is what makes replay and after-the-fact debugging possible.
Generated code runs in a selectable sandbox backend: a local process, a per-session Docker container, Kubernetes through kubectl exec and cp, or a self-hosted worker queue. Environments are created through the API with the provider, container image, and memory and CPU limits. Authentication is open by default and switches on as soon as one API key exists, after which clients send a bearer token; a key can come from the environment or be created through the API.
One model provider boundary is active per workspace, configured through the settings interface with validation, form and JSON editing modes, and a restart flow. Supported providers are OpenAI, Anthropic, MiniMax, and OpenAI-compatible endpoints including DeepSeek V4, and individual agents then choose concrete model IDs. The runtime needs Node.js 22 or later and npm 10 or later, with Docker optional for container-backed sandboxes.
A six-tool MCP bridge is published as a multi-architecture container image for linux/amd64 and linux/arm64 and connects MCP clients to the runtime over stdio; the image carries only the bridge, so sessions and sandbox work stay in the connected runtime. The same bridge installs into a DeepSeek Harness profile as a plugin, letting that harness list agents, create and run sessions, stream turns, inspect results and artifacts, and cancel work through native tools, and it installs into Agent Plugins 1.0 clients from the repository, passing the runtime URL and optional key through environment variables rather than storing them in plugin files.
Features
- Claude Managed Agents-compatible API: a /v1 surface with the same resource shapes, reachable from an Anthropic SDK client
- Persistent sessions: SQLite-backed agents, sessions, environments, memory stores, files, skills, and API keys
- Resumable event streams: Server-Sent Events resumed by event id for session replay and debugging
- Sandbox backends: local process, per-session Docker containers, Kubernetes exec, and a self-hosted worker queue
- Tool governance: MCP toolsets, built-in tools, skill packages, permission policies, and approval prompts
- Credential vaults: stored credentials kept apart from agent definitions, with authentication activated by the first API key
- One active provider: a single workspace model vendor, loop engine, storage, memory, and sandbox choice with validation and a restart flow
- Local console: a built-in dashboard for agents, sessions, settings, and an API reference
- MCP bridge image: a six-tool stdio bridge published as a multi-architecture container image with build provenance
- DeepSeek Harness plugin: installs into a harness profile so the harness drives agents, sessions, artifacts, and cancellation natively
- TypeScript SDK and CLI: a client with streaming chat events, plus commands for init, start, list, reload, chat, and templates
