用户指南 · 09

Soul 记忆系统

Soul 是 JellyfishBot 让 Agent 长期"成长"的核心机制,灵感来自给 Agent 一个"灵魂",记住用户偏好和对话精华。

9.1 概念

text
┌────────────────────────────────────────────┐
│  Soul(灵魂)                              │
│                                            │
│  📁 filesystem/soul/    ← Agent 可读写笔记 │
│     ├── about_user.md  (关于用户)         │
│     ├── preferences.md (偏好)             │
│     ├── insights.md    (观察)             │
│     └── ...            (任意笔记)         │
│                                            │
│  📁 soul/                                  │
│     └── config.json    (应用层配置)       │
└────────────────────────────────────────────┘

9.2 三种使用模式

模式 1:纯短期记忆(默认)

  • 默认开启 memory_enabled
  • 调度任务和 inbox agent 的 prompt 前缀自动注入最近 5 条对话历史
  • 不需要任何配置

模式 2:Memory Subagent 主动写入

  • 设置 → Prompt → Memory & Soul(需先在通用页开启高级功能)开启 Memory Subagent 写入
  • 主 Agent 在合适时机会调用 Memory Subagent,让它阅读对话历史并总结写入 filesystem/soul/
  • 适合:你希望 Agent 自主决定记什么、怎么记

模式 3:Soul 文件系统直接暴露

  • 同上路径开启 Soul 文件系统
  • 主 Agent 直接获得 /soul/ 目录的读写权限(在文件面板和工具中可见)
  • 适合:你希望 Agent 在每次回复中都能引用 Soul、或 Agent 需要在对话中实时更新人格笔记

9.3 自定义能力提示词

Memory & Soul Tab 中两个 Switch 下方各带可编辑的能力提示词,告诉 Agent 怎么使用这些能力。可恢复默认。

9.4 包含消费者对话

开启 包含消费者对话 Switch 后:

  • Memory Subagent 不仅能读 Admin 自己的对话,也能读 Service Consumer 的对话
  • 适合:你想让 Agent 学习用户在不同 Service 中的反馈

9.5 文件管理

启用 Soul 文件系统后:

  • 文件面板显示 /soul/ 目录
  • 可手动编辑(如手写一些初始的"用户档案")
  • Agent 也可读写

旧版本 users/{uid}/soul/ 内容会自动迁移到 users/{uid}/filesystem/soul/,无需手动处理。