运行时依赖
安装命令
点击复制技能文档
使用 Git 作为记忆层 使用 git-as-memory 作为代理的持久、可审计的记忆层。它将记忆存储在一个专用的 Git 引用中,而不是在工作树中。默认引用:refs/git-as-memory/memory/v1 支持的代理:OpenClaw、Hermes、Claude Code、Codex 或任何可以运行 shell 命令的代理。
设置 如果已安装,首选使用 gam:command -v gam 如果缺失,安装以下之一:npm install -g git-as-memory pip install git-as-memory 无全局安装:npx git-as-memory --help python -m git_as_memory.cli --help 所有命令都需要一个 Git 仓库。如果省略 --repo,则使用当前工作仓库。 初始化每个仓库一次;它是幂等的:gam init --repo /path/to/repo
记忆策略 仅为稳定、可重用的信息写入记忆。 写入时: 用户明确要求记住某些东西。 出现稳定的用户偏好。 发现项目约定、工作流程或决策。 学习了反复出现的 bug、变通方法、工具行为或操作经验。 会话产生了紧凑的结论,未来代理应该重用。 不写入: 秘密、API 密钥、密码、令牌、Cookie、凭据、专用身份验证材料。 大型原始转录或嘈杂的日志。 一次性任务详细信息,没有未来的价值。 未经验证的猜测,除非 --type hypothesis。 属于源文件、文档、问题或测试而不是记忆的内容。 写入前: 先搜索相关记忆:gam search "<关键词>" --repo /path/to/repo 如果存在相关记忆,更新相同的稳定 ID。 如果不存在,创建一个简洁的新记忆。 始终包含 --source 解释记忆的来源。 写入后,报告记忆密钥:<类型>/
类型 使用小型、一致的类型集: 实体:用户、项目、组织、工具或其他实体偏好/配置文件。 语义:持久的事实、规则、约定、决策或技术经验。 情景:任务/会话/事件的紧凑摘要。 工作:短暂的任务上下文,可能稍后被删除。 假设:未经验证的推断,应在采取强烈行动之前确认。
ID 规则 使用稳定的 kebab-case ID。 更喜欢未来代理可以猜测的名称。 良好:user-preference-concise-answers project-release-workflow openclaw-memory-policy git-as-memory-storage-layout 避免随机 ID,除非没有稳定的概念。
核心命令 写入:gam write "用户更喜欢简洁的技术答案,带有具体的命令。" --repo /path/to/repo --type 实体 --id user-preference-concise-answers --tag 用户 --tag 偏好 --source "用户纠正了代理过度解释并要求实际输出。" 多行:printf '%s\n' "决策摘要..." | gam write --stdin --repo /path/to/repo --type 语义 --id project-decision-example --source "从当前实现会话中总结。"
读取 使用 read 时您知道密钥:gam read entity/user-preference-concise-answers --repo /path/to/repo show 等同于使用 ID 加可选类型:gam show user-preference-concise-answers --type entity --repo /path/to/repo
搜索 使用 search 进行内容查找:gam search "发布工作流程" --repo /path/to/repo gam search "简洁答案" --repo /path/to/repo --json 搜索是记忆内容、标签、元数据和源文本的本地子字符串匹配。
全局 使用 glob 进行记忆密钥查找,而不是任意工作树文件。 它匹配 <类型>/ 和裸 ID:gam glob "entity/" --repo /path/to/repo gam glob "user-" --repo /path/to/repo gam glob "release" --repo /path/to/repo 仅用于调试底层 Git 树:gam glob "entity/*" --files --repo /path/to/repo
列表 gam list --repo /path/to/repo gam list --repo /path/to/repo --json
历史和审计 gam history user-preference-concise-answers --type entity --repo /path/to/repo 直接 Git 检查: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
删除 更喜欢软删除:gam delete user-preference-concise-answers --type entity --repo /path/to/repo 仅当用户明确要求删除当前可见文件时使用 purge:gam purge user-preference-concise-answers --type entity --repo /path/to/repo
代理工作流程 在仓库中启动任务时: 如果记忆可能很重要,运行有针对性的搜索:gam search "<项目/工具/用户关键词>" --repo /path/to/repo 仅读取相关匹配项。 不要批量加载所有记忆,除非用户要求进行审计。 当出现持久的经验时: 决定是否符合写入策略。 搜索重复项。 写入或更新一个稳定的记忆 ID。 报告密钥和一行摘要。 当用户询问 "你记住了什么?": 使用 gam list、gam glob 或 gam search。 使用 gam read 相关密钥。 仅在必要时包含 gam history。
输出纪律 在写入记忆后,简要响应: 记住:entity/user-preference-concise-answers 如果您决定不写入记忆,请说明原因。