The CLI
Every command.
The loop is five words: create, edit, verify, push, deploy — then call.
Agent arguments take an agt_ id, a name, or a pulled folder; every list command prints JSON when piped.
Setup
kelam loginSign in and save your workspace credential locally — no env vars needed after this.
kelam logoutDelete the saved credential.
kelam updateUpdate the CLI to the latest release (detects brew / uv / pipx).
kelam skillThe operating guide for AI coding agents — print it, or --install it into a project.
kelam membersList your workspace's people, or add a member.
kelam contextShow or edit workspace-wide context — facts every agent inherits (company name, hours, brand voice).
The agent loop
kelam createCreate an agent and pull it into ~/.kelam/agents/<name>/ — a phone number attaches automatically.
kelam pullPull an agent's files into a local folder.
kelam verifyLint a local agent folder — config, tools, secret references.
kelam pushPush the folder back; every push is a new version.
kelam deployAssemble and cache the runtime — ready for calls.
kelam schemaThe agent.yaml contract as data — models, voices, every field.
kelam listList the workspace's agents.
kelam secret-setSet a workspace secret, stored encrypted — the value never touches the command line.
kelam callersShow — or open/restrict — an agent's inbound caller allowlist.
kelam allow / disallowAdd or remove a number on that allowlist; the owner's number always stays allowed.
kelam deleteDelete an agent. Destructive, so the argument is always explicit.
Calling
kelam callPlace a real outbound call — to a number, or to another agent, no telephony needed. --wait streams the transcript; -p steers this one call; -e extracts typed fields as it hears them.
kelam showOpen the agent's page — talk to it in the browser, audition voices, edit it with an AI chat.
kelam statusWhere things stand, in one round — one call's lifecycle, or the whole workspace. --wait blocks until a call ends.
kelam watchFollow a live call as an append-only JSONL file — the machine counterpart to the monitor.
kelam monitorThe live-calls dashboard — listen to any call as it happens, invisible to both sides.
kelam hangupEnd a call now, or after a polite goodbye with --wrap-up.
kelam queueCalls parked behind the concurrency cap, oldest first — batches drain themselves safely.
kelam replayInspect — or re-run — the exact configuration that took a call.
kelam flagMark a call as worth debugging (or clear the mark).
kelam clone-voiceClone your own voice into a reusable workspace voice.
Call data
kelam callsEvery call in the workspace, newest first — or one agent's.
kelam transcriptOne call's transcript and recording — or a number's full voice-and-text history.
kelam searchFind a call or agent fast — by call id, phone number, or name.
kelam exportCall logs plus derived metrics — turns, words, talk ratio, durations — as jsonl, json, or csv.
kelam statsAggregate counts, durations, turns, and per-provider cost.
kelam costsWhat you've spent on calls, workspace-wide by default.
kelam extractPull typed fields out of existing calls — an LLM pass over each transcript, persisted onto the call.
kelam peer-contextWhat one agent remembers about one caller — injected into its prompt the next time they call.
Texting
kelam textSend SMS or MMS (or WhatsApp) from the agent's own number.
kelam textsBrowse an agent's message threads, newest first.
kelam peersRecently active numbers across calls and texts — the people your agents talk to.
Full guides live at kelam.sh/docs,
and kelam --help knows everything on this page.