Embedding

Drive zot from another program.

Two ways to drive zot from another program. Both share the same event schema, so transcripts captured by one can be replayed through the other.

Go, in-process

Import github.com/patriceckhart/zot/packages/agent/sdk. One Runtime per project; Prompt(ctx, text, images) returns a channel of Event. Example in examples/sdk/.

Any language, out-of-process

Spawn zot rpc as a subprocess and exchange NDJSON over its stdin/stdout. Reference clients for Python, Node, shell, and Go live under examples/rpc/.

Packaged SDKs

For the two most common app targets, drop-in packages wrap the RPC handshake so you do not manage the child process by hand:

  • Node.js SDK - a TypeScript client (@patriceckhart/zot-sdk-javascript) that runs zot rpc for you in any Node-compatible server runtime.
  • Swift bridge - zot's Go agent core compiled into an Apple xcframework for native, on-device chat in iOS and macOS apps.