Skip to content

Sends each finished reply, or a message of your own, to a model with a prompt of writing rules you can read and edit, and saves the rewrite only if it passes its checks. The text it replaced is kept, so you can put it back with one tap.

Published September 25, 2026auto_refine

views
58
downloads
Auto Refine

Auto Refine

ExtensionNo adult content

Spindle extension · works in Lumiverse

Installed by readers on Lumiverse 1.2.5.

Versions · 44

32 earlier

v1.55.1 · November 9, 2026 · Latest

Bug fixes

About

A Lumiverse extension. It sends a finished reply to a model with the rules you wrote, and saves the rewrite over the original.

  • It leaves the greeting alone. A person wrote that message. Refine the greeting, off by default, is the only way to change this.

  • Nothing is written that you cannot undo. Put it back restores the wording a refine replaced.

It works alongside Auto Retry. Auto Retry decides whether a reply is worth keeping. Auto Refine improves the ones that are.

Permissions

8 permissions

Granted on install3 permissions

  1. chat_mutation

    Read, add, change and hide chat messages.

  2. ui_panels

    Open floating widgets and docked panels.

  3. decisions

    Illarin has no description of this permission.

Needs an admin to approve5 permissions

  1. generation

    Run text generations for you and see your connection profiles.

  2. chats

    Read, change and delete your chats.

  3. interceptor

    Change a prompt before it reaches the model.

What it adds

4 additions

Found in the extension’s code. Anything named only while it runs is not listed.

  • UI surfaces3
  • Float widget

  • Input bar action

  • Drawer tab: Auto Refine

  • Generation hooks1
  • Prompt interceptor

Version and source

2 details · 1 link

Details2 details

  • Version

    1.55.1

  • Minimum Lumiverse version

    0.1.0

Links1 link

What it does

  • Refines replies. Press a button to refine the latest reply, or go through every reply in a chat. Automatic refining of each new reply is off until you turn it on.

  • Refines part of a reply. Select some text and refine only that, or take it out.

  • Refines messages you have already sent. Refine your latest message, all of your messages in a chat, or one message from its own button. This is never done automatically. Your messages get their own prompt, which fixes mistakes and leaves your style alone.

  • Refines what you are still typing. An optional button rewrites the draft in the input box, before you send it.

  • Shows what changed. After a refine, the tab shows the before and after, either mixed in one text or side by side.

Every way to refine lists each button, where it is, and what it needs.

It lives in a tab in the sidebar drawer, so you can keep it open while you write.

Unsupported formatting is hidden here. The original text is preserved in downloads.

Install

  1. Install from this address:

    https://github.com/starlitcode/Lumiverse-Auto-Refine
  2. Open the sidebar drawer and pick the Auto Refine tab.

A prompt comes with it, so switching it on is all the setup you need. Everything else is optional. For the settings that work well for most people, see What to use.

Unsupported formatting is hidden here. The original text is preserved in downloads.

You are in control

  • The switch at the top stops everything. No refine runs and no model is called.

  • Turn off here, on the Setup tab, leaves one chat alone.

  • What to refine, on the Setup tab, picks replies, your own messages, or both. The buttons for the other side are hidden.

  • Ask before saving a refine shows you each rewrite before it is written.

  • Put it back undoes a refine.

More from the README

9 items

  1. What it checks before saving

    A rewrite is dropped, and your reply is left as it was, when:

    • the model talks about the edit instead of making it, like "Here is the rewritten message"

    • the model declines, sends nothing, or changes nothing

    • the rewrite is much longer or shorter than the reply (you set both limits)

    • the rewrite lost your formatting, such as tags, code or image links

    Also:

    • The model's own thinking is never sent, so a rewrite cannot change it.

    • The original is kept so you can put it back, even after a reload. An update or a restart of Lumiverse clears it, unless you keep it through one on the Limits tab.

    • Every check says why it fired, in the Log tab.

    More in What it refuses to save.

  2. The tabs

    | --- | --- |
    | Prompt | The request, block by block, the macros, and your presets |
    | Context | How much of the chat and lorebook goes in, and a preview of what is sent |
    | Model | Which connection refines, thinking, the timeout, samplers, and two models (beta) |
    | Limits | What it protects, what it refuses to save, and what it does before it writes |
    | Log | What is happening now, what it did, what the last refine cost, and a bug report button |
    | Setup | This chat, alerts, the optional buttons, import and export, and resetting |

    The switch, the refine buttons and the refines you can put back sit above the tabs.

  3. What it costs

    A refine is a second model call on every reply it refines. To spend less:

    • Refine using (Model tab): point it at a cheaper model than the one you chat with.

    • Let it think first (Model tab): off by default. Rewriting does not need a reasoning model.

    • How much it is told (Context tab): less chat history means a cheaper call.

    • Two models (Model tab, beta): a small second model, through one of your Decision connections, checks each reply first, so only the ones that need it are refined. It can be wrong, so a reply that needs a refine is sometimes left alone. See It can be wrong.

    Several rewrites at once (Limits tab) costs more, because each rewrite it writes is a whole call. It is off by default.

    Put your provider's prices on the Model tab to see costs in money instead of tokens. On a free tier or a local model, Wait out a provider that will not take the call (Limits tab) waits and tries again when the provider is busy.

Unsupported formatting is hidden here. The original text is preserved in downloads.