Talk to Your Agents · 03.01
Chat Sessions & the Universal Harness
One universal chat harness backs every channel, so permission modes and turn behavior are identical whether you're on the dashboard, Slack, or WhatsApp.
One executor, every surface
ChatSessionExecutor is the single engine behind every conversational turn in Agentis — the dashboard composer, a Slack thread, a WhatsApp message, and the agent terminal all resolve to the same executor running the same loop. That's a deliberate collapse: a slash command like /plan means exactly the same thing whether you typed it in a browser or a phone, because there's only one place that interprets it.
What a turn actually assembles
A turn isn't "send the whole conversation history to the model and hope." The executor reconstructs a bounded context every time: the agent's persona, the active task, a live tool manifest ranked to a workflow-relevant subset (capped at 12 tools — WORKFLOW_TOOL_CAP — so the model isn't handed a wall of irrelevant capabilities), and fresh observations. Tool calls run in rounds up to AGENTIS_CHAT_MAX_TOOL_CALLS (default 2000, generously high because the real stopping logic is progress-based, not a hard count — see Chat Reliability).
CLI harnesses and streaming runtimes get different timeouts, on purpose
A CLI harness forwarding tools natively (via marker protocol or native MCP) is doing real, sometimes slow, build work — it gets a longer multi-round deadline and a realistic per-round timeout so a build that streams continuous canvas progress doesn't get cut off mid-work. A streaming HTTP runtime keeps a tighter budget that protects interactive latency instead. Same executor, different pacing for a fundamentally different kind of work.
Continue
SQLite online backup with manifest-versioned snapshots — how Agentis protects durable state against loss.
Sticky Ask, Plan, and Auto autonomy modes, and the novelty-based intelligent stop that decides when an agent has said enough.