explaingit

icefog72/sillytavern-everytextlineeditor

13TypeScriptAudience · generalComplexity · 2/5ActiveLicenseSetup · easy

TLDR

SillyTavern extension that consolidates prompts, presets, lorebook entries, personas, and connection profiles into one in-app editor with diff and local history.

Mindmap

mindmap
  root((EveryTextLineEditor))
    Inputs
      Prompts
      Lorebooks
      Personas
      Connection profiles
    Outputs
      Edited sources
      Local snapshots
      Diff views
    Use Cases
      Edit prompts in one place
      Compare prompt revisions
      Manage lorebook entries
    Tech Stack
      TypeScript
      Prism
      Monaco
      IndexedDB

Things people build with this

USE CASE 1

Edit all SillyTavern prompts and presets from a single sidebar

USE CASE 2

Diff a draft prompt against a saved baseline before applying

USE CASE 3

Snapshot lorebook entries locally and roll back changes

USE CASE 4

Switch between Prism and Monaco editors for syntax-highlighted JSON or YAML

Tech stack

TypeScriptPrismMonacoIndexedDB

Getting it running

Difficulty · easy Time to first run · 5min

Requires an existing SillyTavern 1.12.0+ install and a Chromium or Firefox-based browser.

GNU license, meaning derivative works generally must stay open source under the same terms.

In plain English

This repository is an extension for SillyTavern, a desktop chat front-end used with locally hosted or remote AI chat models. The extension provides a single editor that brings together text sources which are otherwise scattered across SillyTavern's menus: prompts, preset text, lorebook entries, personas, and connection profiles. The README explains the goal as letting a user pick a source from one sidebar and edit it without hunting through different parts of the interface. The feature list describes a central source list, lorebook support that lets whole lorebooks be added and entries edited in place, a choice between two editors called Prism and Monaco, diff mode for comparing the working draft against a saved baseline or a history snapshot, local snapshot history, per-source syntax selection between Markdown, JSON, YAML, or plain text, and editor controls for word wrap, spell check, minimap, and scroll sync. Prompts can be toggled on or off and some prompt metadata can be edited. History is kept locally in the browser's IndexedDB, so it does not leave the machine. Installation is done through SillyTavern's extension installer or by cloning the repository into the SillyTavern extensions folder, then reloading SillyTavern and enabling the extension. Requirements are SillyTavern version 1.12.0 or newer and a modern Chromium or Firefox-based browser. A quick start section walks through opening the editor from the top panel, choosing visible categories under Sources, picking a source, editing, and clicking Apply to write changes back to SillyTavern. A separate flow covers using Diff to compare against the baseline and using History to commit, load, or compare snapshots. The editor notes say Prism is the default lightweight editor, Monaco is available for users who want a full code editor, indentation settings apply only to Prism, and Monaco's minimap is hidden during diff mode. Language choice is per source and is available from the status bar. The project layout includes an index.js entry shim, a manifest.json, a stylesheet, TypeScript sources for the editor shell, source manager, panels, history storage, constants, and shared types, plus a compiled dist folder that SillyTavern loads at runtime. Support channels listed are a Discord server, the official SillyTavern Discord, GitHub Issues, and a Patreon page for funding. The license is described as GNU License with the actual text in the LICENSE file.

Copy-paste prompts

Prompt 1
Walk me through installing SillyTavern-EveryTextLineEditor into my SillyTavern 1.12 install and enabling it
Prompt 2
Show me how the SourceManager in EveryTextLineEditor discovers prompt sources and writes them back
Prompt 3
Explain how HistoryStore.ts persists snapshots to IndexedDB and how to clear them
Prompt 4
Give me a workflow for using Diff mode in EveryTextLineEditor to compare a working draft against a snapshot
Prompt 5
How do I add a new source category to the SourcePanel in this extension
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.