Skip to content

Intercede v0.6.0

Choose a tag to compare

@TesterBender TesterBender released this 01 Aug 11:50
25e077d

Respond inside an already completed assistant message. Pick a boundary, write your reply, and Intercede regenerates the remainder as a real Assistant → User → Assistant exchange, while keeping the original continuation as recoverable, non-canonical reference material.

Requires SillyTavern 1.18.0+.

Intercede has no server plugin, no telemetry, and no Intercede-operated external service. Generation uses the backend you already have configured in SillyTavern. Undo snapshots and the recovery journal remain in your browser profile.

Highlights

  • Real three-role history

    • The preserved prefix stays as the original assistant text before the cut.
    • Your insertion becomes a genuine user-role message.
    • The rewritten remainder becomes a normal assistant message that can be swiped, compared, or interceded again.
  • Transactional safety

    • Intercede snapshots first, validates cuts against raw message text, proves message ownership before removing anything, and rolls back selectively instead of truncating by length.
    • A recovery journal is kept for interrupted operations such as crashes or refreshes.
  • One-generation prompt lease

    • The rewrite instruction is installed only for the intended generation and cleared on every exit path.
    • If another generation overlaps and strips the instruction, Intercede rolls back rather than committing a continuation that never received it.
  • Exact undo at the chat tail

    • While the intercession is still the latest chat change, undo restores the original message text, swipes, and metadata.
  • Useful diagnostics

    • /intercede diagnostics reports lifecycle and transaction state in a way that is safe to paste into bug reports.

Reliability improvements in v0.6.0

This first release includes the lifecycle and safety work needed to behave correctly on current SillyTavern 1.18.0 behavior:

  • correct handling of generation lifecycle events;
  • abandoned slash-command generation starts no longer accumulate as false concurrent generations;
  • diagnostics now reconcile and report state consistently;
  • continuation capture is conservative without falling back to “just take the latest message”;
  • overlapping quiet/background generations fail closed and roll back safely;
  • failure and recovery notices were polished so users receive clearer, less contradictory messages.

Diagnostics

  • /intercede reset and Intercede.resetDiagnostics() clear diagnostic counters and logs only.
  • A bounded lifecycle log of metadata only can be included for debugging.
  • The log is designed not to include prompt or chat content.
  • Composer diagnostics may report 0 open — 1 reconciled now, because the command itself creates a start that SillyTavern abandons before normal generation proceeds.

What was tested for this release

Automated suite:

  • 257 tests across 17 files

Live testing on SillyTavern 1.18.0 with a streaming chat-completion backend included:

  • clean diagnostics baseline;
  • three consecutive composer /intercede diagnostics calls with no records accumulating;
  • a normal intercession commit;
  • the comparison view;
  • undo restoring the original;
  • cancellation during generation;
  • a deliberately provoked nested quiet generation that stripped the rewrite instruction, which Intercede correctly rolled back instead of committing.

Coverage notes

The following were not exercised for this release:

  • non-streaming cancellation;
  • text-completion backends;
  • local-LLM backends;
  • mobile layout;
  • full keyboard-only pass;
  • extended soak/repetition testing in one session;
  • broad third-party extension compatibility matrix.

These are coverage gaps, not known faults. Reports from environments outside the tested set are welcome, and /intercede diagnostics is intended to make those reports more useful.

Known limitations

  • Latest completed assistant message only.
  • One intercession at a time.
  • Group chats are not supported yet.
  • Undo is available only while the intercession is still the chat tail.
  • Undo snapshots live in browser storage and do not travel with exported chats.
  • Intercede does not cut inside code fences, inline code, HTML tags, macros, paired Markdown emphasis, list runs, or links.
  • If another extension disturbs an intercession mid-generation, Intercede rolls back rather than trying to repair the result.

Installation

Install as a SillyTavern extension from this repository.

License

MIT.