Host and concierge
clanker-host is the always-on composition root. It wires the runtime, durable agent registry, event bus, rules engine, task pad, executors, MCP tools, and HTTP surface into one process.
Start locally
Build the package, choose a writable data directory, and explicitly enable local development mode:
pnpm build
CLANKER_DATA_DIR=.clanker-data \
CLANKER_DEV=1 \
CLANKER_PROVIDER=claude \
node packages/clanker/dist/host/main.jsProduction mode refuses to start without CLANKER_TOKEN. CLANKER_DEV=1 is the only unauthenticated escape hatch and should remain local.
Important settings include:
CLANKER_PROVIDER=claude|codex;CLANKER_MODELfor the host agent model;CLANKER_PORT,CLANKER_HOST, andCLANKER_MCP_PORT;CLANKER_AGENT_REGISTRY_URLto pull the seed persona from a remote registry;CLANKER_PAD_STORE_URLandCLANKER_PAD_STORE_TOKENto use a remote pad.
Concierge
The concierge is not a separate service framework. It is an agent definition and rule preset loaded into the generic host. It can answer directly, create a task DAG, dispatch registered workers, and return a correlated reply.
Interfaces
The host exposes:
- an authenticated HTTP API for messages, events, agents, tasks, and pulls;
- asynchronous message submission with correlation IDs;
- an SSE stream for catch-up, live progress, heartbeats, and terminal state;
- a loopback MCP tool server for pad, bus, registry, and agent operations.
State is JSONL-backed by default. Durable remote registries and pad servers can replace the local reference stores without changing the runtime or rule model.
Registries
The durable registry validates and persists agent definitions and emits lifecycle events. The remote registry adds immutable versions, canonical content digests, digest verification, bearer access control, ETags, and provider rebinding when a definition is pulled into a host.