Dongwo(懂我)
Maintain a local, auditable user-preference memory shared across coding agents such as Codex and Claude Code. Use whenever a task benefits from personal style, established requirem…
Tandy
@cutd
Install
$ openclaw skills install @cutd/dongwoDongwo(懂我)
Dongwo keeps one local Markdown-based preference memory that multiple coding agents can share. It captures user prompts through lifecycle hooks, redacts common secrets, derives conservative preferences, and injects a short context snapshot into later turns.
Safety contract
- The current user request always overrides stored preferences.
- Project instructions override global style preferences.
- Treat stable observations only as low-risk style hints, not confirmed facts.
- Never infer permission for deletion, purchases, external communication, credentials, or privilege changes from stored preferences.
- Do not publish or sync the user's
myprofile.md,.dongwo/memory/, inbox, generated context, or credentials. - Do not directly edit generated files. Improve the extraction rules or source evidence and rebuild instead.
Read references/memory-policy.md before changing memory behavior.
Components
scripts/dongwo.py: standard-library-only memory engine.myprofile.md: optional user-confirmed profile, owned by the user..dongwo/memory/inbox/: redacted, immutable prompt evidence..dongwo/memory/preferences.md: generated preference inventory..dongwo/memory/review.md: generated conflicts and low-confidence candidates..dongwo/memory/current-context.md: generated context injected into agents..dongwo/memory/state.md: generated diagnostics.
Legacy vaults that already contain 03_Projects/15_懂我/memory/ continue to use
that location automatically.
Set up
Install the skill with ClawHub, then run the setup helper from the installed skill directory:
python3 scripts/setup.py --root /path/to/project
The helper:
- copies the engine to
.dongwo/scripts/dongwo.py; - creates the local memory layout and a starter
myprofile.mdif absent; - prints hook snippets for Codex and Claude Code;
- does not overwrite existing agent configuration files.
Review the printed snippets, merge them into the project's hook configuration, and approve the hooks in each client when prompted.
For a legacy Obsidian layout, keep the existing engine path and set:
export DONGWO_ROOT=/path/to/vault
export DONGWO_HOME=/path/to/vault/03_Projects/15_懂我
Daily behavior
Hooks should call:
python3 .dongwo/scripts/dongwo.py hook --agent codex
python3 .dongwo/scripts/dongwo.py hook --agent claude
On UserPromptSubmit, the engine:
- reads hook JSON from stdin;
- redacts common credentials and sensitive prompts;
- writes one idempotent event into the agent-specific inbox;
- rebuilds generated memory files;
- returns
<dongwo-memory>as additional context.
On SessionStart, it rebuilds and loads context without capturing a prompt.
Hooks fail open: a memory failure must not block the user's normal agent task.
Manual commands
# Validate layout and rebuild generated files
python3 .dongwo/scripts/dongwo.py doctor
# Print current injectable context
python3 .dongwo/scripts/dongwo.py load
# Rebuild all generated memory from inbox evidence
python3 .dongwo/scripts/dongwo.py consolidate
# Test capture without a lifecycle hook
python3 .dongwo/scripts/dongwo.py capture \
--agent codex \
--session-id manual \
"以后默认使用中文回答。"
Set DONGWO_ROOT when commands are launched outside the project directory.
Set DONGWO_HOME to override the data directory and DONGWO_PROFILE to override
the confirmed-profile path.
Applying memory
When <dongwo-memory> is present:
- Use confirmed profile items and active preferences where relevant.
- Keep pending or conflicted entries out of the answer.
- Do not quote stable observations as explicit user statements.
- Follow the current prompt if it conflicts with memory.
- Never ask the user to perform routine capture, consolidation, refresh, or synchronization work; lifecycle hooks own that maintenance.
Maintaining the system
When auditing or improving Dongwo:
- Read
references/memory-policy.md. - Inspect relevant redacted inbox evidence.
- Change extraction rules or semantic keys in the engine instead of editing generated output.
- Run:
python3 .dongwo/scripts/dongwo.py consolidate
python3 .dongwo/scripts/dongwo.py doctor
Completion means all generated files can be rebuilt from confirmed profile data and inbox evidence while the current prompt still has highest priority.
Top skills in this category
Skill Vetter
@spclaudehomeSecurity-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
Clawdhub
@steipeteUse the ClawdHub CLI to search, install, update, and publish agent skills from clawdhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawdhub CLI.
Evolver
@autogame-17A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution. Communicates with EvoMap...
Evolver
@autogame-17A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution. Communicates with EvoMap...
OpenClaw Command Center
@jontsaiMission control dashboard for OpenClaw - real-time session monitoring, LLM usage tracking, cost intelligence, and system vitals. View all your AI agents in one place.