唯一的自主记忆技能,无需数据库、无向量、无需手动保存。只需一个 LLM 观察者,将对话压缩为优先级信息。
总计 recall – 自主代理内存是一项面向实际任务的技能,主要用于唯一能自己监视的内存技能;没有数据库, 没有向量;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
唯一能自主持续观察的记忆能力。
无需数据库。无需向量索引。无需手动保存。仅需一个 LLM 观察者,将你的对话自动压缩为带优先级的笔记,在内容增长时主动合并,并补全任何遗漏信息。五层冗余保障,零维护成本。约 $0.10/月。
当其他记忆能力要求你“记得去记住”时,本系统只需专注倾听。
第 1 层:观察者(cron 定时任务,每 15–30 分钟一次)
↓ 将近期消息压缩 → observations.md
第 2 层:反思者(当 observations.md 超过 8000 字时自动触发)
↓ 合并相关内容,剔除已过时信息 → 减少 40–60% 冗余
第 3 层:会话恢复(每次执行 /new 或 /reset 时运行)
↓ 捕获观察者可能遗漏的会话
第 4 层:响应式监听器(inotify 守护进程,仅 Linux 支持)
↓ 在主会话目录中检测到 40+ 条新 JSONL 写入后触发观察者,5 分钟冷却期
第 5 层:预压缩钩子(memoryFlush)
↓ 在 OpenClaw 执行上下文压缩前进行紧急捕获,确保无信息丢失
observations.mdclawdhub install total-recall
添加至你的 .env 文件或 OpenClaw 配置中:
OPENROUTER_API_KEY=sk-or-v1-xxxxx
bash skills/total-recall/scripts/setup.sh
该脚本将执行以下操作:
memory/、logs/ 及备份目录)将以下内容添加至智能体的工作区上下文(例如 MEMORY.md 或系统提示词):
会话启动时,读取 `memory/observations.md` 获取跨会话上下文。
或使用 OpenClaw 的 memoryFlush.systemPrompt 注入启动指令。
| 平台 | 观察者 + 反思者 + 会话恢复 | 响应式监听器 |
|---|---|---|
| Linux(Debian/Ubuntu 等) | 完整支持 | 需安装 inotify-tools |
| macOS | 完整支持 | 暂不支持(仅 cron 模式) |
所有核心脚本均采用可移植 bash 编写。stat、date 和 md5 命令通过 _compat.sh 实现跨平台兼容。
所有脚本均从环境变量读取配置,提供合理默认值:
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENROUTER_API_KEY |
(必需) | 用于 LLM 调用的 OpenRouter API 密钥 |
MEMORY_DIR |
$OPENCLAW_WORKSPACE/memory |
observations.md 所在路径 |
SESSIONS_DIR |
~/.openclaw/agents/main/sessions |
OpenClaw 会话转录文件存放路径 |
OBSERVER_MODEL |
deepseek/deepseek-v3.2 |
压缩任务主用模型 |
OBSERVER_FALLBACK_MODEL |
google/gemini-2.5-flash |
主模型失败时的备用模型 |
OBSERVER_LOOKBACK_MIN |
15 |
白天回溯时间窗口(分钟) |
OBSERVER_MORNING_LOOKBACK_MIN |
480 |
凌晨 8 点前回溯时间窗口(分钟) |
OBSERVER_LINE_THRESHOLD |
40 |
Linux 下触发响应式监听的 JSONL 行数阈值 |
OBSERVER_COOLDOWN_SECS |
300 |
Linux 下响应式触发间的冷却时间(秒) |
REFLECTOR_WORD_THRESHOLD |
8000 |
触发反思者的字数阈值 |
OPENCLAW_WORKSPACE |
~/your-workspace |
工作区根目录 |
Total Recall 支持任意兼容 OpenAI Chat Completion API 的服务商。通过设置环境变量切换服务商:
| 变量 | 默认值 | 说明 |
|---|---|---|
LLM_BASE_URL |
https://openrouter.ai/api/v1 |
API 接口地址 |
LLM_API_KEY |
回退至 OPENROUTER_API_KEY |
API 密钥 |
LLM_MODEL |
deepseek/deepseek-v3.2 |
使用的模型 |
# OpenRouter(默认) export OPENROUTER_API_KEY="your-key" # Ollama(本地) export LLM_BASE_URL="http://localhost:11434/v1" export LLM_API_KEY="ollama" export LLM_MODEL="llama3.1:8b" # Groq export LLM_BASE_URL="https://api.groq.com/openai/v1" export LLM_API_KEY="your-groq-key" export LLM_MODEL="llama-3.3-70b-versatile"
memory/ observations.md # 主观察日志(会话启动时加载) observation-backups/ # 反思者备份(保留最近 10 份) .observer-last-run # 上次观察者运行时间戳 .observer-last-hash # 上次处理消息的 MD5 去重哈希值 logs/ observer.log reflector.log session-recovery.log observer-watcher.log
初始化脚本将创建以下 OpenClaw cron 任务:
| 任务 | 调度周期 | 说明 |
|---|---|---|
memory-observer |
每 15 分钟一次 | 压缩近期对话 |
memory-reflector |
每小时一次 | 当 observations.md 体积过大时执行合并 |
响应式监听器使用 inotifywait 检测会话目录活动,从而比单纯依赖 cron 更快地触发观察者。需 Linux 系统并已安装 inotify-tools。
# 安装 inotify-tools(Debian/Ubuntu) sudo apt install inotify-tools # 查看监听器状态 systemctl --user status total-recall-watcher # 查看日志 journalctl --user -u total-recall-watcher -f
通过 OpenRouter 使用 DeepSeek v3.2:
observations.mdobservations.md/new 或 /reset 时运行inotifywait 监听会话目录观察者与反思者的系统提示词位于 prompts/ 目录下:
prompts/observer-system.txt — 控制对话压缩方式prompts/reflector-system.txt — 控制 observation 合并逻辑可编辑这些文件,使其契合智能体的性格特征与关注重点。
梦境循环是一个可选的夜间智能体,于非活跃时段运行,用于进一步整合 observations.md。它将陈旧条目归档,并添加语义钩子(semantic hook),确保真正有价值的信息不会丢失。上下文保持精简,所有内容仍可高效检索。
多钩子检索(Multi-Hook Retrieval) — 每个归档条目附带 4–5 种替代搜索短语。即使使用与原文不同的词汇,仍可准确召回对应记忆。
置信度评分(Confidence Scoring) — 每条 observation 均附带置信度分(0.0–1.0)与来源类型(explicit、implicit、inference、weak、uncertain)。高置信度条目保留更久;低置信度条目更快进入归档队列。
记忆类型系统(Memory Type System) — 共 7 类记忆,各具独立 TTL(生存期):event(14 天)、fact(90 天)、preference(180 天)、goal(365 天)、habit(365 天)、rule(永不过期)、context(30 天)。该元数据以不可见 HTML 注释形式嵌入 observations.md。
Observation 分块(Observation Chunking) — 将 3 条及以上关联紧密的 observation 压缩为单一条目摘要。源条目归档,摘要条目以 chunk hook 替代之。最高可实现 75% 的 token 节省。
重要性衰减(Importance Decay) — 每类记忆按日应用专属衰减率,用于归档决策前的重要性分数修正。低于归档阈值的条目进入移除队列。衰减率:event(-0.5/天)、fact(-0.1/天)、preference(-0.02/天)、rule/habit/goal(无衰减)。
模式提升(Pattern Promotion) — 扫描近期梦境日志,识别跨 3 天以上、出现频次 ≥3 的重复主题。将提升建议写入 memory/dream-staging/ 待人工审核。使用 staging-review.sh 列出、查看、批准或拒绝提案。context 类型永不自动提升。
运行 bash skills/total-recall/scripts/setup.sh — 自动创建梦境循环所需目录。
添加夜间 cron 任务:
# 梦境循环 — 每日凌晨 3 点执行 0 3 * * * OPENCLAW_WORKSPACE=~/your-workspace bash ~/your-workspace/skills/total-recall/scripts/dream-cycle.sh preflight
使用 prompts/dream-cycle-prompt.md 作为系统提示词配置你的 cron 智能体。推荐模型组合:Claude Sonnet(用于梦境分析与决策)、DeepSeek v3.2(用于低成本、高速观察)。
初始几晚启用 READ_ONLY_MODE=true。每次运行后检查 memory/dream-logs/,确认其拟归档内容是否符合预期。
确认无误后,切换至 READ_ONLY_MODE=false。
| 变量 | 默认值 | 说明 |
|---|---|---|
DREAM_TOKEN_TARGET |
8000 |
归档合并后 observations.md 的目标 token 数 |
READ_ONLY_MODE |
false |
设为 true 以启用只读分析(不执行写入) |
| 文件 | 说明 |
|---|---|
scripts/dream-cycle.sh |
Shell 辅助脚本:preflight、archive、update-observations、write-log、write-metrics、validate、rollback |
prompts/dream-cycle-prompt.md |
夜间梦境循环运行所用的智能体提示词 |
dream-cycle/README.md |
梦境循环快速参考文档 |
schemas/observation-format.md |
扩展版 observation 元数据格式说明 |
memory/
archive/
observations/ # 归档条目(按夜拆分为单个 .md 文件)
chunks/ # Observation 分块组
dream-logs/ # 夜间运行报告
dream-staging/ # 等待人工审核的模式提升提案
.dream-backups/ # 运行前安全备份
research/
dream-cycle-metrics/
daily/ # 每夜生成的 JSON 格式指标
观察者未运行?
logs/observer.log 中的错误日志OPENROUTER_API_KEY 已正确设置且有效crontab -l会话启动时未加载 observations?
memory/observations.md 的逻辑MEMORY_DIR 指向正确路径响应式监听器未触发(Linux)?
systemctl --user status total-recall-watcherinotify-tools 是否已安装:which inotifywaitjournalctl --user -u total-recall-watcher -f梦境循环归档过于激进?
READ_ONLY_MODE=true,先审阅梦境日志再正式启用DREAM_TOKEN_TARGET 值,减少单次归档量梦境循环归档不足?
DREAM_TOKEN_TARGET 值,触发更积极的合并策略本系统的设计灵感源自人类睡眠期间的记忆机制——海马体(观察者)负责即时捕捉经历,而在睡眠巩固阶段(反思者),重要记忆得以强化,噪声则被舍弃。
延伸阅读:《你的 AI 存在注意力缺陷》
“把你那屁股弄到火星上去。”——好吧,至少让你的智能体把记忆运转起来。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章