Skip to content

SillyMemory 0.2.0 (experimental)

Pre-release
Pre-release

Choose a tag to compare

@swkim86 swkim86 released this 03 Oct 11:07
· 66 commits to main since this release
98d28b1

SillyMemory 0.2.0 (experimental)

Long-term memory for SillyTavern. Powered by LambdaDB.

Release date: 2026-10-03. Install from https://github.com/lambdadb/SillyMemory
through Extensions → Install extension, leaving the branch/tag field empty
to follow main. See the installation guide.

Changes

  • Memory requests go directly from the browser to LambdaDB over HTTPS/CORS.
    No host proxy configuration or restart is required. Cookies and host CSRF
    headers are omitted, and the API key remains session-only.
  • Each character chat and native branch gets its own owned collection. Chat
    renames retain identity; branches and duplicates index independently.
    Current-chat deletion preserves other chats; all-owned cleanup also discovers
    this installation's tagged collections after browser bookkeeping loss.
  • Long-message chunks prefer paragraph, sentence and word boundaries within
    800 Unicode code points, with exact source offsets and no overlap. New layout
    IDs allow reindexing without accepting obsolete chunks as current evidence.
  • Recalled passages keep user/assistant roles, speaker names and literal source
    text. Retrieval considers the latest anchor and a separate contextual turn,
    including assistant context and explicit Continue generation.
  • Identical selected excerpts share one body with all selected source positions,
    leaving room for distinct context. Defaults remain 12 recent messages and an
    adjustable 800-token memory budget. Vector retrieval remains the default;
    the evaluated hybrid candidate was rejected.
  • Memory in the last prompt distinguishes prepared memory from memory
    verified in the final host prompt. Stop on missing context defaults on and
    cancels generation before the model request when verifiable context is lost.
    Adjust context/output settings and retry, or disable the option to proceed
    with a warning. The submitted user message remains in the chat.
  • Final-prompt verification requires complete message/line boundaries, so a
    missing short turn such as OK cannot be verified by BOOK A TRIP. Known
    speaker prefixes and line-separated injections remain supported.
  • A pending final-prompt check cannot be overwritten by another generation.
    If another extension prevents its final event, reload before trying again.

Update and remote data

Use Manage extensions → SillyMemory →
Update
, reload, enter the LambdaDB key again and re-enable memory. Ownership,
recent-message settings and memory budget remain intact. Existing installations
receive the default missing-context stop behavior. No separate embedding-provider
key or integration is required: embeddings remain managed by LambdaDB.

The first enabled sync rebuilds each opened chat into a separate collection
from its local SillyTavern history.
It does not move or delete the old 0.1.0
shared collection. That collection's cleanup pointer is retained. New indexing
consumes managed embedding usage and storage; old and new copies may coexist.
Boundary-aware layout changes also reindex affected chunks in existing development
chat collections. Allow synchronization to finish before evaluating retrieval.

Delete this chat’s remote memory removes only that chat's collection.
Delete all owned remote memory removes all this installation's chat/branch
collections and its previous shared memory. It is not a legacy-only cleanup
button. Local chats remain and can rebuild memory after preparation and enabling.
Back up SillyTavern data before updates or cleanup. Native chat deletion and
extension uninstall do not automatically remove remote collections; use the
appropriate memory deletion control first when remote removal is intended.

Rollback

Disable memory first if an update causes problems. Advanced users may pin the
published v0.1.0 tag following RELEASING.md. Code rollback
does not undo remote writes or chat metadata changes. Version 0.1.0 does not
understand the new per-chat collections; use 0.2.0 cleanup before a permanent
downgrade/uninstall if those collections should be removed. Do not delete remote
memory merely to switch code versions. The installation test checks code rollback
after remote cleanup, not reversal of a live data migration.

Evidence and remaining limits

The release validation record separates Git URL/UI upgrade,
real managed-memory integration, and retained emulator evidence. These checks
establish installation and lifecycle behavior, not answer-quality improvement.

The historical 42-question English evaluation
scored 24/42 with SillyMemory at 32K, 14/42 with plain 32K and 29/42 with full
history at 128K. Median answer-input tokens were 3,282, 31,403 and 104,933.5,
respectively. This supports a token/accuracy tradeoff on that consumed split,
not equal full-history quality. It predates the collection/chunking changes.
The earlier 64-answer synthetic run scored 30/32
memory-on and 4/32 off with provisional grading; its two Korean quotation misses
remain documented. Neither result is a fresh evaluation of this release tree.
Boundary-aware chunking improved source-boundary preservation in a small pilot;
it did not demonstrate an answer-accuracy gain. No hybrid-search benefit is claimed.

Only SillyTavern 1.19.0 is validated. LambdaDB must allow the browser page
origin; this version needs no SillyTavern proxy setting or restart. See the
direct-CORS validation for the new transport boundary.
API keys stay in browser memory and must be re-entered after reload. Use one
active tab per browser profile. Group chats, files/tools and other prompt-rewriting
memory extensions remain outside support. Cross-device setup and long-duration
operation are not newly validated. Browser journal loss can leave obsolete remote
records; local-source validation rejects them, but complete cleanup can require
recreating the owned collection. Ownership recovery requires the installation's
owner identity; a remote collection alone is not portable chat state.

Licensed under AGPL-3.0-only. This remains an experimental pre-release,
not a stable-support commitment.