Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

memory-oracle记忆 Oracle

Agent Skill

memory-oracle 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,235

周安装

173

GitHub Stars

公开资料未说明

下载量

1,356
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:memory-oracle(记忆 Oracle)
来源仓库:https://github.com/oleglegegg/memory-oracle
安装命令:
openclaw skills install memory-oracle
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install memory-oracle

简介

memory-oracle 提供持久结构化内存系统,支持 SQLite 存储与混合搜索。

  • 适用于需 FTS5 全文检索加衰减评分的复杂查询场景。
  • 具备基于规则的捕获与 LLM 驱动的每日反思机制。
  • 安装命令为 openclaw skills install memory-oracle,需 SQLite 文件创建权限。
  • 每日反思可能消耗较多 tokens,建议设置频率上限。

SKILL.md

name
memory-oracle
description
>
required_env_vars
required
false
description
>
compatibility
python
>=3.8
sqlite_fts5
true

Memory Oracle

A structured, self-maintaining memory system for OpenClaw agents.

Why this exists

OpenClaw's built-in memory is markdown files + LLM discretion. This means:

  • The agent decides whether to save (often doesn't)
  • The agent decides whether to search (often doesn't)
  • Compaction silently destroys chat-only instructions
  • MEMORY.md becomes a dumping ground with no cleanup
  • No structured search, no decay, no dedup

Memory Oracle fixes all of these with zero external dependencies (Python stdlib + SQLite).

Architecture

Two processes, mirroring the HEAVY/LIGHT pattern:

LIGHT process (every turn, zero tokens, zero API calls)

  1. capture.py — Rule-based extraction runs AFTER each agent response.

Parses the conversation turn for facts, decisions, preferences, tasks using bilingual (RU+EN) pattern matching. Writes to SQLite. If a fact's content hash already exists → bumps access_count instead.

  1. recall.py — Three-slot retrieval runs BEFORE each agent response.

Injects relevant context from SQLite using a budget of ~2000 tokens: - Slot 1 (10%): Guardrails — always present, immune to decay - Slot 2 (30%): Fresh facts from last 24h by importance - Slot 3 (60%): FTS5 search ranked by score = importance × recency × access_boost

  1. checkpoint.py — Emergency save triggered by OpenClaw's pre-compaction hook.

Dumps all hot-tier context to SQLite with source = "checkpoint" tag.

HEAVY process (cron, uses Claude API)

Runs nightly at 03:00 agent-local time:

  1. consolidate.py — Sends today's daily log to Claude API (~2K tokens).

Extracts structured facts that rule-based capture missed.

  1. reflect.py — Analyzes the day's facts against MEMORY.md and prior reflections.

- Light mode (daily): contradictions, new topics, priorities, stale candidates - Deep mode (weekly, Mondays): 7-day trend analysis, pattern detection, strategic rebalancing Outputs reflection.json with score modifications + YYYY-MM-DD-reflection.md digest.

  1. maintenance.py — Applies decay, prunes dead facts, archives cold tier,

re-renders MEMORY.md from top SQLite facts, vacuums DB.

Agent protocol

These rules go into your AGENTS.md or equivalent config:

## Memory Oracle Protocol

BEFORE responding to the user:
  Run: python3 ~/.openclaw/skills/memory-oracle/scripts/recall.py --query "<user message>"
  Inject the output into your context as relevant background.

AFTER responding to the user:
  Run: python3 ~/.openclaw/skills/memory-oracle/scripts/capture.py --turn "<full turn text>"

When the user says "remember this", "never forget", "this is critical":
  Run: python3 ~/.openclaw/skills/memory-oracle/scripts/capture.py --turn "<text>" --guardrail

When the user asks "what do you know about X":
  Run: python3 ~/.openclaw/skills/memory-oracle/scripts/recall.py --query "X" --verbose
  Show the facts with their scores, sources, and ages.

Every 10 turns (heartbeat):
  Run: python3 ~/.openclaw/skills/memory-oracle/scripts/capture.py --flush
  This forces extraction of any buffered context.

Installation

cd ~/.openclaw/skills/
git clone <repo-url> memory-oracle
cd memory-oracle
bash install.sh

The installer will:

  1. Initialize SQLite database with FTS5 index
  2. Import existing MEMORY.md and daily logs (if present)
  3. Prompt you to optionally set up cron jobs for the HEAVY process
  4. Print a snippet to paste into your AGENTS.md
  5. Print a snippet to paste into your OpenClaw compaction config

Note: The installer does NOT auto-edit your AGENTS.md or OpenClaw config. You review and paste the snippets yourself.

Configuration

All thresholds live in config/settings.json. Key tunables:

  • recall_budget_tokens: Total injection budget (default: 2000)
  • decay_rate: Daily score decay multiplier (default: 0.05)
  • archive_threshold: Score below which facts move to cold (default: 0.2)
  • delete_threshold: Score below which cold facts are purged (default: 0.05)
  • delete_min_age_days: Minimum age before deletion (default: 90)
  • reflect_deep_day: Day of week for deep reflection, 0=Mon (default: 0)
  • api_model: Model for HEAVY process (default: claude-sonnet-4-20250514)
  • api_max_tokens: Max response tokens for LLM calls (default: 1000)

Uninstall / rollback

cd ~/.openclaw/skills/memory-oracle
bash uninstall.sh

The uninstaller will:

  1. Export full memory state to JSON (for re-import if you reinstall)
  2. Remove cron jobs (with confirmation)
  3. Restore original MEMORY.md from the backup created during install
  4. Optionally delete the SQLite database (asks with fact count shown)
  5. Clean up reflection files and pending queue
  6. Print remaining manual steps (AGENTS.md cleanup, compaction config)

Use --force to skip confirmations, --keep-db to keep the database while removing everything else.

Known issues & limitations

FTS5 not available on some systems. Minimal containers (Alpine) and old Debian/Ubuntu may lack FTS5. install.sh checks for this and prints fix instructions. Most systems with Python 3.8+ include FTS5.

Conflict with other memory skills. If you have memory-complete, continuity, or agent-brain installed, they may compete for MEMORY.md writes. Disable other memory plugins before installing: plugins.slots.memory = "none" in your OpenClaw config, or remove conflicting skills.

Cron unavailable in containers. Docker, sandboxed VPS, and some hosting environments block crontab. install.sh handles this gracefully — just run the HEAVY pipeline manually or via your own scheduler (systemd timer, supervisor, etc.):

python3 scripts/consolidate.py && python3 scripts/reflect.py --auto && python3 scripts/maintenance.py

Large existing MEMORY.md (>50KB). Import during init_db.py works but may create noisy low-confidence facts. After install, run python3 scripts/maintenance.py --stats and check the fact count. If too high, run python3 scripts/maintenance.py to let decay and pruning clean up naturally over a few days.

Rule-based capture misses implicit facts. Capture.py uses pattern matching — it catches ~70% of facts. The remaining 30% are caught by consolidate.py (HEAVY process) with LLM extraction. Without ANTHROPIC_API_KEY, only rule-based capture works.

File structure

memory-oracle/
├── SKILL.md              ← You are here
├── README.md             ← GitHub-friendly docs
├── LICENSE               ← MIT
├── install.sh            ← Bootstrap + cron setup
├── uninstall.sh          ← Safe rollback + export
├── scripts/
│   ├── init_db.py        ← Schema + migration from existing .md
│   ├── capture.py        ← LIGHT: rule-based extraction
│   ├── recall.py         ← LIGHT: 3-slot hybrid search
│   ├── checkpoint.py     ← Pre-compaction emergency save
│   ├── consolidate.py    ← HEAVY: LLM fact extraction
│   ├── reflect.py        ← HEAVY: adaptive reflection
│   ├── maintenance.py    ← HEAVY: decay, prune, re-render
│   └── migrate.py        ← Schema version management
├── config/
│   ├── settings.json     ← All tunables
│   └── patterns.json     ← Bilingual extraction rules
├── prompts/
│   ├── consolidate.txt   ← LLM extraction prompt
│   ├── reflect_light.txt ← Daily reflection prompt
│   └── reflect_deep.txt  ← Weekly reflection prompt
└── tests/
    ├── test_capture.py   ← Pattern matching tests
    └── test_recall.py    ← Ranking + budget tests

Graceful degradation

Every component is designed to fail safely:

  • SQLite corrupted → recall falls back to grep over MEMORY.md
  • API unreachable → consolidate/reflect queue to pending_queue.json, LIGHT continues
  • Cron missed → next run processes all accumulated data
  • Bad LLM output → stored in failed_reflections/, scores unchanged
  • Low confidence reflection → stored but not applied, re-evaluated next cycle

Privacy & data flow

What stays local (always):

  • SQLite database with all facts, scores, and access logs
  • MEMORY.md, daily logs, SESSION-STATE.md
  • Rule-based capture and recall (LIGHT process) — zero network calls

What is sent to Anthropic API (HEAVY process only):

  • consolidate.py sends the text of today's daily log to Claude API for fact extraction
  • reflect.py sends extracted facts (not raw logs) and current memory state for analysis
  • Both require ANTHROPIC_API_KEY env var to be set
  • If the API key is not set, HEAVY process is skipped entirely — LIGHT works alone

If you are not comfortable sending daily logs to an external LLM:

  • Set api.model to a local model endpoint in config/settings.json
  • Or simply don't set ANTHROPIC_API_KEY — the skill runs in LIGHT-only mode

with rule-based capture and full recall, just without LLM-powered consolidation and reflection

Other privacy rules:

  • MEMORY.md and recall output are NEVER loaded in group contexts
  • Guardrails table is private-session only
  • maintenance.py --export dumps full state to JSON for backup/migration

Author

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.21%
按下载量换算1,264

安全审计

VirusTotal

未展示

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills