About
A Lumiverse extension. It re-runs an AI reply when it fails, comes back empty, stalls partway, gets cut off mid-sentence, or refuses by mistake, so you do not have to catch it and press regenerate yourself.
It works alongside Auto Refine. Auto Retry decides whether a reply is worth keeping. Auto Refine improves the ones that are.
Permissions
6 permissions
Granted on install
Open floating widgets and docked panels.
Read, add, change and hide chat messages.
Needs an admin to approve
Run text generations for you and see your connection profiles.
Read, change and delete your chats.
Read, create, change and delete your characters.
What it adds
5 additions
- 4
Input bar action
Drawer tab: Auto Retry
Float widget
Input bar action: Auto Retry settings
- 1
Prompt interceptor
Version and source
2 details · 1 link
Details
5.25.1
0.1.0
Links
What it does
It watches each reply and tries again when:
the provider sends back an error (by default it skips errors that will not go away, like a wrong API key)
the reply comes back empty, including one that "thinks" but never writes anything
the thinking or the reply is one character over and over, like
!!!!!!!!(see One character over and over)the reply turns into a jumble of words from several languages run together (see Garbled replies)
the reply is cut off mid-sentence (see Cut-off detection)
the reply is an accidental out-of-character refusal, or the model breaks off mid-scene
(see Accidental-refusal detection)a reply never starts, or stops partway and nothing more comes for a while
(optional, off by default) the reply is very short
(optional, off by default) the model leaves the scene to offer real-world support
(see Stopping to offer support, and Safety before switching it on)
Also:
Every retry waits a little longer than the last, and longer again when the server says it is busy.
All the reasons share one retry limit, so no reply is retried more than you allow, and it can never loop forever.
(optional, off by default) From the second try, it can send several tries at once and keep the first reply that passes. See Several tries at once.
A reply written by Impersonate into your input box is never retried.
Install
In Lumiverse, open Extensions.
Install from this address:
https://github.com/starlitcode/Lumiverse-Auto-Retry
To see its settings, open the chat input bar, tap Extras, and choose Auto Retry settings.
It works with no setup. Everything else is optional.
You are in control
Stop, or Cancel on the retry pop-up, stops it right away. Any waiting retry is dropped, the count resets, and a stopped reply cannot start again by itself.
Cancel on the pop-up belongs to the extension, so it always works.
To switch it off for one chat, or everywhere, see Turning it off.
More from the README
5 items
Documentation
When it retries: cut-off detection and accidental-refusal detection
All settings: every option with its default, the panel, and turning it off
Several tries at once: what it does, what it costs, and when it is used
Buttons it clicks: fixing the regenerate button, Regeneration Feedback, writing selectors
The on-screen panel: the log, the prompt viewer and the stats
Import and export: moving your setup between devices
Reporting a bug
Safety: who this is for, the one setting that asks before it turns on, and what the retry loop can turn into
Privacy: what the extension can and cannot reach, what it keeps, and how to check any of it
Security policy: how to report a security problem
Changelog: what changed in every version
How it works
It listens to Lumiverse's own generation events. When a reply goes wrong, it presses your swipe or regenerate button to try again.
Pressing that button is the only part that depends on the page layout. If a Lumiverse update moves the buttons, Buttons it clicks shows how to point it at the new ones.
A small backend keeps your settings with your account, not in one browser, and holds the retry note for the one reply it is meant for.
With Several tries at once on, the backend also asks Lumiverse to send the prompt to your model several times, and adds the reply that passes as a new reroll.
It makes no network calls of its own. Privacy covers the six permissions it asks for and what still works without each one.
The files Lumiverse loads are
dist/frontend.jsanddist/backend.js. They are plain, readable JavaScript. Nothing is minified. Privacy goes through the rest of the repo file by file.
Help and feedback
Questions, bug reports and ideas are welcome in my Auto Retry post on the Lumiverse Discord server, or as a GitHub issue. Contributing says what to put in a bug report.