Allowlist
A message is accepted only when:- it is a 1:1 private chat, and
- both the chat id and the author id are an allowed user for that bot profile.
A lane
Continuity is keyed by profile + user + node + thread + harness. Switching node, thread, or harness is a different session id./new clears only the current lane.
What happens to one message
- Allowlist check.
- If the passcode gate is on and this lane is locked: only locked-safe commands run.
- Slash command → handled locally (no model), unless it is unknown, in which case it is a normal turn.
- With
/ack on, a cheap model may answer trivia or ack instantly. Everything else is a full harness turn. - The harness runs in the active node’s directory (or
TELEKIT_WORKING_DIR/ a/node ~/path/folder). - The reply is converted from Markdown to Telegram HTML. Files in the turn outbox are sent after the text.
Progress while it thinks
/stream controls how much you see before the final answer. See Stream and turns.
Mid-turn
A second message on the same lane while a turn is running is a steer (Claude always; SOV when the binary supports it). Other lanes are independent./stop (or /x) cancels your lane’s running turn and any queued turns behind it.
/restart
Owner only. Persists the Telegram offset, then runs telekit restart. Use it after a source change on an editable install. Do not use it to wipe a passcode lockout from a locked chat — failed guesses hold /restart until you unlock.