mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
* refactor(ltm): redesign long-term memory with context compaction - Add raw_records / contexts / summaries data model per group - Add LLM summary compaction strategy alongside truncation - Add turn-based (_split_into_rounds) granularity - Add image caption integration into LTM history - Add tool_call / tool_result persistence into raw_records - Add active reply support driven by LTM state - Improve summary injection prefix with system note and delimiters - Add info-level logging for summary compaction lifecycle - Clarify default summary prompt with explicit preserve/drop rules - Add context_guard for history overflow protection in agent runner - Add internal agent history compaction in agent_sub_stages - Add comprehensive LTM unit tests and compaction test suites * fix(ltm): handle malformed JSON in tool args and clean up lock on session removal * fix(ltm): guard against duplicate system prompt note injection * fix(ltm): fall back to user message when internal marker parsing fails - Treat lines starting with <T:CALL>, <T:RES, or <BOT/ as regular user messages when their respective parsers return None, instead of silently dropping them. Defensive guard against malformed internal markers. * fix(ltm): release session lock during LLM summary generation * fix(ltm): trim raw_records in handle_message to prevent unbounded growth * perf(ltm): use len(s) instead of len(s.encode()) in trim loop Avoid allocating a new bytes object for every string when calculating buffer size in _trim_raw_records. Character count is sufficient for the approximate memory cap. * feat(ltm): make user segment truncation limits configurable * feat(ltm): pre-fill default LTM summary prompt in config and i18n * refactor(ltm): hardcode internal segment/trim constants * refactor(ltm): unify compaction strategy with main agent runner * feat(ltm): add @mention weight marker for group chat messages * test: fix test failures from LTM compaction unification * chore(dashboard): remove obsolete LTM compaction i18n metadata * chore: shrink codebase * feat(group-chat): implement group chat context management and related functionality --------- Co-authored-by: Tsukumi <112180165+Tsukumi233@users.noreply.github.com> Co-authored-by: zenfun <zenfun510@gmail.com> Co-authored-by: Soulter <905617992@qq.com>