Skip to content

SkyrimNet Beta29.1

Choose a tag to compare

@MinLL MinLL released this 02 Nov 00:15
· 29 commits to main since this release
0194eeb

Prompt Caching Plugin 1.6.0 Officially Adopted

On a provider with prompt caching, NPC replies, the player's dialogue and thoughts, and the Universal Translator reuse the parts of the prompt that stay the same between turns, which lowers cost and time to first word.

  • These are the prompts from the "Skyrimnet Prompts - Cache Enabled" plugin. An installed hub copy stops being used.
  • NPC replies end with the lines said since the NPC last spoke, so the model reads the latest line last.
  • Lines between other people are marked as overheard, so companions stop answering each other's asides.
  • Your own edits to these prompts keep their old layout and go uncached.

Improved Facial Expressions for supported TTS engines

With Inworld (your own key) or Fateless voices, NPC mouths now follow the audio's own timing instead of a guess from the text. The engine sends timed mouth shapes with each line, and lipsync plays them.

  • On by default: Voice > Animation Tuning > Visemes From TTS.
  • Other TTS engines, lines replayed from the voice cache (silent vanilla lines, dialogue-menu picks) and lines with a voice effect still follow the text.

Dialogue

  • Looking at an NPC now decides who responds — Continue Narration always hands the scene to the NPC in your crosshair, and they choose who to talk to. When you speak, the NPC you are looking at answers even if you were just talking to someone else, unless you name or clearly mean somebody else.
  • Prompt Cache Improvements — This release should significantly improve cache utilization, reducing costs and increasing speed.
  • SeverActions' action guidance is off for now — SkyrimNet's own 0750_embedded_actions is used in place of SeverActions' override, so the action list isn't sent twice in NPC replies. SeverActions stays on and its actions still work, but until its update lands, its rules for when to act are not used, so NPCs may act more readily. To keep its version, pick SeverActions for that file under Installed > SeverActions > Files; the action list is then sent twice.
  • Merchants, innkeepers, trainers and carriage drivers answer plainer requests — The service lines an NPC can fire now say when to use them, so a request worded your own way is more likely to open the shop, rent the room, start the training or set off.

Speech & Audio

  • Fateless voices are requested at 44.1 kHz — Fateless lines are requested at 44.1 kHz instead of 24 kHz, matching what SkyrimNet asks of Inworld by default. Existing voices are kept, with no re-clone.
  • Fateless voices default to the faster model — New Fateless setups speak with fateless/speech, which is faster and cheaper. It makes sounds like [sigh] but ignores delivery directions like [say bitterly]. To keep directions, pick fateless/speech-plus on the Fateless tab. A setup whose Fateless settings are already saved stays on its model.

Content Library & Plugin Hub

  • A plugin that became part of SkyrimNet stops overriding it — If SkyrimNet has absorbed a plugin you have installed, the installed copy stops being used even if you never uninstall it. A banner and a "Now in SkyrimNet" badge on the Installed page say so; local copies stay on. Used to avoid my old Cache Enabled plugin from overriding future updates.

For Mod Authors

  • Base can keep a single file over a plugin's override — skyrimnet.base can pin one file to itself in its manifest, without touching the rest of the plugin. It currently holds 0750_embedded_actions, so a plugin's override of that file is not used. This was done to temporarily prevent SeverActions from overwriting our prompt cache support for this file, which otherwise significantly drives up cost. Your own pin, an overlay edit or a local plugin still wins.
  • Overrides of the moved prompt sections need a check — NPC replies now render 0500_response_format, 0650_audio_tags and 0750_embedded_actions in a separate section of the cached system message. An override of 0500 or 0650 needs a stable_split check, or that section appears twice in NPC replies.

Bug Fixes

  • Memories lost when a generation failed — A scene whose memory failed is retried even after a later scene succeeds; one still failing after 12 tries waits for the next session.
  • Player thoughts about events sometimes stayed silent — A thought your character has about something happening nearby is now voiced like any other, and saves to history clean.
  • Fateless voices drawl less — NPCs on Fateless now use voice directions only for strong moments and no longer ask for slow delivery, so ordinary lines stop coming out slow and drawn out.
  • Actions ignored when the model wrapped its reply in a code block — With structured outputs on, an action reply in a Markdown code block runs the action instead of doing nothing.
  • C++ API header — PublicAPI.h can now be included from more than one source file, and its comments give the right action categories, eligibility keys and CRT (/MT).
  • Record-only plugins show on the Plugin Hub — A hub plugin that ships only filters, voice effects, items or other records now appears in Browse; two new Content boxes, Virtual NPCs and Records.

@MinLL on all of the above.