jev-demo
E-commerce support sandbox where Jev classifies intent, emotion and escalation and blocks risky agent replies before sending.
Overview
This Chinese-language sandbox simulates e-commerce customer service with Jev routing and guarding the conversation. For each customer message, one Jev call returns primary intent (14 classes), emotion intensity (5 levels), urgency (4 levels), whether to hand off to a human, and user-side risk type such as regulatory complaint, media exposure, lawsuit, personal attack or suspected coupon abuse. For each agent message, another set checks dangerous phrasing (10 types), service quality, empathy and whether a concrete solution was offered.
Answers are normalised and passed through a first-match decision table that assigns a queue, priority and SLA, while an interceptor blocks or warns about risky agent wording before it is sent and suggests a rewrite. All policies, routes and scripts live in JSON files that reload on each request. It runs without a key on a mock rule engine with the same output shape and 12 replayable scripts, and has 34 unit tests.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What is the customer's primary intent? | — |
| Score | How intense is the customer's emotion? | — |
| Yes / no | Should this conversation be handed to a human? | — |
| Choice | What type of dangerous phrasing, if any, does the agent's reply contain? | — |
How it works
- Message arrives from customer or agent
- Jev answers the matching policy question set
- Decision table maps answers to queue, priority and SLA
- Interceptor blocks or warns on risky agent replies with rewrite suggestions
Strengths
- Data-driven policies editable without code changes
- Runs with a mock engine when no key is set
- Pre-send interception of risky agent wording
Caveats
- Demo sandbox, not a production help desk
- Documentation in Chinese
Getting started
`npm install && npm run dev` and open http://127.0.0.1:5173; add TYPESAFE_API_KEY to .env to switch from Mock to Jev.At a glance
- Type
- App
- Status
- prototype
- Language
- TypeScript
- Runtime
- Node web app
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
This project integrates Jev to provide structured decisions for its workflow. See the repository for implementation details.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Customer intent, emotion, urgency, escalation and risk, plus agent reply risks and quality.
Can I run it without a key?
Yes, a built-in mock rule engine produces the same output shape.
How do I change the rules?
Edit shared/policies.json and shared/routing.json; changes apply on refresh.
Related projects
Customer-service platform rebuilt from OpenAI's ChatKit sample where one Jev call decides intent, emotion and handling agent.
MCP serverbetaPythonPython example classifying customer support messages into 12 intents with Jev, flagging clarification below 0.8 confidence.
ProjectprototypePython.NET 10 and React 19 ticket triage where Jev answers five typed questions in one call and .NET business rules make the final routing.
ProjectprototypeC#Symfony demo that triages French public-service requests with one Jev call each: intent choice, urgency score and bug noul.
AppprototypePHPCloudflare Flue agent example that adds a validated route_with_jev tool for typed support routing through AI Gateway.
ServiceprototypeTypeScriptCustomer-service chatbot that asks every level of a routing tree in one Jev call and hands off on human requests or low confidence.
AppprototypeTypeScript