Skip to content

WebUI 管理 ​

LivingMemory 使用 AstrBot 官方插件视图(Views,旧版称 Pages)提供管理界面,不需要额外启动 Web 服务。

入口 ​

进入 AstrBot WebUI:

插件 -> LivingMemory -> 视图 -> dashboard(旧版 AstrBot 显示为 Pages)

建议 AstrBot 版本为 4.24.2 或更高。旧版本如果没有官方插件视图能力,插件仍可运行,但管理页面可能不可用。

设置 ​

  • 页面顶部只展示 8 个常用设置;其余高级配置按「记忆生成与生命周期、召回与工具、图谱与原子、访问与隔离、系统与维护」五类折叠,可用搜索定位配置项,也可一键展开或收起全部;字段说明来自插件配置 schema,并随界面语言本地化。
  • 保存后写入插件配置;涉及初始化阶段的选项需要重载插件后完全生效,部分选项(如写入时近重复合并)即时生效。
  • AstrBot 插件配置页仍保留模型 Provider、回复语言与 Embedding Provider 必须项。

页面能力 ​

区域用途
记忆管理查看与筛选记忆,编辑摘要、主题、关键事实、状态和重要性,批量删除,以及导入导出
召回调试输入查询词,观察召回结果、最终得分与命中的检索路线分项
图谱视图浏览实体、关系和记忆之间的连接
系统状态查看活跃、归档和删除记忆数量,以及图谱、原子、重要性和会话统计(按记忆条数排序);记忆整合面板带运行按钮,版本备份按时间倒序
提示词管理按类别查看和编辑插件提示词,识别自定义状态,并恢复或载入默认内容

外观与主题 ​

点击侧栏底部的调色板图标「外观与主题」(手机端位于底部导航),可即时切换四种视觉风格:

风格特点
Editorial · 原野保留经典绿色网格、醒目标题和利落线条
Studio · 轻盈蓝紫色调、柔和圆角、悬浮卡片与横向图谱指标栏
Paper · 书页暖纸色调、衬线标题、双线边框与阅读留白
Terminal · 终端等宽字体、青色强调、硬朗边框与右侧图谱仪表栏

每种风格都支持浅色、深色和自动模式。自动模式跟随 AstrBot 的明暗设置;独立打开页面时跟随设备。手动选择的明暗模式不会被 AstrBot 覆盖。偏好保存在当前浏览器,刷新后保留;浏览器禁止本地存储时,仅对当前访问生效。可用键盘选择选项,按 Escape 关闭。

记忆详情与生命周期 ​

记忆页按“筛选 → 选择 → 操作”组织:关键字和会话输入会自动筛选,按 Enter 或点击「筛选」可立即应用全部条件;「重置筛选」清除条件。每页条数位于分页栏,刷新按钮位于页面右上方。选择本页记录后才显示批量操作栏,可随时取消选择。

导入导出位于独立的折叠区域,并显示导出范围:有选中项时仅导出所选记录;没有选中项时导出全部记忆,不受列表筛选条件限制。导入按“读取文件 → 预检 → 确认 → 写入”执行,每一步都有状态反馈;没有可导入记录时不会继续写入。批量操作和导入导出完成前,相关控件和页面切换暂时锁定,防止重复提交或混淆操作对象。

  • 编辑摘要、主题或关键事实时,插件会重建该记忆的 Embedding、BM25、图谱和原子等派生数据;只修改状态或重要性时不会无条件重建全部索引。
  • 每条记忆在摘要下方标注写入方:Agent 主动写入、导入、重新总结;没有标记的为自动总结。摘要被判定为质量偏低时会单独标出。详情面板展示同一来源、Agent 写入时的记忆原因,以及内容编辑后的原记忆 ID。
  • 达到原文保留阈值的记忆会在详情中显示来源消息,默认折叠,并标出其中哪些是机器人回复。至少包含两条来源消息时,可以调用 LLM 重新总结并替换原记忆。
  • 将状态改为 archived 会把记忆移出正常召回索引但保留源文档;从 archived 改回 active 会重新生成 Embedding 和派生索引。
  • 多选复选框支持当前列表中的批量删除;导出操作在有选中项时只导出选中的记忆。

WARNING

删除是永久操作;希望以后恢复的记忆应改为归档。归档恢复需要可用的 Embedding Provider。

提示词管理 ​

提示词页面展示每个模板的用途、变量、默认或自定义状态;标注 JSON 的模板在名称旁带 JSON 徽标,悬停可看该约束。编辑器支持保存自定义内容、载入默认内容供修改,以及删除自定义覆盖并恢复内置默认值;只有已自定义的模板才显示「载入默认内容」。

自定义提示词存放在插件数据目录,不会修改仓库内置模板。升级插件时自定义内容会继续保留。

记忆和提示词编辑器在关闭、取消或切换页面前,会提示处理未保存的修改。「继续编辑」保留内容,「放弃修改」才退出。提示词的「载入默认内容」只填充编辑器,点击保存后才生效;保存过程中不能切换编辑对象。

召回测试可用 Ctrl / Cmd + Enter 执行。每条结果给出融合后的最终得分,并按实际命中的检索路线(文档关键词、文档向量、图关键词、图向量)列出分项得分,用于判断这条记忆是靠哪条路径召回的;结果头回显本次请求的 k 与会话过滤,便于确认卡片属于哪次查询。开始新请求时清除上一次结果,失败时把错误留在结果区,避免将旧结果误认为新查询的结果。图谱工具栏是「检索输入 + 检索按钮」一组;会话范围输入带候选列表(取自当前会话统计),改完按 Enter 或再次点击「全量图谱」即生效,手机端同样可用。

图谱视图适合看什么? ​

图谱页顶部可从默认的「2D 平面」切换到「3D 空间」。3D 使用独立的暖光场景,隐藏页面标题和统计栏;左键或单指拖动旋转,右键拖动平移,滚轮或双指缩放。点击节点时镜头平滑靠近,并展示关联记忆;点击空白处返回先前视角,「重置视角」恢复全图。切换维度保留当前数据和选择。空间位置由独立的三维布局生成,不表示语义距离,也不写入记忆数据。

3D 图谱,使用演示数据

3D 场景、节点面板和完整记忆详情使用同一套深色配色,内容、元数据、编辑字段和迷你图谱保持清晰。返回 2D 或其他页面后恢复原先选择的外观与明暗模式。

3D 场景中的记忆详情,使用演示数据

3D 总览显示少量社区主干曲线,靠近星系后自动展开内部骨架,悬停或选中节点时突出直接关系;「全部关系」可切换完整连线。初始布局在独立 Worker 中完成,大社区沿有厚度的旋臂展开,小社区和孤立节点呈星团分布。动画保留初始形态,星系整体慢旋转,节点在语义分支附近进行有界的局部引力运动。

引力使用按节点类型分配的归一化质量和中心软化,社区锚点保持固定;每个节点只计算所属中心的引力,每帧计算量随节点数线性增长。所有关系共享节点的位置缓冲,由 GPU 批量绘制。

3D 使用作用域内的加权 Louvain 社区,社区中心按跨社区的真实关联强度在三维空间中排布;孤立节点集中为一个独立星团。暂停时也保留空间纵深。人物、主题、总结和事实使用不同的节点大小;总览精简跨社区连线,点击节点或切换「全部关系」后仍可查看完整连接。总览与选中关系使用更清晰的亮度,完整连线随关系密度调整透明度。

社区代表节点保持为恒星锚点。主题优先归属已有关系中连接最强的人物,总结优先归属主题;关系与偏好类事实优先归属人物,其他事实优先归属相关总结或主题,缺少对应关系时归属本社区代表节点。分支按其末端范围在旋臂或星团内展开,末端从内向外连续分布,避免集中在同一球壳。运动仅决定显示位置,不添加或改写记忆关系。

「暂停运转 / 继续运转」控制持续动画。悬停或聚焦时固定当前对象及其上级链,并暂停所属星系的整体旋转;其他星系继续运行。恢复时保留暂停前的位置和速度。离开图谱页或浏览器标签不可见时停止计算和绘制。系统开启“减少动态效果”时默认暂停运转,可通过按钮主动开启。

代表恒星带有外层辉光。每条重要性达到 8/10 的来源记忆优先选择总结节点呈现脉冲光晕与旋转光束,没有总结时使用事实节点;人物和主题的连接数不用于判断记忆价值。星尘仅提供背景密度,不参与计数、点击或检索。全图围绕按社区规模加权的中心旋转,聚焦后则围绕实际节点或所选记忆节点的中心旋转。详情留白使用投影偏移处理,不移动旋转中心;暂停运转也会暂停辉光和脉冲时间。

开发时可在已初始化的插件数据目录中追加视觉测试数据。以下命令默认生成 10,000 个节点、200,000 条关系和 1,200 条归档合成记忆,包含不同规模的主题社区、弱连接和孤立节点;不生成 Embedding。重载插件并强刷页面,在会话栏选择 livingmemory:visual:galaxy 后点击「全量图谱」。脚本保留已有记录,重复运行会继续追加数据。

bash
python scripts/seed_visual_graph.py --data-dir "<plugin_data_dir>"

图谱不是为了替代表格,而是帮助你发现记忆之间的结构关系:

观察点示例
高频实体用户、项目、地点、群聊主题
稳定关系“某人喜欢某事”“项目依赖某技术”
跨记忆连接多次对话中重复出现的同一实体
过期风险很久没有被访问的低重要性关系

TIP

图谱页默认展示最近记忆的受限子图(节点/边受上限约束),点击「全量图谱」加载当前会话和人格范围内的全部节点、关系及关联记忆。全量请求不再按固定数量截断;3D 中可见连线的数量由当前显示层次控制。

2.7.0-beta.1 在放大阅读、悬停或选择节点时暂停环境漂浮,稳定标签的显示优先级和避让区域;静止阅读时停止空闲绘制。缩回概览且未悬停或选择节点时恢复环境动画。标签空间不足时会省略低优先级文字,可选中节点查看完整详情。

选中节点后,详情面板列出该节点关联的记忆,点任意一条即可直接进入记忆详情;图谱页的节点详情不加遮罩,因此可以连续点选多个节点对比。反向路径同样存在:记忆详情的「知识图谱关联」区块提供「在图谱中定位」,点击后切到图谱页并定位到该记忆的子图,不需要手输记忆 ID。

TIP

WebUI 的操作会复用插件运行时的 MemoryEngine 和 GraphStore,不会绕过后端数据安全逻辑。

后台索引检查和大规模重建进度当前通过 /lmem status 查看;状态含义和故障处理见命令速查。

记忆迁移 ​

记忆页支持 JSON 和 CSV:

  • 未选择记忆时导出全部;选择当前页中的记忆后只导出所选项。
  • 原生 JSON 可完整往返摘要、作用域、人格、结构化元数据和已保留原文。
  • 外部 JSON 可使用 content、text、summary 或 memory 作为摘要字段,也可使用 memories、long_term_memories、short_term_memories 和按会话 ID 组织的多轮消息。
  • 导入先执行预检;默认按“摘要内容 + 会话 ID + 人格 ID”跳过重复项,也可显式允许重复。
  • 只有多轮原始消息但没有摘要时,每个导入项会调用一次 LLM 生成摘要;成功导入会走当前配置的完整写入链路,重新生成 Embedding,并在相应功能已启用且数据满足条件时生成图和原子索引。

单个文件上限为 50 MiB、10,000 条记忆。导出文件可能包含敏感原文,应按数据库备份同等标准保管。