Allowlist
A private 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.
Switching harness still starts a new session, but /harness carries the recent conversation so the next turn is not cold.
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 comes back in Telegram. Files in the turn outbox are sent after the text.
/new, the same as a typed message. The full transcript is previewed in chat only when voice echo is on. If transcription fails, the agent receives the audio file and you see a short reason.
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; Telekit harness when it supports it). This includes a turn that was just sent and has not started yet — messages fired seconds apart fold into one turn rather than becoming two. Other lanes are independent./stop (or /x) cancels your lane’s running turn and any queued turns behind it.
A turn that had to wait its turn announces itself when it starts (▶️ Starting your earlier message: …), so an answer never arrives out of nowhere.
/restart
Owner only. Runs telekit restart. Do not use it to wipe a passcode lockout from a locked chat — failed guesses hold /restart until you unlock.