jevtest (joshhu)
Chinese 'emotion lie detector' demo comparing Jev's Choice, Score and Noul judgments on a message with a general LLM.
Overview
This jevtest is a web and CLI demo, documented in Chinese, built around one scenario: when someone says 'fine', do they really mean it? The text is sent to Jev through OpenRouter with three questions: a four-way Choice for the real meaning, a four-level Score for how angry the person is, and a Noul for whether you should check in on them right now. The same input is also sent to a general LLM (Gemini Flash Lite by default) for comparison of time, cost and output format.
The page re-asks Jev at every typing pause, shows probability bars and how each character shifts them, tests adding up to 30 extra yes/no questions in one request, and has a two-threshold slider mapping confidence to 'ask directly', 'probe first' or 'act now', for partner, boss and friend scenarios. The author's measurements from Taiwan: 350 to 600 ms per call, 1 question at 396 ms versus 30 at 567 ms, 33 questions for about $0.000045 versus 2,747 ms and $0.002 for the LLM, and probability jitter of about plus or minus 0.03. It also notes Jev reads question wording very literally.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | What does the person really mean? (four options) | — |
| Score | How angry is the person? (four levels) | — |
| Yes / no | Should you proactively check in on their feelings right now? | — |
How it works
- User types or selects a message and scenario
- Jev answers the three questions (plus optional extra yes/no questions)
- Probability bars and per-character trajectories update
- Confidence thresholds map to ask, probe or act
- Same input is sent to an LLM for side-by-side comparison
Strengths
- Clear side-by-side latency and cost comparison with an LLM
- Single OpenRouter key for both models; key stays server-side
- Shows effect of question wording on results
Caveats
- Demo for one scenario
- Documentation in Chinese only
- Latency figures are from one location
Getting started
cp .env.example .env (set OPENROUTER_API_KEY), uv sync, uv run uvicorn app:app --port 8010 (or uv run python main.py for the CLI).At a glance
- Type
- CLI
- Status
- prototype
- Language
- Python
- Runtime
- FastAPI web app and CLI
- Has code
- yes
Use cases and integrations
How curated lists describe it
It provides a web and CLI demo that sends user text to Jev through OpenRouter for Choice, Score, and Noul probability judgments and compares the results side-by-side with a general LLM.
logicrw/awesome-jev-projects情緒測謊器:嘴上說「好」,心裡真的好嗎?用 TypeSafe Jev(System One 模型)透過 OpenRouter 即時判斷,並與一般 LLM 對照.
wh000wh000/awesome-jev-live情緒測謊器:嘴上說「好」,心裡真的好嗎?用 TypeSafe Jev(System One 模型)透過 OpenRouter 即時判斷,並與一般 LLM 對照.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
The real meaning behind a short reply, how angry the sender is, and whether you should check in now.
How does Jev compare with the LLM here?
In the author's test, 33 questions took 567 ms and $0.000045 with Jev versus 2,747 ms and $0.002 with Gemini Flash Lite.
Do I need a TypeSafe key?
No, one OpenRouter key is used for both Jev and the LLM.
Related projects
- jev-arena★ 122
Side-by-side tool comparing Jev and DeepSeek on labelling the same comments for relevance, sentiment and intent, with replay and reports.
ProjectbetaTypeScript pytest-style tool that pins fixtures and expected Jev answers, then fails a model upgrade when answers flip or confidence drops.
ProjectbetaPythonTest harness for any Jev-API decision model: accuracy, calibration and robustness probes for reordering, injection and padding.
ServicebetaPythonExperiments testing whether Jev can spot positive-expected-value dice bets from payout tables, and whether recent wins or losses sway it.
ProjectresearchZero-shot run of Jev 1.13 on all seven LexGLUE legal tasks (23,607 examples) versus GPT-5.6 Luna, open models and fine-tuned BERT.
ProjectresearchPythonPre-specified study running Jev and GPT-4.1 as 300 synthetic survey respondents; question format mattered more than model.
ProjectresearchPython