Skip to content
OpenSmartRoute
TemplateFeaturedv1.0.0

Support Desk

Route support traffic to the cheapest capable model; anything with personal data stays on-prem.

by OpenSmartRoute(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Flattened from stack.yaml in the repository examples; imports already merged.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

bash
osr stack plan registry://support-desk@1.0.0 --registry https://api.opensmartroute.ai
osr stack apply registry://support-desk@1.0.0 --registry https://api.opensmartroute.ai

Manifest

A declarative stack: models, rules and settings in one file. `osr stack apply` turns it into a running router.

support-desk.stack.jsonjson
{
  "osr": "1",
  "kind": "stack",
  "name": "support-desk",
  "description": "Route support traffic to the cheapest capable model; anything with personal data stays on-prem.",
  "targets": [
    {
      "ocm": "1",
      "id": "llm-small",
      "kind": "llm",
      "name": "Small fast model",
      "description": "Cheap, fast generalist for simple chat, short answers, classification and extraction.",
      "capabilities": {
        "domains": [
          "general",
          "general_chat",
          "customer_support"
        ],
        "actions": [
          "qa",
          "classify",
          "extract",
          "summarize",
          "generation",
          "translate"
        ],
        "languages": [
          "en",
          "ta",
          "hi",
          "es",
          "fr"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 0.45,
        "min_complexity": 0,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": false
      },
      "cost": {
        "usd_per_1k_tokens": 0.0002
      },
      "latency_ms": 300,
      "quality_prior": 0.55,
      "examples": [
        "Hi, how are you today?",
        "What is the capital of France?",
        "Is this email spam? 'Congratulations you won a prize'",
        "Summarize this paragraph in one sentence."
      ],
      "metadata": {
        "model": "openai/gpt-4.1-nano"
      }
    },
    {
      "ocm": "1",
      "id": "llm-mid",
      "kind": "llm",
      "name": "Mid-tier model",
      "description": "Balanced model for moderate reasoning, drafting, data analysis and marketing copy.",
      "capabilities": {
        "domains": [
          "general",
          "marketing",
          "data_analysis",
          "hr",
          "travel",
          "creative"
        ],
        "actions": [
          "generation",
          "summarize",
          "reasoning",
          "planning",
          "extract",
          "qa"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 0.75,
        "min_complexity": 0.25,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": false
      },
      "cost": {
        "usd_per_1k_tokens": 0.003
      },
      "latency_ms": 900,
      "quality_prior": 0.75,
      "examples": [
        "Draft a newsletter announcing our new pricing tiers.",
        "Analyze this CSV of monthly sales and describe the trend.",
        "Write a short story about a lighthouse keeper."
      ],
      "metadata": {
        "model": "openai/gpt-4.1-mini"
      }
    },
    {
      "ocm": "1",
      "id": "llm-frontier",
      "kind": "llm",
      "name": "Frontier reasoning model",
      "description": "Most capable model for hard multi-step reasoning, math proofs, architecture design.",
      "capabilities": {
        "domains": [
          "general",
          "math",
          "coding",
          "legal",
          "medical",
          "finance",
          "data_analysis"
        ],
        "actions": [
          "reasoning",
          "planning",
          "code_generation",
          "code_review",
          "generation"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0.5,
        "context_window": 200000,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": false
      },
      "cost": {
        "usd_per_1k_tokens": 0.015
      },
      "latency_ms": 2500,
      "quality_prior": 0.93,
      "examples": [
        "Prove that the square root of two is irrational, step by step.",
        "Design a multi-region event-driven architecture with exactly-once semantics and explain trade-offs.",
        "Compare three approaches to consensus and analyze their failure modes."
      ],
      "metadata": {
        "model": "openai/gpt-4.1"
      }
    },
    {
      "ocm": "1",
      "id": "llm-onprem",
      "kind": "llm",
      "name": "On-prem Llama",
      "description": "Private model for regulated and personal data; never leaves the network",
      "capabilities": {
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "on_prem",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.0004
      },
      "latency_ms": 900,
      "quality_prior": 0.72
    },
    {
      "ocm": "1",
      "id": "coding-agent",
      "kind": "agent",
      "name": "Coding agent",
      "description": "Autonomous agent with repo access; writes, refactors, tests and reviews code.",
      "capabilities": {
        "domains": [
          "coding"
        ],
        "actions": [
          "code_generation",
          "code_review",
          "reasoning",
          "action"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0.3,
        "supports_tools": true,
        "supports_streaming": true,
        "tags": [
          "autonomous"
        ]
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.008
      },
      "latency_ms": 6000,
      "quality_prior": 0.85,
      "examples": [
        "Write a Python function that parses ISO-8601 dates and add unit tests.",
        "Refactor this class to remove the circular import and run the test suite.",
        "Find the bug in this stack trace and fix it."
      ]
    },
    {
      "ocm": "1",
      "id": "research-agent",
      "kind": "agent",
      "name": "Research agent",
      "description": "Web-search + synthesis agent for open-ended research and comparisons.",
      "capabilities": {
        "domains": [
          "general",
          "finance",
          "marketing",
          "travel",
          "legal"
        ],
        "actions": [
          "reasoning",
          "planning",
          "summarize",
          "qa"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0.4,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": false
      },
      "cost": {
        "usd_per_1k_tokens": 0.006
      },
      "latency_ms": 8000,
      "quality_prior": 0.8,
      "examples": [
        "Research the latest papers on LLM routing and summarize the key approaches.",
        "Compare the top three CRM vendors for a 50-person startup."
      ]
    },
    {
      "ocm": "1",
      "id": "support-agent",
      "kind": "agent",
      "name": "Customer support agent",
      "description": "Handles orders, refunds, subscriptions and account issues via internal tools.",
      "capabilities": {
        "domains": [
          "customer_support"
        ],
        "actions": [
          "action",
          "qa",
          "extract",
          "escalate"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 0.7,
        "min_complexity": 0,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.002
      },
      "latency_ms": 1500,
      "quality_prior": 0.8,
      "examples": [
        "I want a refund for order #12345, it arrived damaged.",
        "Cancel my subscription and confirm by email.",
        "My account is locked, help me reset my password."
      ]
    },
    {
      "ocm": "1",
      "id": "skill-sql",
      "kind": "skill",
      "name": "SQL skill",
      "description": "Generates and validates SQL against the warehouse schema.",
      "capabilities": {
        "domains": [
          "data_analysis",
          "coding"
        ],
        "actions": [
          "code_generation",
          "extract",
          "qa"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.001
      },
      "latency_ms": 700,
      "quality_prior": 0.8,
      "examples": [
        "Write a SQL query for monthly active users by region.",
        "Aggregate revenue per product for Q3 from the orders table."
      ],
      "instructions": "Write ANSI SQL for the analytics warehouse. Always qualify table names with\nthe schema, never SELECT *, and add a one-line comment above each CTE.\n"
    },
    {
      "ocm": "1",
      "id": "skill-translate",
      "kind": "skill",
      "name": "Translation skill",
      "description": "High-quality translation with glossary enforcement.",
      "capabilities": {
        "domains": [
          "general"
        ],
        "actions": [
          "translate"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.0005
      },
      "latency_ms": 400,
      "quality_prior": 0.85,
      "examples": [
        "Translate this product description into French and German.",
        "Translate to English: 'வணக்கம், எப்படி இருக்கிறீர்கள்?'"
      ],
      "instructions": "Translate faithfully, preserve formatting and placeholders such as {name},\nand keep product names untranslated.\n"
    },
    {
      "ocm": "1",
      "id": "skill-summarize",
      "kind": "skill",
      "name": "Summarization skill",
      "description": "Map-reduce summarizer for long documents.",
      "capabilities": {
        "domains": [
          "general",
          "legal",
          "finance"
        ],
        "actions": [
          "summarize"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.0008
      },
      "latency_ms": 1200,
      "quality_prior": 0.82,
      "examples": [
        "Summarize this 40-page contract into key obligations.",
        "TL;DR of the attached quarterly report."
      ],
      "instructions": "Summarise as bullet points grouped by theme, each with a source reference.\nLead with the three most decision-relevant facts.\n"
    },
    {
      "ocm": "1",
      "id": "persona-legal-counsel",
      "kind": "persona",
      "name": "Legal counsel persona",
      "description": "Cautious, cites statutes, flags jurisdiction; never gives definitive legal advice.",
      "capabilities": {
        "domains": [
          "legal"
        ],
        "actions": [
          "reasoning",
          "summarize",
          "qa",
          "extract"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {},
      "latency_ms": 0,
      "quality_prior": 0.8,
      "examples": [
        "Review this NDA clause for liability exposure under GDPR.",
        "Is this indemnification clause enforceable in California?"
      ],
      "instructions": "You are cautious in-house legal counsel. Cite the governing statute or\nclause, flag jurisdiction-specific risk, and recommend escalation to a\nqualified lawyer instead of giving definitive legal advice.\n",
      "primary": false
    },
    {
      "ocm": "1",
      "id": "persona-friendly-support",
      "kind": "persona",
      "name": "Friendly support persona",
      "description": "Warm, concise, de-escalating tone for customer conversations.",
      "capabilities": {
        "domains": [
          "customer_support",
          "general_chat"
        ],
        "actions": [
          "qa",
          "action",
          "generation"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {},
      "latency_ms": 0,
      "quality_prior": 0.75,
      "examples": [
        "I'm frustrated, my order still hasn't arrived."
      ],
      "instructions": "You are a warm, concise support agent. Acknowledge the customer's\nfrustration first, then give one clear next step. Never blame the customer.\n",
      "primary": false
    },
    {
      "ocm": "1",
      "id": "persona-senior-engineer",
      "kind": "persona",
      "name": "Senior engineer persona",
      "description": "Precise, opinionated about trade-offs, writes idiomatic code with tests.",
      "capabilities": {
        "domains": [
          "coding",
          "data_analysis"
        ],
        "actions": [
          "code_generation",
          "code_review",
          "reasoning",
          "planning"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {},
      "latency_ms": 0,
      "quality_prior": 0.85,
      "examples": [
        "Review this pull request for concurrency issues."
      ],
      "instructions": "You are a senior engineer. State trade-offs explicitly, prefer idiomatic\ncode over clever code, and include tests with every non-trivial change.\n",
      "primary": false
    },
    {
      "ocm": "1",
      "id": "tool-calculator",
      "kind": "tool",
      "name": "Calculator",
      "description": "Deterministic arithmetic and unit conversion.",
      "capabilities": {
        "domains": [
          "math",
          "finance"
        ],
        "actions": [
          "qa"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 0.3,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {},
      "latency_ms": 5,
      "quality_prior": 0.99,
      "examples": [
        "What is 17% of 2,450?",
        "Convert 5 miles to kilometers."
      ]
    },
    {
      "ocm": "1",
      "id": "tool-image-gen",
      "kind": "tool",
      "name": "Image generator",
      "description": "Text-to-image generation.",
      "capabilities": {
        "domains": [
          "creative",
          "marketing"
        ],
        "actions": [
          "image"
        ],
        "languages": [
          "en"
        ],
        "modalities": [
          "text",
          "image"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.04
      },
      "latency_ms": 9000,
      "quality_prior": 0.85,
      "examples": [
        "Draw a picture of a fox reading a book in a forest.",
        "Generate a hero image for our landing page."
      ]
    },
    {
      "ocm": "1",
      "id": "workflow-notify-customer",
      "kind": "workflow",
      "name": "Customer notification workflow",
      "description": "Sends order, shipping and delivery status updates to the customer over email and SMS.",
      "capabilities": {
        "domains": [
          "customer_support"
        ],
        "actions": [
          "action"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 0.5,
        "min_complexity": 0,
        "supports_tools": true,
        "supports_streaming": true
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_call": 0.004
      },
      "latency_ms": 2000,
      "quality_prior": 0.9,
      "examples": [
        "Notify the customer that order #4521 has shipped.",
        "Send a delivery update for the delayed order.",
        "Run the customer notification workflow."
      ]
    },
    {
      "ocm": "1",
      "id": "human-escalation",
      "kind": "human",
      "name": "Human escalation queue",
      "description": "Live human agent for escalations, safety issues, or when confidence is low.",
      "capabilities": {
        "domains": [
          "general",
          "customer_support",
          "legal",
          "medical",
          "finance"
        ],
        "actions": [
          "escalate",
          "action",
          "qa"
        ],
        "languages": [
          "*"
        ],
        "modalities": [
          "text"
        ],
        "max_complexity": 1,
        "min_complexity": 0,
        "supports_tools": false,
        "supports_streaming": true,
        "tags": [
          "safety"
        ]
      },
      "constraints": {
        "data_boundary": "public",
        "pii_allowed": true
      },
      "cost": {
        "usd_per_1k_tokens": 0.5
      },
      "latency_ms": 300000,
      "quality_prior": 0.9,
      "examples": [
        "I want to speak to a real person right now.",
        "Let me talk to your manager."
      ]
    }
  ],
  "rules": [
    {
      "name": "pii-stays-onprem",
      "prefer": [
        "llm-onprem",
        "support-agent",
        "human-escalation"
      ],
      "avoid": [
        "llm-frontier",
        "llm-mid",
        "llm-small"
      ],
      "when": {
        "contains_pii": true
      }
    },
    {
      "name": "escalation-intent",
      "prefer": [
        "human-escalation"
      ],
      "when": {
        "actions": [
          "escalate"
        ]
      },
      "pin": true
    },
    {
      "name": "translation-goes-to-skill",
      "prefer": [
        "skill-translate"
      ],
      "when": {
        "actions": [
          "translate"
        ]
      },
      "weight": 0.9,
      "pin": true
    },
    {
      "name": "images-to-image-tool",
      "prefer": [
        "tool-image-gen"
      ],
      "when": {
        "actions": [
          "image"
        ]
      },
      "pin": true
    },
    {
      "name": "trivial-math-to-calculator",
      "prefer": [
        "tool-calculator"
      ],
      "when": {
        "domains": [
          "math"
        ],
        "max_complexity": 0.3
      },
      "weight": 0.8
    },
    {
      "name": "hard-coding-to-agent",
      "prefer": [
        "coding-agent"
      ],
      "when": {
        "domains": [
          "coding"
        ],
        "min_complexity": 0.45
      },
      "weight": 0.7
    },
    {
      "name": "support-domain",
      "prefer": [
        "support-agent"
      ],
      "when": {
        "domains": [
          "customer_support"
        ]
      },
      "weight": 0.6
    },
    {
      "name": "legal-persona",
      "prefer": [
        "llm-frontier",
        "skill-summarize"
      ],
      "when": {
        "domains": [
          "legal"
        ]
      },
      "weight": 0.4
    },
    {
      "name": "order-events-to-notification-workflow",
      "prefer": [
        "workflow-notify-customer"
      ],
      "when": {
        "event": [
          "order.*",
          "shipment.*"
        ]
      },
      "pin": true
    },
    {
      "name": "named-workflows",
      "prefer": [
        "workflow-notify-customer"
      ],
      "when": {
        "workflow": true,
        "domains": [
          "customer_support"
        ]
      },
      "weight": 0.8
    },
    {
      "name": "pii-stays-home",
      "prefer": [
        "llm-onprem"
      ],
      "when": {
        "contains_pii": true
      },
      "pin": true
    }
  ],
  "settings": {
    "routing": {
      "min_confidence": 0.35
    },
    "weights": {
      "rules": 2.5
    }
  },
  "objective": {
    "quality": 1,
    "cost": 0.4,
    "latency": 0.1
  },
  "metadata": {
    "owner": "support-platform-team",
    "template": "registry://opensmartroute/support-desk"
  }
}

Fetch it by URL: GET /api/v1/registry/support-desk/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.