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.clientpackage:TryllClient,TryllAgentComponent,TryllWorkflowAsset,TryllRuntimeSettings,TryllSpeaker,TryllVoiceInputComponent. - Unreal C++ —
TryllClientplugin headers:UTryllSubsystem,FTryllAgent, and friends. - Unreal Blueprint — every Blueprint-exposed UFUNCTION.
- C++ —
Tryll::Client::*. - Python —
tryll_client.
Shared across platforms¶
- Agent Parameters — every field on
CreateAgentRequest: graph, default model name, diagnostics, dialogue-history retention, variables, KV-cache initialization, workload. Tool schemas live on the Tool Call node, not on the request. - 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.
- Dialog Lab headless run — the run config, the summary JSON and the exit codes of a command-line Dialog Lab run, for CI.
- Agent Log format — the JSON document the Agent
Log's Export writes (
tryll.agent_log,format_version1). - Turn Diagnostics JSON — every field of the
debug_infopayload behind that panel, and behindTurnCompleteon the wire: the envelope, the per-node sections, and why a key is absent. - 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. |
| Write to Memory | Experimental: upsert a record into a named mutable knowledge base. |
| Summarize | Fold ageing turns into a rolling summary so long conversations stay coherent. |
| 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. |
| Classify Attributes (LLM) | Score several attributes of one line in one batched call; exits default / triggered. |
| 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. |
Filter grammar is not a node: it is the
JSON predicate language that Retrieve and Classify Intent accept in their
filter param for metadata-filtered search.
Voice Profile is not a node either: it is the agent's one voice, which every Speak and Generate and Speak node of the agent uses. It holds the TTS model, the voice identity, and the named delivery modes.
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 Management —
models.jsonschema, variants, download and load lifecycle, model status. - TTS Models — shipped voices (Sherpa-ONNX and llama.cpp SNAC), which families Tryll supports, and why the rest cannot load.
- STT Models — shipped speech recognizers: offline versus streaming, languages and the session locale, hotwords, and the Silero VAD dependency.
Server¶
- Server Configuration — every field of
server-config.json. - Telemetry — detail levels (
basicis the default), and how to raise the level while debugging. - Wire Protocol — TCP framing, FlatBuffers schema,
session flow,
ErrorResponseshape. 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.