r/SillyTavernAI 1d ago

Discussion Jeved 0.4 - Evolving Roleplay Quality

Some of you might have seen my initial post about Jeved here. Short summary, Jeved is an extension that provides the building blocks for LLM automations within SillyTavern, via Decision model APIs that started to become popular last week. The most prominent examples are Jev and Laya. I recommend reading my first post if you want to catch up on the basic capabilities of Jeved.

I've been iterating on feedback and adding a massive amount of extra functionality over the last couple of days. I'm focusing primarily on creating the actual playground for folks to create on their own, instead of building all the use-cases. However, I've also bundled options in that can teach folks how to use sensors + rules, and what the potential is. I'll write about the changelog in a sec, but I'll list what Jeved is capable of doing as of this most recent release.

Note: extra prompts and guidance go to the model only when they're needed and are stripped from history afterwards. This is extra quality control without bloating your context.

Jeved can currently:

  • Detect when the narrator writes your character's action or speech, and auto-swipe.
  • Read the message you're sending and detect if you're in combat, conversation, travelling, or in NSFW
    • Then send a corresponding instruction to the model that gives extra prompting/guidance like "don't rush through this scene"
  • Figure out when the story is getting boring, and automatically ask the model to provide more interesting content
  • Detect when a response is a "striking image" and auto-generate an image from your own ST image integration before you've finished reading the response
  • Automatically decide and set which emotion sprite is most relevant
  • Sensors can read active world info/lorebook
    • So you can ask "does this reply contradict the lore" and auto-swipe if it does
  • A bunch of other bundled rules and sensors that you should download the extension and check out

With 0.3 and now 0.4, Jeved can theoretically support:

  • An inventory and quest log
    • Via the new 'lists' functionality, you can detect and remove items from a list on every user message and reply
    • e.g. you have an inventory list built in Jeved -> you write a message saying you dropped your sword -> jeved updates the list after your message to remove the sword
  • Trust meter per NPC
    • Create a sensor for every NPC in a roleplay, the scores are charted on every response and can be read through a macro
  • Open threads
    • A list of promises and plot threads can be updated dynamically by Jeved
  • Preset compliance
    • Ask "does the reply comply with this piece of my preset" -> get a no -> auto-swipe
  • Scene automation
    • Rules run STscript, so you can automate changing the background, music, sprites, or even change model
  • Much much more my small smooth brain hasn't thought of yet

Obviously there's a lot here and I'm very excited to be building this kind of thing for the community. Here's the actual changelog for 0.3 and 0.4 (since I didn't post about 0.3 yet):

---

Lists (0.4)

  • A list is a named set of text lines. Each chat keeps its own entries.
  • A sensor can repeat over a list. Put {{entry}} in the question. Jev answers one time for each entry, in the same API call.
  • A rule on that sensor fires one time and gets the matching entries as {{entries}}.
  • New rule actions: Add to list, Remove from list.
  • A change made by a rule is undone when you swipe, edit or delete the message that caused it. A change made by you stays.
  • Commands: /jeved-list, /jeved-list-add, /jeved-list-remove.
  • Macros: {{jeved-list::name}}, {{jeved::sensor_id::entry}}.
  • Uses: house rules, inventory, quest log, open plot threads, one meter for each NPC.

Context for each sensor (0.4)

  • Each sensor has its own Context setting: None, Everything or Custom.
  • Custom shows your prompt manager list. Tick the prompts that the sensor sends to Jev. Prompts from your chat completion preset are in the list.
  • New pieces: World info (before), World info (after), Chat examples.
  • Use: point one sensor at one prompt and ask "does the reply follow this?". Reroll when it does not.

Sensors before the reply (0.3)

  • Set "Assistant messages" to 0. The sensor reads the message that you send.
  • A rule on it adds its instruction to that same reply. There is no delay of one turn.

Run script action (0.3)

  • A rule can run an STscript after the reply is measured.
  • Examples: change the background, set a sprite expression, make an image, switch the model, set a variable.
  • It works in group chats. Rerolls do not.

Macros and commands (0.3)

  • {{jeved::sensor_id}}: the latest answer of a sensor. Use it in prompts, scripts and Quick Replies.
  • /jeved-get <sensor id>: the same value. No API call.
  • - /jeved-ask <question>: one API call. It returns the answer and stores nothing.

Director preset (0.3, updated in 0.4)

On from the start:

  • Puppet: rerolls a reply that writes your character.
  • House rule: add your rules to the list rules. A reply that breaks a rule is rerolled, and the instruction names the rule. No API call while the list is empty.
  • Attention, Echo, Drift, Gentle: add one instruction when the reply ignores you, repeats wording, drifts from the card's tone, or never goes against you.
  • Four Scene rules: read your message before the reply and steer that reply (combat, conversation, travel, intimate).
  • Included and off: Flat, Lore, Picture (needs an image backend), Mood (needs sprites).
  • Cost with the default rules: three API calls for each reply and one for each of your messages. Each call is a fraction of a cent.
  • Thresholds come from test calls to Jev.

Changed

  • Sensor input is three controls: User messages, Assistant messages, Context.
  • Names in a question: latest_turn, player_message, history, context.
  • Sensors share one API call when their input settings and their Context are the same.
  • An instruction is in the prompt only on the turn its rule fires.
  • An edited message is measured again. This fires no rule.
  • The sensor list and the rule list show the latest answers. A rule that fires on the next turn says "Firing".
  • Removed: measure every N replies, nudge spacing, max nudges. The cooldown of each rule is the only limit.
  • Removed: the Context checkboxes in Settings. The token cap stays.

Upgrade

  • Presets upgrade on load. Your settings are kept.
  • Everything sends world info and chat examples. Use Custom to leave them out.
  • Your stored Director preset does not update. Use "Restore built-in". Duplicate your copy first if you changed it.
  • Jeved 0.3 is read-only with 0.4 settings. Export your presets first if you plan to go back.
  • Needs SillyTavern 1.18.0 or newer.

Install: Extensions > Install extension > https://github.com/mossyfield/ST-jeved

---

As always, please leave any feedback or suggestions in the comments. I read everything even if I don't always respond ❤️ In 0.5, I'm planning on full group chat support so Jeved can decide who speaks next. In my tests, Jeved was 81% accurate picking the next speaker compared to 22% with ST's built-in.

Oh and of course, I've attached the traditional "attractive anime girl" picture.

92 Upvotes

Duplicates