Skip to content

Releases and Upgrades ​

2.8.2 · October 28, 2026 ​

2.8.2 improves the 3D galaxy view with weighted communities, thick spiral arms, stable motion, layered relations and star dust, while fixing precise picking and detail expansion in large graphs. No configuration changes, database migration or new runtime dependencies are required.

Download 2.8.2

What changed ​

  • Communities and shape. Scoped weighted Louvain groups are positioned using real relationship strength. Large communities form thick arms, while small groups and isolates form clusters; branches and terminals fill continuous radial space.
  • Stable motion. Worker geometry is preserved through slow system rotation and bounded local gravity. Hover/focus pauses that system's bulk rotation and resumes its saved state.
  • Relations and light. Overview shows community curves, approaching reveals internal structure, and selection highlights direct relations. Full mode retains every edge. Dust is decorative; each valuable source prefers a summary node for its pulsar cue.
  • Interaction and tooling. Picking follows screen positions and details follow the inspected center. A manual generator defaults to 10,000 nodes / 200,000 relations / 1,200 archived synthetic memories; repeated runs append more data.

Verification ​

  • Full CI passed 1,161 backend and 147 frontend tests; feature PR #366 passed CI.
  • Dashboard and documentation builds pass. Equivalent sandbox checks cover motion, actual picking, focus, zoom, mobile sizes, pause and visibility; details remain readable across eight appearance/theme combinations. A local synthetic 10,000-node/200,000-relation complete view reaches approximately 25 FPS; results vary by device and data.

Install and upgrade ​

  1. Keep existing data and configuration, download Source code (zip) from the release page, and replace the code.
  2. Reload the plugin and hard-refresh, confirming version 2.8.2. Backend community fields require the new frontend and backend to load together; select Resume motion if reduced motion is enabled.
  3. Release archives contain offline frontend assets. Visual fixtures are appended only by manually running the script; select livingmemory:visual:galaxy to view existing fixtures as a full graph.
  4. For a Git installation, switch a clean checkout to the tag:
bash
git fetch origin --tags
git switch --detach 2.8.2

2.8.1 · October 28, 2026 ​

2.8.1 improves the 3D memory graph's spatial layout, motion and reading interactions, adding hierarchical gravity, stellar coronas and high-value pulsars while fixing focus pivots and detail themes. No configuration changes, database migration or new runtime dependencies are required.

Download 2.8.1

What changed ​

  • Gravity and hierarchy. Memory types and real ties choose attractors, with a shared spin direction per system. Interior branches spread out and terminal nodes move closer, retaining depth and radial ordering throughout motion.
  • Stars and pulsars. Representative nodes have coronas; facts and summaries associated with memories rated at least 8/10 show pulsing halos and rotating beams.
  • Focus and themes. Rotation uses actual selected coordinates, with projection offsets reserving drawer space. Details, edit fields and mini graphs share a dark palette; returning to 2D restores the previous theme. Overview and selected relations are brighter.
  • Large graphs. Gravity work grows linearly with node count; relations share positions without rebuilding their indices. Pause, hover/focus holds, reduced motion and background suspension are supported.

Verification ​

  • All 1,155 backend and 136 frontend tests pass; feature PR #361 passed CI.
  • Dashboard and documentation builds pass. Browser sandbox checks cover motion, focus, zoom, mobile sizes and visibility changes. A local synthetic 5,000-node/100,000-relation workload reaches approximately 26 FPS; results vary with real data and devices.

Install and upgrade ​

  1. Keep your existing data and configuration, download Source code (zip) from the release page, and replace the plugin code.
  2. Reload the plugin and hard-refresh the dashboard, confirming version 2.8.1. If reduced motion is enabled, select Resume motion in the 3D graph to enable animation explicitly.
  3. Release archives include all offline frontend assets; using the plugin does not require Node.js. Run npm ci and npm run build:dashboard only after changing frontend sources.
  4. For a Git installation, switch a clean checkout to the tag:
bash
git fetch origin --tags
git switch --detach 2.8.1

2.8.0 · October 28, 2026 ​

2.8.0 adds an independent warm-lit 3D graph. Clicking a node moves the camera closer and exposes its memories; search, memory focus and selection sharing work across 2D/3D. GPU batches and a separate layout Worker support large graphs, and full requests no longer truncate at fixed counts. No configuration changes or database migration are required.

Download 2.8.0

What changed ​

  • Independent visuals and interaction. Rotate, pan, zoom, focus nodes and browse related memories in a warm-lit space. The 3D view hides extra headings, statistics and repeated metadata.
  • Large graphs. GPU batches draw nodes and indexed relations, a Worker computes the 3D layout, and rendering stops when settled or hidden. Toggle between structural overview and All relations.
  • Host compatibility. An embedded Blob Worker works inside AstrBot's sandbox iframe and fixes Worker construction from origin null.
  • Community. QQ group 1, 953245617, is full; the new group 2 is 1129994749.

Verification ​

  • All 1,155 backend and 115 frontend tests pass; feature PR #353 passed CI.
  • Dashboard and documentation builds pass. Browser sandbox checks cover camera focus, touch input, memory focus and synthetic workloads up to 5,000 nodes / 100,000 relations. Results vary with real data and devices.

Install and upgrade ​

  1. Keep your existing data and configuration, download Source code (zip) from the release page, and replace the plugin code.
  2. Reload the plugin and hard-refresh the dashboard, confirm version 2.8.0, then select 3D Space on the graph page.
  3. Release archives include all offline frontend assets; using the plugin does not require Node.js. Run npm ci and npm run build:dashboard only after changing frontend sources.
  4. For a Git installation, switch a clean checkout to the tag:
bash
git fetch origin --tags
git switch --detach 2.8.0

2.7.3 · October 26, 2026 ​

2.7.3 is a runtime fix release that resolves persistent SQLite write locks after failed transactions and reflection-window backlogs that could not be drained in one trigger. It also adapts to the asynchronous Provider and Plugin View APIs in AstrBot 4.27.3+. There are no new runtime dependencies or mandatory migration steps; as a stable release it participates in AstrBot's update prompts normally.

Download 2.7.3

What changed ​

  • SQLite write-lock recovery: Failed, cancelled or failed-to-commit write transactions now roll back immediately, and stale transactions are cleared before a connection is reused. This fixes an uncommitted write transaction holding a lock while other connections keep receiving database is locked. (#348)
  • Reflection backlog drained in one run: The new reflection_engine.max_segments_per_run option (default 10, range 1-50) lets one background task consume oldest split segments until the backlog is empty or the budget is reached, committing each segment's source window and cursor independently. (#349)
  • AstrBot API adaptation: AstrBot 4.27.3+ uses the asynchronous Provider API with a synchronous fallback on older releases; the dashboard prefers the Plugin View bridge while legacy Pages remains available. The minimum supported version is still 4.24.2. (#350)

Verification ​

  • All 1,154 backend pytest tests and 110 frontend tests pass; CI is green.
  • Dashboard bundles match their source and the VitePress documentation build passes; git diff --check passes.

Upgrade notes ​

  1. No configuration changes and no mandatory migration steps.
  2. Sessions with many day or idle-gap splits can tune reflection_engine.max_segments_per_run; the default of 10 covers most deployments.
  3. AstrBot 4.24.2 and later can upgrade directly: 4.27.3+ use the asynchronous Provider API and older releases fall back automatically.
  4. unable to open database file is SQLite SQLITE_CANTOPEN and is not covered by this write-lock fix. If it persists after upgrading, provide the database path, directory permissions, disk state, and antivirus/sync-drive details.

Install and upgrade ​

  1. Stop AstrBot and back up the plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the release page, extract it into data/plugins/astrbot_plugin_livingmemory, and keep existing data and configuration.
  3. Start or reload AstrBot, confirm the plugin version reads 2.7.3, then open Plugins → LivingMemory → Views → dashboard; older AstrBot versions label this entry as Pages.
  4. For an existing Git installation, switch a clean checkout to the tag before starting AstrBot:
bash
git fetch origin --tags
git switch --detach 2.7.3

2.7.2 · October 26, 2026 ​

2.7.2 is a documentation patch that makes the embedding-model and free BGE-M3 setup available directly from the README and documentation site. It does not change runtime logic, add dependencies or require migration; as a stable release, it participates in AstrBot's update prompts normally.

Download 2.7.2

What changed ​

  • Embedding-model primer: A new Chinese and English "Embedding Models and BGE-M3" page explains text vectorization, semantic recall, and why indexing and querying must use the same model and dimensions.
  • SiliconFlow BGE-M3 setup: The guide covers the free BAAI/bge-m3 API key, API Base URL, model ID, 1024 dimensions and how to locate the AstrBot Provider ID.
  • README updates: The Chinese, English and Russian README files gain a free embedding-model section and documentation link, so the repository homepage and plugin listing expose the full setup path.
  • Documentation navigation: Quick Start, Configuration and the VitePress sidebar link to the new page, which is also covered by the Chinese/English parity test.

Verification ​

  • All 1,145 backend pytest tests pass; this release changes no runtime behavior.
  • The VitePress documentation build passes; the README contract and Chinese/English docs-parity tests pass all 8 cases.

Upgrade notes ​

  1. No configuration changes and no mandatory migration steps.
  2. Users who configured an Embedding Provider in 2.7.1 can upgrade directly; others can follow the new guide to use the free BAAI/bge-m3.
  3. 2.7.2 was the current stable release when it shipped; earlier pre-releases remain available on the Releases page.

Install and upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the release page, extract it into data/plugins/astrbot_plugin_livingmemory, and keep existing data and configuration.
  3. Start or reload AstrBot, confirm the plugin version reads 2.7.2, then open Plugins → LivingMemory → Pages → dashboard.
  4. For an existing Git installation, switch a clean checkout to the tag before starting AstrBot:
bash
git fetch origin --tags
git switch --detach 2.7.2

2.7.1 · October 22, 2026 ​

2.7.1 is a patch release on top of 2.7.0 focused on configuration ergonomics and duplicate memories: advanced settings move from the AstrBot plugin config page to a dashboard Settings page (common panel plus five collapsed categories), and summaries gain write-time near-duplicate merging. No new runtime dependencies and no mandatory migration steps; as a regular release it participates in AstrBot's update prompts normally.

Download 2.7.1

What changed ​

  • Shorter host config page. The AstrBot plugin config page keeps only model providers (including the required Embedding Provider ID) and reply language; recall, reflection, graph, consolidation and other advanced options move to the dashboard.
  • Dashboard Settings page. Eight common settings stay visible; the rest are folded into five categories (memory generation and lifecycle, recall and tools, graph and atoms, access and isolation, system and maintenance) with search, expand/collapse all and localized field labels.
  • Write-time near-duplicate merging. Summaries in the same session/persona that reach the similarity threshold (0.92 by default) merge into the existing memory, keeping topics, key facts, atoms and source messages; failures fall back to a normal write.
  • Embedding Provider clarification. The field is now documented as required; leaving it empty only falls back to the first available provider and logs a warning, avoiding broken vector/graph indexes.

Verification ​

  • Backend: 1,145 tests passed; frontend: 109 tests passed; CI green.
  • Version-consistency and Chinese/English docs-parity guards pass; dashboard bundles match their sources.

Upgrade notes ​

  1. No configuration changes and no mandatory migration steps.
  2. If no Embedding Provider ID is set, create and enable one in AstrBot's LLM settings first; otherwise vector/graph indexes may fail to initialize.
  3. Reload the plugin after saving dashboard settings so options read during initialization take effect; runtime options such as duplicate merging apply immediately.
  4. Run /lmem rebuild-graph to backfill graph data for older memories, and /lmem rebuild-index after changing the embedding model.
  5. 2.7.1 was the stable release at the time; earlier pre-releases remain available on the Releases page.

Install and upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the release page, extract it into data/plugins/astrbot_plugin_livingmemory, and keep existing data and configuration.
  3. Start or reload AstrBot, confirm the plugin version reads 2.7.1, then open Plugins → LivingMemory → Pages → dashboard.
  4. For an existing Git installation, switch a clean checkout to the tag before starting AstrBot:
bash
git fetch origin --tags
git switch --detach 2.7.1

2.7.0 · October 21, 2026 ​

2.7.0 is the stable release that consolidates everything from 2.7.0-beta.1 through beta.4. The rebuilt dashboard, recall-quality work, standardized injection, lifecycle guarantees, hot-path performance and Japanese support all reach the stable channel; as a non-prerelease it participates in AstrBot's plugin update prompts normally. No new runtime dependencies and no mandatory migration steps; existing configuration keeps working.

Download 2.7.0

What's included ​

  • Dashboard: memory provenance and write reason, per-route recall scores, graph and memory list linked both ways, retryable failure states, and four visual styles.
  • Recall quality: score-weighted fusion, wider candidate pools, cross-route agreement bonus, CJK character bigrams in BM25, and atom-lifecycle filtering.
  • Consistency: injection is add-only temporary parts; WebUI edit/retry rollback is reconciled, summary cursors and revisions commit atomically, and failed writes are compensated.
  • Lifecycle: summary windows split by day or idle gap, type-specific atom TTLs and decay, consolidation rollback, restorable archives, and pre-migration backups.
  • Performance and indexing: the recall hot path no longer blocks on FAISS persistence, the write-operation journal is gone (one memory write drops from up to eight transactions to two), dashboard assets are bundled and trimmed, and index maintenance runs in the background with shadow generations.
  • Engineering and localization: CI pins a verified host revision, test dependencies are locked, version and documentation guards exist, and Japanese is supported across replies, the config page and the dashboard.

Verification ​

  • Backend pytest: 1,132 passed; frontend: 107 passed; CI runs against the pinned host revision.
  • Chinese and English docs pass the parity guard; dashboard bundles match their sources.

Upgrade notes ​

  1. No configuration changes are required; new settings have defaults.
  2. The first startup after upgrading fills in index and version information automatically; running /lmem rebuild-index once is recommended so older memories benefit from the retrieval improvements.
  3. Recall defaults changed: fusion_mode=score, fusion_bm25_weight=0.5, recall_candidate_multiplier=3, fusion_agreement_bonus=0.25; set fusion_mode=rrf to keep the previous rank fusion.
  4. The plugin requires AstrBot 4.24.2 or later; @register is removed and metadata comes from metadata.yaml.
  5. Dashboard preferences (theme, colour mode, language) are stored in the browser and survive the upgrade.

Release timeline ​

ReleaseFocus
2.7.0-beta.1Dashboard visual rebuild, stable graph reading, editing and import workflows
2.7.0-beta.2Standardized add-only injection and removal of history rewriting
2.7.0-beta.3Visible recall provenance, score fusion and CJK bigrams, agentic recall beta
2.7.0-beta.4Hot-path performance, consistency hardening, architecture cleanup, Japanese and lighter assets

Install and upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the release page, extract it into data/plugins/astrbot_plugin_livingmemory, and keep existing data and configuration.
  3. Start or reload AstrBot, confirm the plugin version reads 2.7.0, then open Plugins → LivingMemory → Pages → dashboard.
  4. For an existing Git installation, switch a clean checkout to the tag before starting AstrBot:
bash
git fetch origin --tags
git switch --detach 2.7.0

2.7.0-beta.4 · October 21, 2026 ​

Maintenance pre-release for the 2.7 series covering PRs 308–332 (25 merged pull requests): recall and write hot-path performance, data-consistency hardening, responsibility cleanup across the codebase, and a lighter dashboard with Japanese support. No new runtime dependencies and no mandatory migration steps; existing configuration keeps working and the stable channel remains 2.6.1.

Download 2.7.0-beta.4

What changed ​

  • Faster recall. FAISS persistence now uses a readers-writer lock, so searches no longer wait for full-index flushes; LLM hooks stop polling for initialization; startup index reads move off the event loop; graph recall gains the reverse-edge index and reuses read connections; access statistics are coalesced; tokenizer caching and vector-candidate reuse remove duplicate work.
  • Cheaper writes. The write-operation journal and its repair chain are gone (about 930 fewer lines), reducing a single memory write from up to eight transactions to two; batch deletes commit at the FTS boundary to avoid database is locked.
  • Steadier data. Semantic consolidation is grouped by (session_id, persona_id) and rolls back the archive on failure; daily decay updates only changed keys and no longer records a date marker on failure; migrations require a backup first and restore it on failure; atom FTS gets a backfill.
  • More reliable indexing. Rebuild retries use plain exponential backoff instead of guessing rate limits from error text; when the host cannot delete vectors, archiving marks needs_index_rebuild so the startup check rebuilds and removes ghost vectors.
  • Lighter dashboard. The full lucide library is replaced by a 21-icon subset (about 408 KB less); styles and scripts are bundled and minified, cutting blocking requests from 14 to 5 and CSS from 85.9 KB to 69.2 KB; cascade-safe CSS rules are de-duplicated.
  • Cleaner architecture and engineering. Write-side index maintenance moves to MemoryIndexWriter; the reflection, add_memory and graph-snapshot methods are split into stages; version and index DDL are single-sourced; CI pins a verified host commit; test dependencies are locked; the deprecated @register decorator is removed; the dashboard and config page support Japanese.

Verification ​

  • Backend pytest: 1,132 passed; frontend: 107 passed; CI passes against the pinned host revision.
  • New documentation-parity and version-consistency guards prevent future drift between languages and version sources.

Upgrade notes ​

  1. No configuration changes are required; new settings have defaults.
  2. The first startup after upgrading fills in indexes and version information automatically; run /lmem rebuild-index once if the existing index is older.
  3. The plugin requires AstrBot 4.24.2 or later; after the @register removal the host discovers the Star subclass automatically.
  4. Dashboard preferences (theme, colour mode, language) are stored in the browser and survive the upgrade.

Highlighted pull requests ​

PRChangeAuthor
#308Unblock recall hot path from FAISS persistence@lxfight
#309Graph-route recall I/O and timing-test stability@lxfight
#310Consolidation, decay and migration reliability@lxfight
#316Remove write-operation journal and repair chain@lxfight
#317Replace full lucide library with a 21-icon subset@lxfight
#319Bundle and minify dashboard assets@lxfight
#321Remove deprecated @register, pin CI host@lxfight
#323Split the 343-line reflection handler@lxfight
#328Japanese for bot replies and config page@lxfight
#329Japanese dashboard and language menu@lxfight

Install and upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the beta release page, extract it into data/plugins/astrbot_plugin_livingmemory, and keep existing data and configuration.
  3. Start or reload AstrBot, confirm the plugin version reads 2.7.0-beta.4, then open Plugins → LivingMemory → Pages → dashboard.
  4. For an existing Git installation, switch a clean checkout to the tag before starting AstrBot:
bash
git fetch origin --tags
git switch --detach 2.7.0-beta.4

2.7.0-beta.3 · October 20, 2026 ​

Pre-release of the 2.7 series. This build covers two areas: the dashboard now reports where memories come from and why a recall result surfaced, and the recall pipeline fuses text routes by normalized score, searches wider candidate pools and indexes CJK character bigrams in BM25. An opt-in agentic recall beta is also available. There are no new runtime dependencies and no mandatory migration steps; the stable channel remains 2.6.1.

Download 2.7.0-beta.3

What changed ​

Dashboard

  • Every memory is labelled with how it was written — agent write, import, re-summarization or automatic summarization — and summaries whose quality is unusually low are flagged. The detail panel adds the source, the agent's memorize_reason and, for edited content, the ID of the memory it replaced.
  • The recall test page lists the retrieval routes that matched each result (document keyword, document vector, graph keyword, graph vector) with their individual scores, and echoes the k and session filter used for the request.
  • Graph and memory list are linked in both directions: a node lists its associated memories and opens them directly, and memory details offer Locate in graph. Node details are non-modal, so several nodes can be compared in sequence.
  • Request failures on the system and prompt pages stay on the page with a retry action instead of disappearing with a transient toast, and the standing explanatory copy was removed in favour of control state and feedback.

Recall quality

  • Document-route fusion moved from rank-based equal weighting to per-query normalized scores (fusion_mode=score, fusion_bm25_weight=0.5). Each route now contributes k × 3 candidates before fusion, and documents returned by both routes at close ranks receive a consensus bonus (fusion_agreement_bonus=0.25).
  • BM25 indexes and queries character bigrams of contiguous CJK runs in addition to jieba tokens, so short queries and proper nouns (people, shops, model numbers) no longer miss because index-side and query-side segmentation differ. English and numeric tokens are unchanged.
  • Measured with the shipped defaults, end-to-end through MemoryEngine.search_memories() at k = 10: Chinese benchmark (1,211 queries) MRR 0.86 → 0.95, Hit@1 0.79 → 0.93; English LoCoMo (1,536 evidence-grounded questions) MRR 0.66 → 0.73, Hit@1 0.53 → 0.62. The Chinese set is synthetic; LoCoMo stores raw session transcripts, so its absolute scores understate production recall.

Agentic recall (opt-in beta)

  • Enabling agent_tools.enable_agentic_recall_beta (requires agent_tools.enable_recall_tool) lets the model run multi-turn recall within one request: recall_long_term_memory gains people-centric search, event-time ranges, exclusion of candidates already seen and cursored pagination, and the new read_memory_evidence tool reads a memory's active facts and its retained source text (when the whole source is visible to the session) by memory ID, resuming from a cursor after truncation.
  • One per-request budget caps tool calls (agentic_recall_max_calls, default 4), cumulative tool time (agentic_recall_time_budget_seconds, default 20) and per-call output (agentic_recall_max_result_chars, default 12,000). When the budget is spent the model answers from the evidence it already collected.
  • The recall rule prompt is injected add-only as a temporary part, so it never enters conversation history or the plugin's message store. With the switch off, tool registration, retrieval and prompts are identical to 2.7.0-beta.2.

Also included

  • Admin-only forget tool (agent_tools.enable_forget_tool, off by default): archives memories instead of deleting them; an administrator can restore them from the dashboard. Per-call count and per-session cooldown are enforced.
  • /lmem migrate-scope <target> [apply] [source]: explicit memory scope migration, dry-run by default, with an automatic database backup before apply.
  • provider_settings.llm_stream_mode (auto/always/never): makes providers that only accept streaming requests usable for memory processing.
  • Summary windows split by local day and idle gap; message times use the platform timestamp. The conversation store reconciles with WebUI edit/regenerate and retry rollbacks.
  • FAISS writes fall back to an ASCII-only temporary directory on non-ASCII paths; multi-line JSON parsing and summarization prompt prefix caching are fixed.
  • Dashboard rendering, touch input and edit-race fixes; vue 3.5.44 and source-map-js 1.2.2 security updates; zh-CN and ja-JP plugin localization.

Upgrade notes ​

  • Existing configuration needs no changes; new parameters have defaults.
  • Recall defaults changed: fusion_mode=score, fusion_agreement_bonus=0.25, recall_candidate_multiplier=3. Set fusion_mode: rrf to keep the previous rank fusion.
  • Run /lmem rebuild-index once if existing memories should benefit from bigram tokens; new writes pick them up automatically and recall stays available during the rebuild.
  • Dashboard preferences (theme, colour mode, language) are stored in the browser and survive the upgrade.

Known limitations ​

  • In Full Graph mode the node panel does not list related memories (that snapshot does not return entry data; limited overview and query modes are unaffected).
  • The Chinese evaluation set is model-generated and is intended for comparing retrieval designs, not for estimating live traffic distribution.
  • Agentic recall is a beta: its tool-use adoption and end-to-end behaviour with real models are still being validated, and the switch is off by default.

Highlighted pull requests ​

PRChangeAuthor
#274Opt-in agentic recall beta: multi-turn recall, evidence reading and shared per-request budget@Sisyphbaous-DT-Project
#281Fix dashboard rendering, touch input, layout and edit races@lxfight
#299Show retrieval route scores in the recall test page@lxfight
#300Surface memory origin and why it was remembered@lxfight
#301Link the graph and the memory list in both directions@lxfight
#302Make graph encodings self-consistent and stable@lxfight
#303Unify request feedback and correct system/prompt page semantics@lxfight
#304Remove dead i18n keys, overridden styles and decoration@lxfight
#305Fuse BM25 and vector results by normalized scores with wider candidates@lxfight
#306Reward cross-route agreement in fused ranking@lxfight
#307Index CJK character bigrams in BM25@lxfight

The complete list, including fixes and dependency updates not highlighted here, is in CHANGELOG.md.

Install and upgrade ​

  1. Stop AstrBot and keep a backup of the plugin code, its data directory and configuration.
  2. Download Source code (zip) from the release above, unpack it into data/plugins/astrbot_plugin_livingmemory, and keep the existing data and configuration instead of replacing them with empty folders.
  3. Start or reload AstrBot, confirm the version reads 2.7.0-beta.3 in the plugin list, then open Plugins → LivingMemory → Pages → dashboard.
  4. To let existing memories benefit from the bigram tokens, send /lmem rebuild-index (it runs in batches while recall stays available).

With Git-managed plugin code, switch the clean plugin worktree to the tag before starting AstrBot:

bash
git fetch origin --tags
git switch --detach 2.7.0-beta.3

2.7.0-beta.2 · September 16, 2026 ​

This prerelease covers the refactors and behavioral standardization since 2.7.0-beta.1. Stay on 2.6.1 for the stable channel.

Download 2.7.0-beta.2 · Stable 2.6.1 · Full comparison

What's new ​

  • Standardized memory injection — the plugin no longer touches host conversation history: to stay compatible with AstrBot's architecture and its future technical direction, this release narrows the plugin's interactions with the LLM request pipeline and removes non-standard operations that exceeded the plugin's responsibilities. Memory injection is now exclusively an add-only write through AstrBot's official extension point: memories are appended to the current user message as a mark_as_temp temporary part that AstrBot filters out when saving conversation history. Injection never writes into conversation history and never affects the prefix cache.
  • Removed history format normalization: the plugin no longer rewrites the content structure of history messages; both content-parts lists and plain strings are preserved exactly as AstrBot stored them.
  • Deprecated non-append injection modes: user_message_before, user_message_after, fake_tool_call and fake_tool_call_deepseek_v4 (plus the previously deprecated system_prompt) are deprecated; configured values automatically fall back to extra_user_content with a logged warning, no manual configuration changes required.
  • Legacy residue cleanup retained: auto_remove_injected only removes injection fragments left in history by legacy injection modes from the request context; it never touches the user's own history messages.
  • Internal refactors (#268–#272): dead code removal, page API and consolidation routed through the MemoryEngine public API, deduplicated JSON helpers and consolidated schema DDL, recall scope fallback aligned with write-side semantics, and Mixin host contracts declared as class annotations.

Upgrade notes ​

  • Legacy injection settings need no manual adjustment — they fall back automatically at runtime. To purge text-form injection residue left in stored history, run /lmem cleanup (fake tool-call message pairs are removed from context automatically on every request).

Complete PR list and authors ​

PRChangeAuthor
#268Remove dead code paths and unused exports@lxfight
#269Route page API and consolidation through the MemoryEngine public API@lxfight
#270Dedupe JSON helpers and consolidate schema DDL into one source@lxfight
#271Align recall scope fallback with write-side semantics@lxfight
#272Declare mixin host contracts as class annotations@lxfight
#273Standardize memory injection as add-only; version 2.7.0-beta.2@lxfight

Install and upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration.
  2. Download Source code (zip) from the 2.7.0-beta.2 release. Extract the plugin into data/plugins/astrbot_plugin_livingmemory, without nesting another versioned directory inside it. Preserve existing plugin data and configuration.
  3. Start or reload AstrBot, confirm 2.7.0-beta.2 in the plugin list, then open Plugins → LivingMemory → Pages → dashboard.
  4. Legacy injection settings fall back automatically; run /lmem cleanup if you need to purge text-form injection residue left in stored history.

For an existing Git installation, switch a clean plugin checkout to the tag before starting AstrBot:

bash
git fetch origin --tags
git switch --detach 2.7.0-beta.2

GitHub marks this version Pre-release; use the specific tag. releases/latest still points to the stable release.

2.7.0-beta.1 · September 7, 2026 ​

This prerelease includes all merged changes since stable 2.6.1. Stay on 2.6.1 for the stable channel, or install the exact beta tag to try the new dashboard and recall fixes.

Download 2.7.0-beta.1 · Stable 2.6.1 · Full comparison

What's new ​

  • Four styles: Editorial, Studio, Paper and Terminal each support light, dark and automatic modes, with preferences saved in the current browser.
  • Steadier graph reading: zoom, hover and selection pause ambient movement. Stable label priority, collision bounds and bounded fonts reduce flicker; settled inspection stops idle rendering.
  • Clearer workflows: filter, select, then act. Transfers have their own section, explicit export scope and import preview/confirmation. Editors protect unsaved changes and prevent duplicate saves or switching targets during a write.
  • More reliable recall and recovery: newly written long memories retain full text; scope filters run before result limits; route failures are isolated; cached recall still checks atom expiry; graph rebuild rollback preserves pending deltas.
  • Less repeated work: dual-route queries share an embedding, graph source documents load in batches, and FAISS search runs off the event loop. The dashboard coalesces duplicate requests and scroll renders, with retryable failure states.

Previously truncated text cannot be reconstructed by this upgrade. Atom-backed graph recall includes only facts that are still active in their lifecycle.

Complete PR list and authors ​

The range starts at Git tag 2.6.1. Credits below use each PR's verified GitHub author.

PRChangeAuthor
#259Recall, long-text storage and index recovery fixes; dashboard loading and mobile improvements@lxfight
#260Four switchable dashboard styles@lxfight
#261Stable graph labels during zoomed inspection@lxfight
#262Filtering, batch actions, import and editing workflows with concurrency guards@lxfight
#263Beta publication, complete PR credits, README redesign and VitePress documentation@lxfight

Install or upgrade ​

  1. Stop AstrBot and keep a backup of your existing plugin code, plugin data directory and configuration. Appearance preferences are stored separately in the browser.
  2. Download Source code (zip) from the beta release above. Extract the plugin into data/plugins/astrbot_plugin_livingmemory, without nesting another versioned directory inside it. Preserve existing plugin data and configuration.
  3. Start or reload AstrBot and wait for dependencies and initialization. Confirm 2.7.0-beta.1 in the plugin list, then open Plugins → LivingMemory → Pages → dashboard.
  4. Refresh the dashboard, using a hard refresh if the old interface remains. Follow Verify the setup to check status, writes and recall.

For an existing Git installation, switch a clean plugin checkout to the specific tag before starting AstrBot:

bash
git fetch origin --tags
git switch --detach 2.7.0-beta.1

GitHub marks this version Pre-release. Use the specific tag: releases/latest still points to stable. Plugin Pages requires AstrBot 4.24.2 or later.

What to test and report ​

Try theme/mode switching and persistence, zoomed dense graphs, combined filters, cancelling import previews, unsaved draft protection, and real-provider recall across sessions and long-text writes. Report issues with plugin/AstrBot versions, theme, browser, reproduction steps and redacted logs.

The suite passes 785 Python tests and 55 frontend tests, plus VitePress builds and browser checks using mocked AstrBot APIs. These checks do not replace validation with real providers and your data.

Return to stable ​

Stop AstrBot, restore the plugin code from tag 2.6.1, then start AstrBot. To also return data to its pre-upgrade state, restore the matching data and configuration backup while AstrBot is stopped. Memories created after that backup will not be present in it. Do not replace database files while AstrBot is running.

Earlier releases ​

See the full CHANGELOG and GitHub Releases.