Open Source
@smooai/smooth-operator · MIT

The agent core, in every language.

smooth-operator is a polyglot AI agent core: one schema-driven WebSocket protocol, with real native clients for TypeScript, Python, Go, .NET, and Rust. Streaming, tools, knowledge grounding, checkpointing, and human-in-the-loop — built in.

TypeScriptPythonGo.NETRust

Schema-driven protocol

One language-neutral JSON-Schema contract. Generated types are committed, so every client speaks the same wire.

Native clients, 5 languages

First-class clients for TypeScript, Python, Go, .NET, and Rust — not thin REST wrappers, real streaming clients.

Streaming + tools

Token-by-token responses, tool calls, and a terminal eventual_response — the full agent turn, typed.

Knowledge grounding

Retrieval-augmented answers with citations. Pluggable stores: Postgres + pgvector, or DynamoDB + S3 Vectors.

Checkpointing + memory

Durable conversation state and resumable turns — pause, persist, and pick a turn back up later.

Human-in-the-loop

Confirm-before-write tool gating and OTP-style resume, modeled directly in the protocol.

A real streaming client

Connect, send, stream

import { SmoothAgentClient } from '@smooai/smooth-operator';

const client = new SmoothAgentClient({ url: 'wss://your-host/ws' });
await client.connect();

const { sessionId } = await client.createConversationSession({ agentId });

// Stream the agent's reply, token by token.
for await (const event of client.sendMessage({ sessionId, message: 'Hi!', stream: true })) {
    if (event.type === 'stream_token') process.stdout.write(event.token ?? '');
}

Build agents that stream

Open source, schema-first, polyglot. Star it and pick your language.