Use when preserving, searching, reviewing, or exporting user-owned agent memory across OpenClaw, Codex, Claude, OpenCode, Hermes, Qoder, Obsidian, and Git. Inputs are local memory/chat stores and handoff summaries; outputs are Obsidian sources, memory indexes, context/profile packs, skill inventorie
记忆
Git as Memory
试用Git-backed memory policy and CLI workflow for OpenClaw, Hermes, Claude Code, Codex, and other agents. Use when an agent should remember durable user preferen...
它能做什么
Git-backed memory policy and CLI workflow for OpenClaw, Hermes, Claude Code, Codex, and other agents. Use when an agent should remember durable user preferen...
技能文档
Git as Memory
Use git-as-memory as a durable, auditable memory layer for agents. It stores memory in a dedicated Git ref, not in the working tree.
Default ref:
refs/git-as-memory/memory/v1
Supported agents: OpenClaw, Hermes, Claude Code, Codex, or any agent that can run shell commands.
Setup
Prefer gam if installed:
command -v gam
If missing, install one of:
npm install -g git-as-memory
pip install git-as-memory
No global install:
npx git-as-memory --help
python -m git_as_memory.cli --help
All commands require a Git repo. If --repo is omitted, use the current working repo.
Initialize once per repo; it is idempotent:
gam init --repo /path/to/repo
Memory Policy
Write memory only for stable, reusable information.
Write when:
- The user explicitly says to remember something.
- A stable user preference appears.
- A project convention, workflow, or decision is discovered.
- A recurring bug, workaround, tool behavior, or operational lesson is learned.
- A session produces a compact conclusion that future agents should reuse.
Do not write:
- Secrets, API keys, passwords, tokens, cookies, credentials, private auth material.
- Large raw transcripts or noisy logs.
- One-off task details with no future value.
- Unverified guesses unless
--type hypothesis. - Content that belongs in source files, docs, issues, or tests instead of memory.
Before writing:
- Search for related memory first:
gam search "" --repo /path/to/repo - If a related memory exists, update the same stable id.
- If not, create a concise new memory.
- Always include
--sourceexplaining where the memory came from.
After writing, report the memory key:
/
Types
Use a small, consistent type set:
entity: user, project, organization, tool, or other entity preference/profile.semantic: durable fact, rule, convention, decision, or technical lesson.episodic: compact summary of a task/session/event.working: short-lived task context that may be deleted later.hypothesis: unverified inference that should be confirmed before acting on strongly.
Id Rules
Use stable kebab-case ids. Prefer names that future agents can guess.
Good:
user-preference-concise-answers
project-release-workflow
openclaw-memory-policy
git-as-memory-storage-layout
Avoid random ids unless there is no stable concept.
Core Commands
Write
gam write "User prefers concise technical answers with concrete commands." \
--repo /path/to/repo \
--type entity \
--id user-preference-concise-answers \
--tag user \
--tag preference \
--source "User corrected the agent for over-explaining and asked for practical output."
Multi-line:
printf '%s\n' "Decision summary..." | gam write --stdin \
--repo /path/to/repo \
--type semantic \
--id project-decision-example \
--source "Summarized from the current implementation session."
Read
Use read when you know the key:
gam read entity/user-preference-concise-answers --repo /path/to/repo
show is equivalent when using id plus optional type:
gam show user-preference-concise-answers --type entity --repo /path/to/repo
Search
Use search for content lookup:
gam search "release workflow" --repo /path/to/repo
gam search "concise answers" --repo /path/to/repo --json
Search is local substring matching over memory content, tags, metadata, and source text.
Glob
Use glob for memory key lookup, not arbitrary working-tree files. It matches / and bare ids:
gam glob "entity/*" --repo /path/to/repo
gam glob "user-*" --repo /path/to/repo
gam glob "*release*" --repo /path/to/repo
Use --files only for debugging the underlying Git tree:
gam glob "entity/*" --files --repo /path/to/repo
List
gam list --repo /path/to/repo
gam list --repo /path/to/repo --json
History and Audit
gam history user-preference-concise-answers --type entity --repo /path/to/repo
Direct Git inspection:
git -C /path/to/repo log --oneline refs/git-as-memory/memory/v1
git -C /path/to/repo ls-tree -r --name-only refs/git-as-memory/memory/v1
Delete
Prefer soft delete:
gam delete user-preference-concise-answers --type entity --repo /path/to/repo
Use purge only when the user explicitly asks to remove the current visible files:
gam purge user-preference-concise-answers --type entity --repo /path/to/repo
Agent Workflow
When starting a task in a repo:
- If memory may matter, run targeted search:
gam search "" --repo /path/to/repo - Read only relevant matches.
- Do not bulk-load all memory unless the user asks for an audit.
When a durable lesson appears:
- Decide if it meets the write policy.
- Search for duplicates.
- Write or update one stable memory id.
- Report the key and a one-line summary.
When the user asks "what do you remember?":
- Use
gam list,gam glob, orgam search. - Use
gam readfor relevant keys. - Include
gam historyonly if provenance or evolution matters.
Output Discipline
After a memory write, respond briefly:
Remembered: entity/user-preference-concise-answers
If you decide not to write memory, say why only when useful:
Not writing memory: this is a one-off task detail.
相关技能
Audit and maintain OpenClaw-style long-term memory. Use for MEMORY.md cleanup, daily-note digestion, duplicate detection, stale-memory review, and promoting...
Scaffold, sanitize, or share an OpenClaw multi-agent memory system with a reusable workspace, memory-lancedb-pro configuration, role prompts, task-board conv...
Inspect, back up, search, export, and update OpenClaw long-term memory stored with MemoryOS. Use when Codex needs to manage MemoryOS memory files for an Open...
Use when you want to set up, maintain, or review a Claude Code style layered memory workflow, including `CLAUDE.md` rules, session memory, durable memory, an...
Give AI agents Remember GitHub issues and PRs. using BlueColumn persistent memory. Use when an agent tracks repos, issues, and pull requests; when the user wants to store, recall, or search github memory context. Requires a BlueColumn API key (bc_live_*).