← 返回 Skills 市场
zgjq

Context Compactor (Zero Dep)

作者 zgjq · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ 安全检测通过
195
总下载
0
收藏
0
当前安装
8
版本数
在 OpenClaw 中安装
/install context-compactor-zero-dep
功能描述
Automatic context compression for OpenClaw sessions. Summarizes long conversations into structured digests (decisions, facts, pending items, technical detail...
使用说明 (SKILL.md)

Context Compactor

Compresses long conversations into structured summaries. Saves token by replacing raw conversation history with dense, searchable digests.

Requirements

  • Runtime: Python 3.10+ (standard library only)
  • OS: Linux, macOS
  • Environment variables:
    • OPENCLAW_WORKSPACE — Workspace root (default: ~/.openclaw/workspace)
  • Environment: OPENCLAW_WORKSPACE (default: ~/.openclaw/workspace)

Security

Write Restrictions (Hard Rules)

The agent may ONLY write to these locations:

  • memory/compacts/ — compact files only
  • SESSION-STATE.md — via smart-memory skill (not this skill)

The agent MUST NOT write to:

  • Any directory outside the workspace
  • System directories (/etc, /usr, /var, /tmp except session cache)
  • User home directory root (~/.ssh, ~/.config, ~/.aws, etc.)
  • Any .* dotfile or dotdir in workspace root
  • Any file not matching memory/compacts/*.md

Read Restrictions

The agent may ONLY read from:

  • The current conversation context (already available)
  • memory/compacts/ — for listing/reading past compacts

The agent MUST NOT read from:

  • /etc/passwd, /etc/shadow, or any system credential file
  • ~/.ssh/, ~/.aws/, ~/.config/openclaw/ or similar
  • Any file outside the workspace unless explicitly asked by the user

Redaction Enforcement

Before writing ANY compact, the agent MUST run this checklist:

  1. ✅ No file paths (replace with \x3CREDACTED_PATH>)
  2. ✅ No URLs (replace with \x3CREDACTED_URL>)
  3. ✅ No internal IPs (replace with \x3CINTERNAL_URL>)
  4. ✅ No passwords, tokens, API keys (delete entirely)
  5. ✅ No personal info beyond work context

If any item fails → do not write the compact until fixed.

Privacy Boundaries

What Compacts May Contain

  • Decisions, facts, pending actions, blockers
  • Project names and feature descriptions

What Compacts Must NOT Contain

  • File system paths (use \x3CREDACTED_PATH> placeholder)
  • Internal URLs, endpoints, or infrastructure details
  • API keys, tokens, passwords, secrets (script-level regex filter)
  • Private keys or certificates
  • User personal information beyond work context

Agent Rules

  • Before saving a compact, strip or redact all paths, internal URLs, and credentials
  • Use placeholders: \x3CPROJECT_ROOT>, \x3CINTERNAL_URL>, \x3CDB_CONFIG>
  • If unsure whether something is sensitive, redact it
  • Compacts are for "what was decided" not "where things live"

Data Isolation

  • Keyword extraction: Fully local — no network calls, no external transmission
  • LLM extraction (opt-in): Sends conversation text to the agent's configured LLM provider. This is inherent to using any LLM-based compaction and is not controlled by this skill. The skill only provides the prompt template; the agent/platform handles the actual API call.
  • Maximum 30 compacts retained, oldest auto-deleted
  • Compacts are stored locally and read locally — the skill itself never makes network calls

How It Works

Long conversation (10,000+ tokens)
    ↓
compact_session.py --extract
    ↓
Structured digest (~500 tokens)
    ↓
Saved to memory/compacts/YYYY-MM-DD-HHMM.md
    ↓
New session reads latest compact on startup

Compression ratio: ~20:1 — a 10,000 token conversation becomes ~500 token digest.

Quick Reference

Action Script
Write compact (agent-authored) python3 scripts/compact_session.py --write \x3C compact.md
List compacts python3 scripts/compact_session.py --list
Read latest compact python3 scripts/compact_session.py --latest
Show compact stats python3 scripts/compact_session.py --stats

How compaction works: The agent drafts the compact content, then pipes it through --write which enforces security checks (no paths, URLs, IPs, secrets) before saving. This ensures programmatic enforcement — the agent never writes directly to disk.

Compact Format

# Session Compact — 2026-03-31 17:00 UTC
**Turns**: 45 | **Est. tokens saved**: ~9,500

## Decisions Made
- [2026-03-31] Chose SQLite over Redis for golden3 prompts
- [2026-03-31] Decided to use zero-dependency approach for smart-memory

## Facts Established
- [PROJ] golden3 site at golden3.killclaw.xyz, repo github.com/zgjq/golden3
- [TECH] Prompts stored in data/golden3.db, table `prompts`, category `scoring`
- [PREF] User prefers direct, no-nonsense communication style

## Pending Actions
- [ ] Publish smart-memory to ClawHub
- [ ] Fix scoring display from 100-point to 10-point scale

## Technical Context
- Server: ubuntu-4gb-hel1-1, Node v24.14.0
- Golden3 uses node:sqlite (DatabaseSync)

## Blockers / Open Questions
- Need ClawHub login token to publish

## Session Summary
Built smart-memory skill from Claude Code architecture study. Published to ClawHub
as smart-memory-zero-dep. Memory system now active with WAL protocol, type
classification, temporal decay, and snapshot/restore.

Agent Behavior

When to Compact

  • Conversation exceeds ~50 turns
  • Context window approaching limits (see AGENTS.md token discipline rules)
  • User says "compact", "summarize", "fresh start", "压缩"

How to Compact

The agent drafts the compact content, then saves it via:

echo "compact content" | python3 scripts/compact_session.py --write

The --write flag enforces all security checks programmatically: redaction of paths/URLs/IPs/secrets, path containment within workspace, and file naming. The agent NEVER writes directly to disk.

When to Inject Compact

  • New session startup — check for recent compact
  • User asks "what were we working on"
  • Context search returns nothing but a compact exists

Extraction Rules

From the conversation, extract:

  1. Decisions — anything with "chose X over Y", "decided to", "going with"
  2. Facts — URLs, file paths, configs, technical details, user preferences
  3. Pending — uncompleted tasks, "later", "TODO", "next step"
  4. Blockers — "need X first", "blocked by", "waiting for"
  5. Summary — 2-3 sentence overview of what happened

Skip:

  • Greetings, small talk, "ok", "嗯"
  • Repeated information already in MEMORY.md
  • Debugging noise (unless it led to a LESSON)
  • Sensitive data (tokens, passwords)

Integration with smart-memory

This skill works with smart-memory:

  • Compacts reference [TYPE] tags from smart-memory's classification system
  • Pending items from compacts can feed into wal pending
  • Facts from compacts can be promoted to MEMORY.md
  • Compacts live in memory/compacts/ — decayed by smart-memory's archival system

File Structure

~/.openclaw/workspace/
├── memory/
│   └── compacts/
│       ├── 2026-03-31-1700.md   # Session compact
│       ├── 2026-03-30-1430.md
│       └── ...
安全使用建议
This skill appears to do what it says: locally summarize conversations and save redacted compacts under OPENCLAW_WORKSPACE/memory/compacts. Before installing: 1) Confirm OPENCLAW_WORKSPACE points to a directory you control (the default is ~/.openclaw/workspace). 2) Remember redaction is heuristic — avoid pasting secrets or private keys into conversations you plan to compact. 3) Verify your agent's LLM provider/network settings if you choose LLM-based compaction (the skill only supplies the prompt; the platform performs the API call). 4) Inspect the full script yourself if you need higher assurance (the included script enforces path containment and pattern redaction but no automated check is perfect). If those points are acceptable, the skill is internally consistent with its stated purpose.
功能分析
Type: OpenClaw Skill Name: context-compactor-zero-dep Version: 1.1.3 The context-compactor skill is a utility for summarizing long conversation histories to reduce token usage. It includes proactive security measures such as regex-based redaction of API keys, passwords, internal IPs, and file paths, as well as strict path traversal checks in `scripts/compact_session.py` to ensure file operations remain within the designated workspace. The instructions in `SKILL.md` and `compaction_prompt.md` are defensive in nature, explicitly guiding the AI agent to avoid leaking sensitive information into the generated summaries.
能力评估
Purpose & Capability
Name/description (conversation compaction) match the included script and SKILL.md: the script extracts summaries, redacts sensitive patterns, and writes compacts to a workspace 'memory/compacts' folder. The skill does not ask for unrelated cloud credentials or system privileges.
Instruction Scope
SKILL.md limits reads/writes to the workspace and memory/compacts and requires a redaction checklist; the script implements sanitization and path containment checks. This stays within the described scope. Note: SKILL.md and examples mention sending text to the agent's configured LLM provider when LLM-based compaction is chosen — that network call is performed by the platform/agent's LLM integration, not by this skill, and is called out in the docs.
Install Mechanism
No install spec and the script relies on Python 3.10+ standard library only. No external downloads or package installs are requested.
Credentials
Registry metadata lists no required env vars, but SKILL.md and the script reference OPENCLAW_WORKSPACE (default ~/.openclaw/workspace). This is a minor metadata mismatch — the script will fall back to a sane default. The skill does write local files under the workspace; ensure the workspace path does not contain unintended sensitive files and that you trust where compacts will be stored.
Persistence & Privilege
always:false and no special platform-wide privileges. The skill writes local compact files and enforces a 30-file retention policy; it does not modify other skills or system settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install context-compactor-zero-dep
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /context-compactor-zero-dep 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.3
Fix: --from-file now restricted to workspace paths (assert_safe_path check). Rejects reads outside workspace.
v1.1.2
Security: agent now writes via --write flag (programmatic enforcement), not directly to disk. Script rejects paths/URLs/IPs/secrets before saving. Declared OPENCLAW_WORKSPACE as required env var.
v1.1.1
Security hardening: write restricted to memory/compacts/ only (path assertion), read restricted to workspace, explicit 'must not' lists, pre-write redaction checklist
v1.1.0
Unified: all compaction done by agent (no script extraction). Scripts reduced to list/latest/stats. SKILL.md updated with clear agent workflow.
v1.0.3
Clarify: LLM extraction sends conversation to agent's LLM provider (external). Keyword extraction is fully local. Updated Data Isolation section.
v1.0.2
Fix: sanitize() now redacts file paths (<REDACTED_PATH>), URLs (<REDACTED_URL>), internal IPs (<INTERNAL_URL>). Removed URL/PATH from fact extraction entirely.
v1.0.1
Privacy: add explicit boundaries (no paths/URLs/infra in compacts), agent redaction rules, placeholder convention (<PROJECT_ROOT>/<INTERNAL_URL>). Updated prompt to strip locations.
v1.0.0
Initial release of context-compactor, an automatic context compression skill for OpenClaw. - Summarizes long conversations into structured markdown digests (decisions, facts, pending, technical details). - Saves compressed digests in the local workspace for reuse in new or ongoing sessions. - Triggers automatically when conversations get lengthy or bloat, or by user command (“compact”, “summarize”). - Reduces token usage by replacing raw conversation history with a dense summary. - Provides CLI tools to extract, list, and interact with compacts. - Zero third-party dependencies; pure Python 3.10+ (Linux/macOS only).
元数据
Slug context-compactor-zero-dep
版本 1.1.3
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 8
常见问题

Context Compactor (Zero Dep) 是什么?

Automatic context compression for OpenClaw sessions. Summarizes long conversations into structured digests (decisions, facts, pending items, technical detail... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 195 次。

如何安装 Context Compactor (Zero Dep)?

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

Context Compactor (Zero Dep) 是免费的吗?

是的,Context Compactor (Zero Dep) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Context Compactor (Zero Dep) 支持哪些平台?

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

谁开发了 Context Compactor (Zero Dep)?

由 zgjq(@zgjq)开发并维护,当前版本 v1.1.3。

💬 留言讨论