System users
Agents are real accounts with identities, presence, and permissions — not a webhook bolted onto the side of your chat.
AI agents & bots
Most stacks treat bots as an afterthought. In PrivChat, agents authenticate, subscribe, publish, and answer typed RPC exactly like human clients — which makes agent-to-human and agent-to-agent communication a protocol feature, not a hack.
Agent primitives
No sidecar delivery system, no polling bridge — an agent is a client with a system identity and typed routes.
Agents are real accounts with identities, presence, and permissions — not a webhook bolted onto the side of your chat.
Bots expose request-response routes (menus, commands, business actions) with the same typed RPC contract as any module.
Agents subscribe and publish on the channels users already live in. No separate delivery path, no sync mismatch.
Fleet management, decision profiles, and watchdogs — the same machinery that keeps game bots alive drives assistant workflows.
Typed bot routes
Register a service, match routes, return typed results — the transport, retries, and delivery are already handled.
// A typed transfer route — the same contract modules use.
registry.register(object : PrivChatTransferHandler {
override val serviceName = "bot"
override suspend fun handle(ctx: PrivChatTransferContext) =
when (ctx.route) {
"bot/menu/get" -> menu.render(ctx.userId)
"bot/menu/click" -> menu.click(ctx.userId, ctx.body)
else -> PrivChatTransferResult.error(
CODE_UNKNOWN_ROUTE, "unknown route"
)
}
})Shipping today
We publish capability, not ambition. Everything below runs in production today; the roadmap strip is where ambition lives.
System-user assistant bootstrap with bot routing on public APIs — the entry point for conversational automation.
Menu, click, and echo routes over transfer RPC — a working request-response surface for interactive bots.
The poker platform runs orchestrated bot fleets with decision engines, seating policies, and health watchdogs.
Build an agent
Start with the SDK, register a system user, and expose your first typed route in an afternoon.