Skip to content

Reference

Complete, declarative documentation of every Tryll surface. Use this section when you need an authoritative answer about what a field is, what values it accepts, or what a specific error code means. For conceptual background, see the Concepts section; for task-driven walkthroughs, see How-to.

It splits in two: Client API is what your game code calls, Workflows and data is what you declare for the server to execute.

Client API

The surface your game code touches — one page per platform, plus the request fields, diagnostics, and errors shared by all of them.

Per platform

  • Unity — the com.tryll.client package: TryllClient, TryllAgentComponent, TryllWorkflowAsset, TryllRuntimeSettings, TryllSpeaker, TryllVoiceInputComponent.
  • Unreal C++TryllClient plugin headers: UTryllSubsystem, FTryllAgent, and friends.
  • Unreal Blueprint — every Blueprint-exposed UFUNCTION.
  • C++Tryll::Client::*.
  • Pythontryll_client.

Shared across platforms

  • Agent Parameters — every field on CreateAgentRequest: graph, variables, diagnostics, knowledge presentation, KV-cache initialization, workload, tools.
  • Turn Inspector — the shared per-turn diagnostics panel: every block, when each appears, and what to do when one is missing. Hosted by the Chat Window, Agent Log, and Dialog Lab.
  • Error Codes — numeric catalog, ranges, per-code recovery guidance.

Workflows and data

What you declare, and what the server does with it.

Workflow nodes

Node catalog — the table of every node type, its exits, and whether it needs a model. Start there when choosing a node.

Node What it does
Generate Run a language model on the projected dialogue and emit its answer.
Generate and Speak Generate and synthesize speech in one fused streaming step.
Speak TTS-only — voice text another node already produced.
Instruction Inject a static instruction via the {{#instructions}} block.
Transform Model-free Mustache rendering into a slot; emits nothing on the wire.
Branch Model-free conditional routing on a slot or agent variable.
Pause Suspend the turn between nodes and hand control back to the client.
Retrieve Search an embedded string storage and attach the hits as knowledge.
Filter grammar The JSON predicate grammar for metadata-filtered retrieval.
Classify Intent Label the input by top-1 embedding similarity; exits found / not_found.
Classify Intent (LLM) Label the input by first-token logprob on a small model.
Intent to Instruction Map an intent label to an instruction through a Map-kind storage.
Tool Call Advertise tools, let the model call them, control notify/pause/results.
Canned Response Emit a fixed reply from a string storage — no model involved.
Regex Guardrail Match input against patterns and route away before spending a model call.

Knowledge and strings

  • String Storage — session-owned name-to-strings containers (List / Map / Multimap) used by canned-response, guardrail, and intent nodes.
  • Embedded String Storage — vector-indexed knowledge bases used by retrieve and intent nodes.

Models

  • Model Managementmodels.json schema, variants, download and load lifecycle, model status.
  • TTS Models — which Sherpa-ONNX voice families Tryll supports, which it does not, and why.

Server

  • Server Configuration — every field of server-config.json.
  • Telemetry — what usage telemetry collects, and how to turn it off.
  • Wire Protocol — TCP framing, FlatBuffers schema, session flow, ErrorResponse shape. The contract a third-party client must implement.

Glossary

  • Glossary — canonical definitions for every term used across the documentation. Check here before guessing what a word means.