← 返回 Skills 市场
autosolutionsai-didac

Agent Memory Setup

作者 autosolutionsai-didac · GitHub ↗ · v1.2.0 · MIT-0
cross-platform ⚠ suspicious
431
总下载
1
收藏
2
当前安装
3
版本数
在 OpenClaw 中安装
/install agent-memory-setup-qmd
功能描述
Set up the full OpenClaw agent memory system with 3-tier memory (HOT/WARM/COLD), daily logs, semantic search (QMD), and lossless context management (Lossless...
使用说明 (SKILL.md)

Agent Memory Setup

Set up a complete 3-tier memory system for any OpenClaw agent. Includes directory structure, memory files, semantic search, and context compaction.

Quick Start

# 1. Run setup script
bash scripts/setup_memory.sh /path/to/workspace

# 2. Copy AGENTS.md template to workspace
# (read references/AGENTS_TEMPLATE.md, adapt, write to workspace/AGENTS.md)

# 3. Add config to openclaw.json (see Step 3 below for exact JSON)

# 4. Restart
openclaw gateway restart

For full details, read the sections below.

When NOT to Use This Skill

  • Backing up or exporting memory — this skill sets up memory, it doesn't handle backup/migration
  • Memory is already set up — run the verification checklist in Step 4 instead of re-running setup
  • Debugging a specific memory issue — check the Troubleshooting section directly
  • Changing memory tier content — that's the agent's job during normal operation, not a setup task

Prerequisites

Before running setup, ensure:

  • OpenClaw CLI is installed and on your PATH (openclaw --version). If not installed, the setup script will still create directories and memory files, but plugin installation and config changes must be done manually.
  • Python 3.8+ (for QMD only — optional). Check with python3 --version. QMD provides semantic search (memory_search) over memory files. The core memory system (tiers, daily logs, Lossless Claw) works fully without it. If you can't install QMD (no Python, restricted server), you lose semantic search but keep everything else.
  • Node.js 18+ (for OpenClaw and Lossless Claw plugin).

Platform Notes

  • Linux: Fully supported. No special considerations.
  • macOS: Fully supported. Config lives at ~/.openclaw/openclaw.json (same as Linux). The setup script uses POSIX-compatible date and mkdir — no GNU-specific flags.
  • Windows (WSL2): Supported via WSL2 with Ubuntu or similar. Run everything inside WSL, not from Windows CMD/PowerShell. Gotcha: If your workspace is on a Windows-mounted drive (/mnt/c/...), file permissions may behave unexpectedly — prefer using a path inside the WSL filesystem (~/workspace) for reliable permission handling. The script's set -euo pipefail and mkdir -p work fine under WSL2.
  • Windows (native): Not supported. OpenClaw requires a Unix shell.

Setup Steps

Step 1: Run the setup script

bash scripts/setup_memory.sh /path/to/agent/workspace

This creates:

  • memory/, memory/hot/, memory/warm/ directories
  • memory/hot/HOT_MEMORY.md (active session state)
  • memory/warm/WARM_MEMORY.md (stable config & preferences)
  • MEMORY.md (long-term archive)
  • memory/YYYY-MM-DD.md (today's daily log)
  • memory/heartbeat-state.json (heartbeat tracking)

It also checks for QMD and Lossless Claw, installing them if possible.

Step 2: Copy the AGENTS.md template

Read references/AGENTS_TEMPLATE.md and write it to the agent's workspace as AGENTS.md.

What to customize:

  • Heartbeat section — adapt checks to the agent's domain (e.g., a CFO agent checks costs, a marketing agent checks social metrics, a DevOps agent checks CI pipelines)
  • HEARTBEAT.md — create a small checklist of periodic tasks specific to the agent's role
  • Memory tier descriptions — keep as-is unless the agent has unusual memory patterns

What to keep as-is:

  • The session startup sequence (read SOUL.md, USER.md, memory files)
  • Memory tiering instructions (HOT/WARM/COLD flow)
  • The "Write It Down" and "No Mental Notes" sections
  • MEMORY.md security rules (main session only)

Step 3: Configure openclaw.json

Add to agents.defaults (or the specific agent config):

"memorySearch": { "provider": "local" },
"compaction": { "mode": "safeguard" },
"contextPruning": { "mode": "cache-ttl", "ttl": "1h" },
"heartbeat": { "every": "1h" }

What each setting does:

Setting Purpose Customization
memorySearch Enables QMD semantic search over memory files "local" is the only current provider
compaction: safeguard Lossless Claw compacts old messages into expandable summaries instead of dropping them. "Safeguard" mode triggers compaction before context overflows, preserving everything via lcm_expand Change mode only if you understand Lossless Claw internals
contextPruning: cache-ttl Evicts stale context from the active window after the TTL expires. Works WITH Lossless Claw: content is compacted first, then pruned, so nothing is truly lost Adjust ttl to match your use case: "5m" for fast-cycling agents, "2h" for long research sessions
heartbeat Triggers periodic check-ins where the agent reads HEARTBEAT.md and performs maintenance tasks (email checks, memory review, etc.) Adjust "every" interval: "5m" for monitoring agents, "1h" for general use, "4h" for low-activity agents

Enable these plugins for the agent:

"session-memory": { "enabled": true },
"bootstrap-extra-files": { "enabled": true },
"lossless-claw": { "enabled": true }

What each plugin does:

Plugin Role
session-memory Persists and loads memory context across sessions. Ensures the agent reads memory files (HOT/WARM/COLD) on startup
bootstrap-extra-files Loads additional workspace files (AGENTS.md, SOUL.md, USER.md, TOOLS.md) into the agent's context at session start
lossless-claw Compacts old conversation into summaries that can be expanded back on demand via lcm_expand, lcm_grep, and lcm_expand_query. Prevents amnesia in long conversations

Manual plugin install (if the setup script didn't install them):

pip install qmd                # or: pipx install qmd / brew install qmd
openclaw plugins install @martian-engineering/lossless-claw

Step 4: Restart and verify

openclaw gateway restart

Verification checklist — run each and confirm:

# 1. Memory directories exist
ls -d memory/ memory/hot/ memory/warm/

# 2. Memory files exist
ls memory/hot/HOT_MEMORY.md memory/warm/WARM_MEMORY.md MEMORY.md memory/heartbeat-state.json

# 3. Today's daily log exists
ls memory/$(date +%Y-%m-%d).md

# 4. QMD is installed
qmd --version

# 5. Lossless Claw plugin is active
openclaw plugins list | grep lossless-claw

# 6. AGENTS.md is in place
head -5 AGENTS.md

# 7. Config is applied (check openclaw.json)
grep -c "memorySearch\|compaction\|contextPruning\|lossless-claw" ~/.openclaw/openclaw.json

If any check fails, see the Troubleshooting section below.

Migrating Existing Memory

If you already have MEMORY.md or daily logs from before this system:

  1. Run the setup script normally — it checks if [ ! -f ] before creating each file, so your existing files are preserved untouched.
  2. Reorganize existing content into tiers:
    • Move active/temporary context from MEMORY.md → memory/hot/HOT_MEMORY.md
    • Move stable preferences, API refs, recurring config → memory/warm/WARM_MEMORY.md
    • Keep long-term decisions, milestones, lessons learned in MEMORY.md (COLD tier)
  3. Existing daily logs stay in memory/ as-is — the system reads them from there already.

Recovery

Corrupted memory file: Delete the corrupted file and re-run bash scripts/setup_memory.sh /path/to/workspace. The script only creates files that don't exist, so other memory files are safe. Alternatively, manually recreate the file with the template header from the setup script.

Lost or deleted AGENTS.md: Re-copy from references/AGENTS_TEMPLATE.md and customize.

Broken openclaw.json: Restore from backup (the setup script doesn't modify openclaw.json — config changes are manual). If no backup exists, re-add the config from Step 3 above.

General principle: The setup script is always safe to re-run. It never overwrites existing files.

Using Lossless Claw After Setup

Once installed, Lossless Claw works automatically:

  1. Compaction is automatic — as conversations grow long, old messages are compacted into summaries behind the scenes.
  2. The agent retrieves context on demand using these tools:
    • lcm_expand — expand a compacted summary back into its original messages
    • lcm_grep — search across all compacted history by regex or text
    • lcm_expand_query — ask a question and get answers from compacted context
  3. No agent code changes needed — if the agent has access to lcm_* tools (standard in OpenClaw), it can retrieve anything that was compacted.
  4. AGENTS.md instructs the agent to update HOT_MEMORY before compaction flushes, so critical working state survives even when context is pruned.

How the Tiers Work

Tier File Purpose Update Frequency
🔥 HOT memory/hot/HOT_MEMORY.md Current task, pending actions Every few turns
🌡️ WARM memory/warm/WARM_MEMORY.md Stable preferences, API refs, gotchas When things change
❄️ COLD MEMORY.md Milestones, decisions, distilled lessons Weekly/monthly

Concrete examples per tier

🔥 HOT — "Currently debugging auth flow for client X. Waiting on API key from Bob. Next step: test endpoint once key arrives."

🌡️ WARM — "User prefers bullet lists over paragraphs. Slack workspace is #eng-team. API rate limit is 100 req/min. Always use UTC timestamps."

❄️ COLD — "2025-03-15: Migrated from v1 to v2 API. Key lesson: always pin dependency versions. Decision: adopted trunk-based development."

Daily logs (memory/YYYY-MM-DD.md) capture raw session events. Periodically, the agent reviews daily logs and promotes important items up to COLD.

Multi-Agent & Multi-Context Workspaces

Shared workspaces (multiple agents, one directory)

  • HOT_MEMORY is shared — all agents read it. Never put agent-specific debugging context here (e.g., "Current task: fix auth bug"). Other agents (including voice/avatar) will pick it up and fixate on it.
  • Keep HOT_MEMORY generic — use it for general state like "User is in a meeting until 3pm" or "Deploy freeze until Friday."
  • Daily logs are shared too — agents writing to the same memory/YYYY-MM-DD.md should prefix entries with their name to avoid confusion.
  • WARM and COLD are typically safe — preferences and long-term memory apply across agents.

Separate contexts (one agent, multiple domains)

Each OpenClaw agent maps to one workspace. If you need separate memory contexts (e.g., work vs. personal):

  • Option A: Two separate agents — each with its own workspace and memory system. Cleanest separation.
  • Option B: Use WARM memory for context switching — track multiple contexts in WARM_MEMORY (sections for "Work" and "Personal"), switching focus based on conversation.
  • Option C: Separate memory subdirectories — create memory/work/ and memory/personal/ with separate HOT files, and instruct the agent (via AGENTS.md) which to use based on context. Advanced; requires custom AGENTS.md logic.

Long-Term Maintenance

Daily logs grow over time. Each day creates a new memory/YYYY-MM-DD.md file. Over a year, this accumulates ~365 small files. This is generally fine (each file is small — typically 1–10 KB), but for long-running agents:

  • Archive old logs: Move logs older than 90 days to memory/archive/ to keep the main memory/ directory fast to scan. QMD can still index the archive if configured.
  • The agent handles promotion: During heartbeats, the agent reviews daily logs and promotes important items to COLD (MEMORY.md). Once promoted, daily logs become reference-only.
  • Disk usage is modest: Even with years of logs, expect tens of MB at most. Lossless Claw summaries are stored separately by the plugin and managed automatically.

Troubleshooting

Symptom Likely Cause Fix
Agent doesn't read memory files on startup AGENTS.md missing or doesn't include memory instructions Copy references/AGENTS_TEMPLATE.mdAGENTS.md
memory_search not working QMD not installed or memorySearch not configured Run qmd --version; add "memorySearch": { "provider": "local" } to config
Old conversations vanish (no summaries) Lossless Claw not enabled Check openclaw plugins list for lossless-claw; enable in plugins config
Config changes have no effect Gateway not restarted Run openclaw gateway restart
Plugin install fails openclaw CLI not in PATH or npm issue Verify openclaw --version; try npm install -g openclaw
Agent overwrites existing memory files Script bug (shouldn't happen) Script checks if [ ! -f ] before creating — report if override occurs
安全使用建议
This skill appears to do what it says and is internally consistent, but review a few things before running: 1) backup any existing MEMORY.md/daily logs even though the script skips existing files (good defensive practice); 2) the AGENTS_TEMPLATE contains a blunt "Don't ask permission" instruction — if you want human-in-the-loop behavior, remove or edit that line so agents won't act without consent; 3) Lossless Claw is installed via the OpenClaw CLI (openclaw plugins install @martian-engineering/lossless-claw) — verify the plugin’s source if you don't already trust @martian-engineering; 4) heartbeat-driven tasks (email/calendar checks) will require separate credentials/configuration — the skill does not request them, so only grant such access through trusted, audited means; and 5) run the setup script in the intended workspace (not a shared or system directory) and verify file permissions. If you want extra assurance, inspect the plugin source and test in an isolated environment first.
功能分析
Type: OpenClaw Skill Name: agent-memory-setup Version: 1.2.0 The skill bundle performs high-risk operations including the execution of a bash script (scripts/setup_memory.sh) that modifies the file system and installs external software via pip and the openclaw plugin manager. While these actions are aligned with the stated purpose of setting up a 3-tier memory system, the use of shell execution, network-based package installation (@martian-engineering/lossless-claw), and instructions to modify system configurations (openclaw.json) meet the criteria for a suspicious classification. No evidence of intentional malice or data exfiltration was identified, and the AGENTS_TEMPLATE.md even includes explicit security warnings regarding data leakage in shared contexts.
能力评估
Purpose & Capability
The skill's name/description match the deliverables in SKILL.md and the included script: it creates memory directories/files, checks/installs QMD and the Lossless Claw plugin via the OpenClaw CLI, and prints the openclaw.json changes to apply. Required binaries (bash, openclaw) are appropriate and proportional to the stated purpose.
Instruction Scope
Runtime instructions and the script are narrowly scoped to creating files under the provided workspace and prompting the user to modify openclaw.json. However, the AGENTS_TEMPLATE contains normative instructions such as "Don't ask permission. Just do it." and references heartbeat tasks (e.g., 'email checks, memory review') that imply autonomous access to external services. The skill itself does not provide credentials or automation for email/calendar access, but the template's phrasing encourages autonomous behavior and could lead to agents performing background checks if other parts of the system are configured to do so.
Install Mechanism
This is an instruction-only skill with a local bash script; there is no download-from-URL or archive extraction. Suggested installs (pip install qmd, openclaw plugins install @martian-engineering/lossless-claw) use package managers/CLI tools and are expected for these features. No high-risk install URLs are present.
Credentials
The skill requests no environment variables or secret credentials. It does suggest enabling heartbeat-driven checks that could require external service credentials (email/calendar) in normal agent operation — those credentials are not requested by the skill, which is appropriate, but users should be mindful to only provide such secrets to trusted plugins or agents.
Persistence & Privilege
always:false and no automatic modifications to global agent config are performed by the script (it prints config changes for the user to apply). The script writes only under the chosen workspace and is idempotent (it skips existing files). Autonomous agent invocation is allowed by platform defaults but not granted extra privilege by this skill.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent-memory-setup-qmd
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent-memory-setup-qmd 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.0
Round 2: Added cross-platform support (macOS/WSL), config explanations, recovery guidance, Lossless Claw usage workflow, migration guide, multi-agent/multi-context workspace guidance, long-term maintenance, simplified structure
v1.1.0
Added: Quick Start TL;DR, Prerequisites section, When NOT to Use boundaries, concrete tier examples, Multi-Agent Workspaces guidance, expanded verification checklist, Troubleshooting table, expanded trigger phrases. Structural: reordered Prerequisites before Setup Steps. Improved: QMD description with integration details. Autoresearch loop: 60% → 100% across 10 experiments.
v1.0.0
Initial release: 3-tier memory system (HOT/WARM/COLD), QMD semantic search, Lossless Claw context compaction, setup script, AGENTS.md template
元数据
Slug agent-memory-setup-qmd
版本 1.2.0
许可证 MIT-0
累计安装 2
当前安装数 2
历史版本数 3
常见问题

Agent Memory Setup 是什么?

Set up the full OpenClaw agent memory system with 3-tier memory (HOT/WARM/COLD), daily logs, semantic search (QMD), and lossless context management (Lossless... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 431 次。

如何安装 Agent Memory Setup?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-memory-setup-qmd」即可一键安装,无需额外配置。

Agent Memory Setup 是免费的吗?

是的,Agent Memory Setup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Agent Memory Setup 支持哪些平台?

Agent Memory Setup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Agent Memory Setup?

由 autosolutionsai-didac(@autosolutionsai-didac)开发并维护,当前版本 v1.2.0。

💬 留言讨论