这是一个适用于 AstrBot 的记忆增强与上下文精炼插件。该插件通过实时精炼、压缩历史会话,在后台不断演进记忆大纲,从而使机器人在大跨度对话中保持高质量长期记忆,并极大程度降低上下文的 Token 消耗。
- 极低 Token 消耗:开启本功能后,除了包含精炼的记忆总结外,每次请求只会完整提交上一次的上下文(对话 N-1 和当前新问题 N),防止长文本导致的 Token 溢出与费用飙升。
- 后台自动精炼:在机器人生成完回复(N+1)后,会自动触发异步的后台任务,利用 LLM 将最新的一轮对话提炼并无缝整合进已有的记忆汇总。
- 双重压缩防线:如果累积的精炼记忆汇总长度超过 10,000 字符,会自动进行二次压缩(限制在 3000 字以内),确保对话可持续进行而不占用庞大空间。
- 智能标签净化:自动剥离大模型输出的
<think>推理标签,确保存储的记忆汇总整洁、结构化。
- 将
Memory Enhancement文件夹拷贝至您的 AstrBotAstrBot/data/plugins/目录中。 - 将该文件夹重命名为
astrbot_plugin_stardream_memory_enhancement。 - 进入 AstrBot WebUI 面板在“插件管理”中重新加载插件,或在聊天界面向机器人发送重载指令。
插件激活后,可在群聊或私聊中向机器人发送以下指令(默认为主前缀):
/记忆增强:切换当前会话(Session)的记忆增强开启/关闭状态。/查看记忆:查看当前会话在本地已积累的精炼记忆汇总,用于监控与调试。/重置记忆:手动重置并清空当前会话的全部汇总记忆。
- 未开启模式:AstrBot 使用内置的上下文机制(加载全部最近的历史聊天记录)。
- 开启增强模式:
- 用户发送问题 N。
- 插件拦截请求,获取历史记忆
Summary,注入系统提示词req.system_prompt中。 - 对历史上下文列表进行截断,仅保留 N-1 的历史回复与问题 N 提交至 LLM。
- LLM 返回答复 N+1。
- 触发后台任务:整合最新的一轮对话(N 和 N+1)至已有的
Summary,并将新Summary存回本地 KV 存储。