元忆 yotta-memory
智能体记忆库(元忆)—— AI记忆系统:面向 AI 智能体的长期记忆、永久记忆与记忆引擎,跨会话上下文随时恢复,开工回忆、重要信息落盘、收工归档;语义检索 + 权限边界,零依赖,可 diff/回滚。
Rank
62
Safety
84
Downloads
1.9k
Updated
Oct 9, 2026
Version
0.22.7
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.9K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 1.9K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.22.7release · observed Oct 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17c9k7630m9g0z4bq1hjz21958d7bas:yotta-memory- Install using `clawhub skill install s17c9k7630m9g0z4bq1hjz21958d7bas:yotta-memory` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/yottameta/yotta-memory before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-yottameta-yotta-memory/snapshot"
Documentation
CLAWHUB
160,000 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: yotta-memory
slug: yotta-memory
version: 0.22.7
displayName: 智能体记忆库·元忆
summary: 智能体记忆库(元忆):AI记忆系统——智能体的长期记忆与永久记忆,跨会话上下文随时恢复;开工回忆、重要信息落盘、收工归档;语义检索 + 权限边界,零依赖。
description: '智能体记忆库(元忆)—— AI记忆系统:面向 AI 智能体的长期记忆、永久记忆与记忆引擎,跨会话上下文随时恢复,开工回忆、重要信息落盘、收工归档;语义检索 + 权限边界,零依赖,可 diff/回滚。'
tags: [智能体记忆, 记忆系统, AI记忆, AI记忆系统, 长期记忆, 永久记忆, 记忆引擎, 跨会话, 上下文管理, memory, context, recall, 语义检索]
category: ai-agent
license: MIT
homepage: https://github.com/YottaMeta/yotta-memory
---
# yotta-memory(元忆)— 有权限边界的文件式智能体记忆
> 一句话:元忆 —— 有权限边界的文件式智能体记忆(不注入、可 diff、能回滚;FACT 共享、PREF / BOUND / COMMIT 私密隔离)。
## 这是什么
- **文件式记忆标准**:记忆 = Markdown + YAML frontmatter 文件,git 可版本化,任何智能体可读,数据主权在用户本地。
- **零依赖**:无 daemon / 无数据库 / 无向量库,Node.js 自带即可运行。
- **类型体系**:FACT(事实,公共共享)/ PREF(偏好,私密)/ BOUND(边界,私密)/ COMMIT(承诺,私密)。
- **双级存储**:用户级 `~/.yottamemory/`(跨项目)+ 项目级 `.yottamemory/`(随项目共享)。
- **越用越懂(v0.14.0)**:`context` 一键生成开工上下文包——长期理解摘要优先(复用 `consolidate` 产物)+ 用户画像(引擎零推断,只归组原文)+ 近期走廊(按更新时间取样)+ 近期高价值补位 + 边界 + 承诺 + 会话闭环契约;SKILL「记忆守则」规则层只注入规则与机制,不注入人格数据(出厂零数据)。
- **MCP 工具分组(v0.15.0)**:`serve --tools core|full` 控制工具暴露面。`core` 固定为 `context / recall / search / remember`,适合常驻;`full` 为现有 16 工具,适合维护与诊断。未指定时默认 `full`,保持现有配置兼容。
- **身份模型(v0.16.0)**:身份不再从环境变量读取。HTTP / 远程 MCP 只认请求头 `Authorization` + `X-Agent-Id` + `X-Agent-Key`;stdio MCP 只认显式参数 `--agent-id` + `--agent-key-file`;CLI 用 `--agent` + `--agent-key` / `--agent-key-file`。旧身份 env 会在 MCP 启动时被明确拒绝。
- **未授权提示边界(v0.16.4)**:`--agent-key-file` 不存在时不再由主入口向全局 `stderr` 告警。公共 / 维护命令保持安静;只有真正访问私密区时才 fail-closed,并给出缺失文件、`view` / `key bind`、`key status` / `key claim` 的可操作步骤。`whoami --json`、`doctor --json`、`config get --json` 返回 `identity.mode` / `identity.agentKeyStatus`。
- **doctor JSON 稳定契约(v0.16.5)**:`doctor --json` 顶层新增 `schemaVersion`(当前 `1`)、`encryption`(布尔)、`migration_required`(`[{agent, reason}]`)。原有 `checks` / `warnings` / `identity` / `text` 字段保持兼容。
- **恢复 / 迁移基线探针(v0.17.0)**:`doctor --baseline [--against <库路径>] [--template <文件>]` 与 `backup drill <id> --probe [--against <库路径>]` 在目标库 / 恢复副本上跑六类只读探针(身份 / 近期 / 仅源库独有 / CJK / 操作规则 / owner 范围);条目身份键与布局无关,旧平铺 → 新年/月分层的迁移不会误报「缺失」;缺失项列出清单并非零退出(`doctor` exit 2 / `drill` 判失败);探针内容由确定性抽样或用户模板生成,**不硬编码任何记忆**,`--template` 只加严判定。
- **记忆库安全扫描(v0.17.0)**:`scan` 扫记忆库里的恶意指令 / Prompt 注入 / 凭证泄漏 / 数据外泄 / 护栏绕过 / 行为操纵 / 权限提升七类,五级分级 + `file:line` 证据;默认**只报告**,`--gate` 可接 CI;只有 `--quarantine --yes`(或交互确认)才改写——先把原文件逐字节备份到 `.memory-scan/quarantine/<批次>/` 再替换命中行,`scan --restore` 还原;凭证片段一律打码;规则出处指向元信 / 元钥 / 元安 / 元盾规则表(分工 = 元钥扫源码仓库、元信扫技能包、元忆扫记忆库)。**边界**:`scan` 是库主人的维护命令,会读整库文件(含其它 owner 的私密目录)——智能体不要用它去查看其它智能体的私密内容,跨 owner 扫描前先取得用户授权;加密条目在无授权密钥时不会被解密扫描。
- **彻底删除 AI 身份(v0.17.0)**:`identity remove <id>` 一次性清掉身份登记、owner 密钥、授权绑定 / 待领取 key / 明文缓存、`private/<id>/` 全部私密记忆(含 owner 索引、profile、distill)、token、grants 引用并重建索引 + 写审计;**公共明文 FACT 保留**,其它 owner 零影响。语义是**真删**(`--dry-run` 先列清单、`--keep-memories` / `--keep-identity` 可部分保留)。**权限边界**:只能由用户本人执行——加密库要主口令(或 `--recovery-key`)、明文库要显式 `--agent user`、`view` 里解锁后的会话等同用户README.md
<p align="center"><b>Language</b>: English · <a href="./README.zh-CN.md">中文</a></p> <p align="center"> <img src="assets/banner.png" alt="yotta-memory banner" width="100%" /> </p> <h1 align="center">元忆 (Yuanyi / yotta-memory)</h1> <p align="center">Boundary-aware, file-based memory for AI agents: let any agent live across sessions instead of a single conversation.</p> <p align="center">Start work with <code>recall</code> to restore context, <code>remember</code> important facts as you go, and archive at wrap-up; memories are Markdown files in the user's own directory — <b>readable, editable, auditable, rollback-able</b>, zero-dependency and ready to use.</p> <p align="center">FACT is shared, PREF / BOUND / COMMIT are privately isolated — <b>who may read what is decided by mechanism, not by AI self-discipline</b>; one memory store can be shared across agents, travels with the disk, and can be shared over LAN.</p> <p align="center">"Grows smarter the more you use it" (v0.14.0): <code>context</code> builds a one-shot start-of-work package with long-term summaries first (reusing <code>consolidate</code>) + a zero-inference <code>profile</code> + a time-ordered recent corridor + high-value backfill + boundaries + commitments + a session loop contract, turning memory from "storage" into "a memory system that grows".</p> <p align="center"><b>Mechanism-level encryption for the private zone</b>: AES-256-GCM envelope encryption + passphrase-derived master key + recovery key; <code>yotta-memory view</code> is a user-facing review platform (unlock with passphrase to see all AI memory); <code>migrate</code> converts plaintext → encrypted; <code>--no-encrypt</code> can downgrade. Cross-agent privacy upgrades from "discipline-level isolation" to "mechanism-level unreadable".</p> <p align="center"> <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue" /></a> <a href="https://agentskills.io/"><img alt="Standard: agentskills.io" src="https://img.shields.io/badge/standard-agentskills.io-orange" /></a> <a href="https://www.npmjs.com/package/@yottameta/yotta-memory"><img alt="npm package" src="https://img.shields.io/npm/v/@yottameta/yotta-memory" /></a> <a href="https://github.com/YottaMeta/yotta-memory"><img alt="GitHub stars" src="https://img.shields.io/github/stars/YottaMeta/yotta-memory" /></a> <a href="https://github.com/YottaMeta/yotta-memory/commits/main"><img alt="last commit" src="https://img.shields.io/github/last-commit/YottaMeta/yotta-memory" /></a> <a href="https://github.com/YottaMeta/yotta-memory"><img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen" /></a> </p> > 📖 The user-facing operations manual lives in [USER_GUIDE.md](USER_GUIDE.md). > 🆕 **v0.18.1 (distillation provenance + absolute dates + consolidation markers + rule-promotion suggestions + write discipline)**: `distill` now emits typed extraction lists (event / lesson / todo / growth / boundary-rule / other
_meta.json
{
"ownerId": "kn72sqpz1re8bd5phwfbj87nq584bdkv",
"slug": "yotta-memory",
"version": "0.22.7",
"publishedAt": 1791557285519
}references/faq.md
# 元忆 FAQ / 避坑指南 > 常见问题速查:记忆找不到、权限/加密困惑、连不上时先看这里。 ## 1. 记忆类型选错了怎么办? 类型只在写入时提示、不阻止(FACT=公共 / PREF、BOUND、COMMIT=私密)。写错不影响已写入内容;想改类型可 `forget` 后按正确类型重写。不需要提示可用 `--no-hint`。 ## 2. 私密区加密怎么用? `init` 默认初始化加密库(需主口令 + 恢复钥匙,请妥善保存);明文库可用 `migrate` 升级为加密。私密区文件为 `.md.enc`,可 git 版本化。查看/授权用 `yotta-memory view`(口令解锁,浏览/授权/吊销 AI);授权时一次性展示的 `agent_key` 请立即保存,服务端同时写 `keys/pending/<id>.key` 供该 AI 新会话用 `key claim` 领取。出现 `[YTM_MIGRATION_REQUIRED]` 说明还有 agent 未绑定,请由你在 `view` 平台逐个点「授权」完成重新授权(AI 只提醒、不代执行)。 **明文库第一次转加密**: ```powershell yotta-memory migrate --recovery-key-out "$env:USERPROFILE\yotta-memory-recovery.key" ``` 按提示输入主口令;非 ASCII 口令请交互输入,非 TTY 自动化可使用 `YOTTA_MEMORY_PASS`。不要使用 `echo 中文 | ...`,Windows 管道可能改变实际口令;若迁移后 `view` 报口令错误,用恢复钥匙 `reset-password` 重设。迁移后授权二选一(等价):推荐 `yotta-memory view` 页面授权;高级用户可 `yotta-memory key bind <id>`。授权并 `key claim` 后,带 `--agent-key-file` 执行 `yotta-memory reindex` 重建每 owner 加密索引,再做 `recall` 验证。 ## 2.1 非 TTY / GUI 宿主怎么初始化? 不要依赖交互提示。用 `--password-stdin` 从管道读主口令(不进 argv),或用 `YOTTA_MEMORY_PASS`;恢复钥匙用 `--recovery-key-out <文件>` 写文件,避免 GUI 宿主吞掉 stdout。非 TTY 且未提供口令时会明确提示改用哪种方式,不会静默「已取消」。 ## 2.2 空加密库 `view` 打不开? v0.16.2 起,空加密库(没有 owner key)可用恢复钥匙校验主口令进入 `view`。如果页面显示「无 owner」,先在终端执行 `yotta-memory iam <id>` 登记身份,再回页面授权;也可以由用户在终端执行 `yotta-memory key bind <id>`。 ## 2.3 `--agent-key-file` 指向的文件不存在? 文件不存在时不再致命:元忆进入未授权模式,公共 FACT 仍可读;`migrate` / `doctor` / `config` 等公共或维护命令不会再向 `stderr` 打印降级警告。只有私密读写 fail-closed,并提示缺失文件、`view` / `key bind <id>`、`key status` / `key claim`。需要程序化判断时,使用 `whoami --json`、`doctor --json` 或 `config get --json` 的 `identity.mode` / `identity.agentKeyStatus`。文件存在但为空或不可读仍会报错。推荐用 `YOTTA_MEMORY_AGENT_HOME` 指定宿主目录,授权后 key 原地生效。 ## 2.4 迁移后必须 `key bind` 吗? 不必。`yotta-memory view` 页面授权和 `yotta-memory key bind <id>` 是两条等价路径:两条都会写 `binding + pending`,随后 AI 都执行 `yotta-memory key status <id>` → `yotta-memory key claim <id>`,再落到 `<AI_HOME>/.yotta-memory-agent-key`。普通用户推荐 `view`,高级用户或无可视化环境再用 `key bind`。 ## 2.5 迁移后 `recall` 读不到私密怎么办? 先确认已经完成授权和 `key claim`,再带 agent key 重建加密索引: ```cmd yotta-memory reindex --agent <id> --agent-key-file "<AI_HOME>/.yotta-memory-agent-key" yotta-memory recall <关键词> --agent <id> --agent-key-file "<AI_HOME>/.yotta-memory-agent-key" ``` `migrate` 在没有 agent_key 时无法建立每 owner 加密索引,所以 `reindex` 必须在授权 / claim 之后执行。MCP 场景还要确认宿主配置带 `--agent-key-file`,只有 `--agent-id` 会报缺少 agent_key。 ## 3. 多智能体权限怎么隔离? 公共 FACT 所有智能体可读;PREF / BOUND / COMMIT 按 owner 物理隔离,调用方必须持有匹配的 `agent_key`(用户执行 `key bind <id>`,或在 `view` 平台授权获得)。owner ID 单独存在不构成认证,不授权 / 无 key 读不到。私密操作缺 key 时会输出 `[YTM_MIGRATION_REQUIRED]`;授权完成后该标记消失。AI 新会话用 `key status <id>` 检查,pending 存在则 `key claim <id>` 落到 `<AI_HOME>/.yotta-memory-agent-key`;`AI_HOME` 默认规则由 claim / status 共用(显式 `--to` / `--agent-key-file` > `YOTTA_MEMORY_AGENT_HOME` / `YOTTA_MEMORY_AGENT_KEY_FILE` > Codex / OpenCode / 通用宿主默认),status 会显示 `checked` 与 `discovery`。吊销后旧 key 立即校验失败,需重新授权。 ## 4. 记忆找不到了? 先 `config get` 确认 `memory_home` 指向的库;再 `reindex` 重建索引
references/pinyin-common.json
{"啊":["a","e"],"阿":["a","e"],"埃":["ai","zhi"],"挨":["ai"],"哎":["ai"],"唉":["ai"],"哀":["ai"],"皑":["ai"],"癌":["ai","yan"],"蔼":["ai"],"矮":["ai"],"艾":["ai","yi"],"碍":["ai"],"爱":["ai"],"隘":["ai","e"],"鞍":["an"],"氨":["an"],"安":["an"],"俺":["an","yan"],"按":["an"],"暗":["an"],"岸":["an"],"胺":["an","e"],"案":["an"],"肮":["ang","hang","gang"],"昂":["ang","yang"],"盎":["ang"],"凹":["ao","wa"],"敖":["ao"],"熬":["ao"],"翱":["ao"],"袄":["ao"],"傲":["ao"],"奥":["ao","yu","you"],"懊":["ao","yu"],"澳":["ao","yu"],"芭":["ba","pa"],"捌":["ba","bie"],"扒":["ba","pa","bai","bie"],"叭":["ba","pa"],"吧":["ba","pa"],"笆":["ba"],"八":["ba"],"疤":["ba"],"巴":["ba"],"拔":["ba","bo","bie","fa","bei"],"跋":["ba","bei"],"靶":["ba"],"把":["ba","pa"],"耙":["ba","pa"],"坝":["ba"],"霸":["ba","po"],"罢":["ba"],"爸":["ba"],"白":["bai","bo"],"柏":["bai","bo"],"百":["bai","bo","mo"],"摆":["bai"],"佰":["bai","mo"],"败":["bai"],"拜":["bai"],"稗":["bai"],"斑":["ban"],"班":["ban"],"搬":["ban","su"],"扳":["ban","pan"],"般":["ban","pan","bo"],"颁":["ban"],"板":["ban"],"版":["ban"],"扮":["ban","fen","huo"],"拌":["ban","pan"],"伴":["ban","pan"],"瓣":["ban"],"半":["ban","pan"],"办":["ban"],"绊":["ban"],"邦":["bang"],"帮":["bang"],"梆":["bang"],"榜":["bang","beng","pang","peng"],"膀":["bang","pang"],"绑":["bang"],"棒":["bang"],"磅":["bang","pang"],"蚌":["bang","beng","pi","feng"],"镑":["bang"],"傍":["bang","pang","beng","peng"],"谤":["bang"],"苞":["bao","pao","biao"],"胞":["bao","pao"],"包":["bao","pao","fu"],"褒":["bao"],"剥":["bo","bao","pu"],"薄":["bao","bo","bu"],"雹":["bao"],"保":["bao"],"堡":["bao","bu","pu"],"饱":["bao"],"宝":["bao"],"抱":["bao","pao","pou"],"报":["bao"],"暴":["bao","pu","bo"],"豹":["bao"],"鲍":["bao"],"爆":["bao","bo"],"杯":["bei"],"碑":["bei"],"悲":["bei"],"卑":["bei","bi","pi","ban"],"北":["bei"],"辈":["bei"],"背":["bei"],"贝":["bei"],"钡":["bei"],"倍":["bei","pei"],"狈":["bei"],"备":["bei"],"惫":["bei"],"焙":["bei"],"被":["bei","bi","pi"],"奔":["ben","fen"],"苯":["ben"],"本":["ben"],"笨":["ben"],"崩":["beng"],"绷":["beng"],"甭":["beng","qi"],"泵":["beng","pin","liu"],"蹦":["beng"],"迸":["beng"],"逼":["bi"],"鼻":["bi"],"比":["bi","pi"],"鄙":["bi"],"笔":["bi"],"彼":["bi"],"碧":["bi"],"蓖":["bi"],"蔽":["bi","bie","pie"],"毕":["bi"],"毙":["bi"],"毖":["bi"],"币":["bi","yin"],"庇":["bi","pi"],"痹":["bi"],"闭":["bi"],"敝":["bi"],"弊":["bi"],"必":["bi"],"辟":["pi","bi","mi"],"壁":["bi"],"臂":["bi","bei"],"避":["bi"],"陛":["bi"],"鞭":["bian"],"边":["bian"],"编":["bian"],"贬":["bian"],"扁":["bian","pian"],"便":["bian","pian"],"变":["bian"],"卞":["bian","pan"],"辨":["bian","ban","pian"],"辩":["bian"],"辫":["bian"],"遍":["bian"],"标":["biao"],"彪":["biao"],"膘":["biao","piao"],"表":["biao"],"鳖":["bie"],"憋":["bie"],"别":["bie"],"瘪":["bie"],"彬":["bin","ban"],"斌":["bin"],"濒":["bin"],"滨":["bin"],"宾":["bin"],"摈":["bin"],"兵":["bing"],"冰":["bing","ning"],"柄":["bing"],"丙":["bing"],"秉":["bing"],"饼":["bing"],"炳":["bing"],"病":["bing"],"并":["bing"],"玻":["bo"],"菠":["bo"],"播":["bo"],"拨":["bo"],"钵":["bo"],"波":["bo","bei","bi"],"博":["bo"],"勃":["bo"],"搏":["bo"],"铂":["bo"],"箔":["bo"],"伯":["bo","bai","mo","ba"],"帛":["bo"],"舶":["bo"],"脖":["bo"],"膊"AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/yottameta/skills/yotta-memory",
"sourceUrl": "https://clawhub.ai/yottameta/skills/yotta-memory",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T22:52:41.031Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-yottameta-yotta-memory/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-yottameta-yotta-memory/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T22:52:41.031Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.9K downloads",
"href": "https://clawhub.ai/yottameta/yotta-memory",
"sourceUrl": "https://clawhub.ai/yottameta/yotta-memory",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T22:52:41.031Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.22.7",
"href": "https://clawhub.ai/yottameta/yotta-memory",
"sourceUrl": "https://clawhub.ai/yottameta/yotta-memory",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T14:48:05.519Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-yottameta-yotta-memory/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-yottameta-yotta-memory/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.22.7",
"description": "yotta-memory v0.22.7 - Updated documentation in SKILL.md and other metadata files. - Removed obsolete skill-card.md file. - No user-facing feature or behavior changes.",
"href": "https://clawhub.ai/yottameta/yotta-memory",
"sourceUrl": "https://clawhub.ai/yottameta/yotta-memory",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T14:48:05.519Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
