Hui Yi manages the cold reinforcement layer under memory/cold/.
Core rule:
Repeatedly reactivated information deserves reinforcement first. Ebbinghaus sets the pace, not the sole trigger.
Recall order: current conversation → recent daily notes / primary memory → relevant tooling notes / learnings → cold memory only if archival context is still needed. Phrases such as “之前”, “回忆一下”, or “do you remember” do not independently select this skill or authorize a write. Read the index and a few relevant notes before opening more archive content.
Follow the user's response language. Chinese examples and schedule messages are examples, not a language requirement; prompt templates are configurable.
memory/YYYY-MM-DD.mdMEMORY.mdTOOLS.md.learnings/OpenClaw primary memory handles:
Hui Yi handles:
memory/cold/For “自动检测用户的记忆信息”, read references/native-memory.md. Use the host's native capture and recall pipeline for frequent facts. The optional legacy hook does not provide reliable automatic collection on stock OpenClaw 2026.9.5. Cold-memory search can be selected when the conversation needs archival context; the user need not name this skill or use a slash command.
scripts/configure_native_memory.py previews a conservative webchat-only integration. --apply changes the existing host config only after the audited runtime and persistent adapter are verified; it backs up the config with its access permissions, enables native dreaming and adapter recall, keeps cross-peer conversation recall off, and disables the direct built-in Active Memory entry plus the old hook. The adapter refuses unverified host upgrades, so replacement of host files cannot remove its scope checks. Native dreaming runs background models and may promote supported facts into primary memory. Consult the reference for source trust, timing, cost, excluded channels, and upgrade safeguards.
Never claim a memory is saved merely because a candidate was detected. Verify the persisted evidence; prefer newer explicit corrections and keep dated states historical.
Cold-memory area:
memory/cold/index.mdmemory/cold/tags.jsonmemory/cold/retrieval-log.mdmemory/cold/_template.mdmemory/cold/schedule.jsonmemory/heartbeat-state.jsonSelect the narrowest operation needed:
scripts/search.py / scripts/review.py resurface: read and rank relevant notes; --full-text search returns matching note text.scripts/create.py: create an authorized cold note and rebuild metadata. Use the semantic fields in templates/note-template.md; replace placeholders with supported facts.scripts/validate.py --strict: check note and index structure without repair.scripts/rebuild.py: rewrite index/tags and update heartbeat state from existing notes.scripts/annotate_primary_cache.py: preview a source-hash-bound annotation plan for existing MEMORY.md/ USER.md bullet entries. --apply adds native trigger metadata only after protected backups; it does not create facts or inflate repetition counts. Use only within an authorized primary-cache repair, with facts checked against their sources and newer corrections.scripts/review.py feedback / session: record actual usefulness and review outcomes; do not invent review counts. resurface --write-signals is an explicit write option.scripts/decay.py --dry-run: preview overdue-review and verification-staleness maintenance. Apply only within an authorized maintenance task; --rebuild synchronizes metadata after application. Age does not automatically demote memory state.scripts/cool.py status: read cooling state; scan and done update heartbeat state and require an authorized cooling workflow.scripts/scrub_metadata.py --dry-run: preview legacy session-identifier cleanup; omit --dry-run to apply the authorized cleanup.scripts/scheduler.py --preview: inspect candidate ranking; this does not register a schedule or send a message.core/openclaw_signal_hook.py / core/openclaw_runtime_probe.py: explicitly test the adapter; use --dry-run to avoid signal writes and --stdin for message text when practical. The probe calls the adapter in process.scripts/install_hook.py --dry-run: preview optional hook installation; running without --dry-run installs files, and --enable also updates existing OpenClaw configuration.scripts/smoke_test.py: read-only validate/search/scheduler smoke against the selected archive, using fixed Python child commands. Use the test suite for isolated regression coverage.Core modules:
core/safe_fs.py: shared Python file boundary and atomic writescore/signal_detect.pycore/signal_pipeline.pycore/openclaw_signal_hook.pycore/openclaw_runtime_probe.pytemplates/hook/safe-fs.ts: shared TS hook file boundary; package/install it alongside handler.tsmemory/cold/ and memory/heartbeat-state.json; explicit CLI path overrides select other local resources. Context-file inputs, optional hook files/logs, and OpenClaw configuration are additional declared resources. Archive scripts do not transport data over a network or extract credentials. Native integration invokes host-configured model/embedding services and reads/rewrites the potentially credential-bearing openclaw.json with --apply; the legacy installer does so with --enable. Never package the private config backups.scripts/install_hook.py copies files
into hooks/hui-yi-signal-hook/, and only --enable flips the two
hooks.internal.* keys in openclaw.json (after printing a disclosure; it
refuses to create a missing config file).context.body: /hui-yi <query> or /hui_yi <query>. The command is case-insensitive, requires an ASCII space/tab separator and a nonempty query, and is stripped before matching. Leading whitespace, quoted/embedded/prefixed/empty commands, and commands present only in bodyForAgent do not activate it. Ordinary recall wording remains ignored. Hosts must not copy user-controlled fields into trusted selection or workspace metadata.--include-sensitive explicitly includes raw query/context and matching terms for local diagnosis. Do not use it with secrets or shared logs. Neither option exposes raw session keys; adapter/probe outputs remain limited to counts, status, safe errors, and a session hash.review.py feedback --query/--action deliberately persists those values in memory/cold/retrieval-log.md, separately from diagnostic logging. Supply a short, non-sensitive retrieval topic/action; safe diagnostics do not redact this requested archive record.allowed-tools and manifest.yaml disclose intended operations; they do not enforce an OS/runtime access-control policy.annotate_primary_cache.py --apply can append
retrieval annotations to verified existing MEMORY.md/ USER.md bullets.bash
python -X utf8 -B -m unittest discover -s tests
node --experimental-strip-types --test tests/hook_security.test.mjs
For a requested status check, validate the selected archive, run its smoke check when useful, and preview scheduler candidates. Inspect the host's hook status through an authorized host interface when runtime status matters. Distinguish offline test success from verified live hook behavior. A failing read-only check does not authorize index repair, installation, or configuration changes.
Source version: 1.2.13, a security, compatibility and recall upgrade. See release notes. Registry installation metadata is not part of the source package; verify publication and independent audit status at the registry.