Skip to content

jev-bot

Self-hosted Feishu bot and web workbench for Jev choices with probabilities, plus experimental word-by-word writing.

ServiceprototypeMIT

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

TypeQuestionAnswers
ChoiceWhich of these alternatives is the best answer to the user's question?—
ChoiceWhich word or character comes next?—

How it works

  1. User asks a question in Feishu or the web UI
  2. Optionally a text model proposes 2-5 alternatives
  3. Jev chooses among alternatives with probabilities
  4. 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-projects
  • Self-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.

    ProjectbetaKotlin
  • Windows version of XianHui that OCRs the visible WeChat window locally and uses Jev to rank which messages must be answered first.

    ProjectbetaPython
  • Local-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
  • 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 extensionproductionTypeScript
  • AstrBot plugin where Jev decides whether the bot should join a group conversation; the main model still writes the reply.

    ProjectproductionPython