Skip to content

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:

bash
pnpm build
CLANKER_DATA_DIR=.clanker-data \
CLANKER_DEV=1 \
CLANKER_PROVIDER=claude \
node packages/clanker/dist/host/main.js

Production 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_MODEL for the host agent model;
  • CLANKER_PORT, CLANKER_HOST, and CLANKER_MCP_PORT;
  • CLANKER_AGENT_REGISTRY_URL to pull the seed persona from a remote registry;
  • CLANKER_PAD_STORE_URL and CLANKER_PAD_STORE_TOKEN to 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.