localhost:20128/v1 v0.5.4
localhost:20128/v1 v0.5.4
Draft
1 error
Components
Drag onto the canvas
Language
Always
Always fires — use as the catch-all on a default decision.
Language detector
Fires when the prompt language matches the configured ISO code.
Topic & intent
Embedding classifier
Sentence-transformer classifier (needs sentence-transformers)
MMLU domain
Domain classifier with 57 built-in categories
KB (in-mem)
Tag message with nearest KB entry
Preference (LLM)
LLM-as-router (uses sparingly — per-request LLM call)
Complexity
Complexity classifier
Tiers prompts as easy / medium / hard
Token estimator
Estimate token count from char length
Reasoning marker (legacy)
DEPRECATED — use `structure` with a sequence rule instead.
Fact-check heuristic
Flags messages with N+ unverifiable claims
Content & modality
Structure
Feature × source rules (count/exists/density/sequence over regex/keyword-set).
Modality
text / image / audio / video / multimodal
Keyword match
Keyword-list match via bm25 / ngram / fuzzy.
Identity & role
Request metadata
Pull a field from request.metadata
AuthZ (RBAC)
Kubernetes-style RBAC from request.metadata
Conversation
Conversation depth
# of turns so far in this thread
Re-ask
Latest user message similar to a recent prior
Feedback (sentiment)
Sentiment of latest user message
Time
Time of day
Route by clock — peak vs off-hours
Safety
PII regex
Regex-based PII (email/phone/ssn/cc)
Jailbreak (regex)
Pattern-based prompt injection detection
Partition
Partition
Mutually-exclusive bucket from signal values
Score
Weighted sum
Linear combination of signal scores
Round-robin
Distribute load across N items evenly
Mapping
Threshold bands
Map a continuous score to named bands
Route
Routing rule (when → model)
Model
A single model for dispatch
Model Group
A weighted set of models (modelRefs)
Semantic cache
Check response cache before calling the model
Response jailbreak
Screen model output for injection attempts
System prompt
Inject a system prompt template
Hallucination guard
Verify factual claims in the response
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Signal Extraction
Projection Coordination
Decision Making
Model Selection
Plugin Chain
router.yaml
live preview

    name: my-router
    defaults:
      on_no_match: route_to_default
    signals:
      - name: any
        type: always
    decisions:
      - name: default
        rules:
          type: always
          name: any
        priority: 0

Decision `default` is missing a model.