jev-bot
Self-hosted Feishu bot and web workbench for Jev choices with probabilities, plus experimental word-by-word writing.
Overview
JEV Bot is a self-hosted Feishu (Lark) bot and web decision workbench powered by Jev. In automatic mode a text model turns a question into 2-5 concrete alternatives and Jev independently chooses among them, with every candidate shown and editable; in manual mode you supply 2-8 options and get Jev's probability distribution directly, with no extra unknown option inserted.
It also has experimental writing modes built entirely from repeated choices: word writing picks a function word or letter bucket and then a complete word (temperature 0.7 by default, or greedy, up to 24-48 tokens), and character writing picks the most probable character from a-z and space. The README is candid that writing outputs may repeat or be ungrammatical and that probabilities are model preferences, not proof of correctness. The Feishu integration supports private messages, group mentions, guided input, cancellation, durable deduplication and probability cards; the web UI has editable options and history cleared on reload. It needs Node 22.22+ and no frontend build, and is MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which of these alternatives is the best answer to the user's question? | — |
| Choice | Which word or character comes next? | — |
How it works
- User asks a question in Feishu or the web UI
- Optionally a text model proposes 2-5 alternatives
- Jev chooses among alternatives with probabilities
- Show probability cards; or loop choices for experimental writing
Strengths
- Shows every candidate and its probability
- Works inside Feishu chats
- Jev-only mode available without a text model
Caveats
- Writing modes are experimental and often poor
- Automatic mode needs a separate text-model endpoint
Getting started
`git clone https://github.com/nssmd/jev-bot.git && cd jev-bot && npm ci && cp .env.example .env && npm start`, then open http://localhost:8787.At a glance
- Type
- Service
- Status
- prototype
- Language
- TypeScript
- Runtime
- Node server, Feishu bot, web UI
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Self-hosted Jev decision workbench and Feishu bot: automatic choices, probabilities, and experimental word/character writing.
logicrw/awesome-jev-projectsSelf-hosted Jev decision workbench and Feishu bot: automatic choices, probabilities, and experimental word/character writing.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Which of several alternatives best answers a question, or the next word or character in writing mode.
Do I need another model?
Only for automatic alternative generation; manual and writing modes use Jev alone.
Can Jev write text this way?
Experimentally, by repeated choices, with often poor results as the README warns.
Related projects
Android and Windows message-priority assistant where Jev scores urgency and reply-now for each message and sorts them by colour.
ProjectbetaKotlinWindows version of XianHui that OCRs the visible WeChat window locally and uses Jev to rank which messages must be answered first.
ProjectbetaPythonLocal-first work-message classifier that uses Jev to sort chat messages into urgent, to-do, worth reading and skip, with cross-chat to-dos.
ProjectbetaJavaScript- jev-chat-windows★ 802
Windows WeChat reply assistant: local offline OCR reads the chat, Jev judges intent and tension and ranks three drafted replies to fill in.
ProjectproductionPython IDE and browser extensions to find and install agent Skills and Subagents, with an opt-in Jev check when local detection can't decide.
Browser extensionproductionTypeScriptAstrBot plugin where Jev decides whether the bot should join a group conversation; the main model still writes the reply.
ProjectproductionPython