OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  unibase-membase:基于去中心化 Membase 架构的智能体记忆管理

unibase-membase:基于去中心化 Membase 架构的智能体记忆管理

 
  middleware ·  2026-02-27 00:55:50 · 2 次点击  · 0 条评论  

名称: membase
描述: 使用 Membase 管理智能体记忆——这是一个去中心化、加密的记忆备份与恢复系统。提供智能体记忆的备份、恢复、列表、差异对比、状态查看和清理操作。
许可证: MIT
元数据:
author: Unibase
version: "1.0.0"
category: memory-management
tags: [backup, encryption, membase, storage, decentralized, memory]
allowed-tools:
- bash


Membase 记忆管理

Membase 为 AI 智能体提供端到端加密的安全、去中心化记忆存储。

使用场景

当用户出现以下情况时,请激活此技能:
- 要求备份其记忆、对话或工作空间
- 希望恢复之前的记忆或对话
- 希望查看可用的备份
- 要求比较不同备份版本
- 希望检查备份状态
- 提及 "membase" 或 "备份记忆"

概述

所有 Membase 操作都通过一个单一命令执行:

node membase.ts <命令> [选项]

可用命令:
- backup - 将记忆备份到 Membase
- restore - 从备份恢复记忆
- list - 列出所有可用备份
- diff - 比较两个备份
- status - 显示备份状态和统计信息
- cleanup - 清理旧备份

配置

环境变量

export MEMBASE_ACCOUNT=你的账户地址
export MEMBASE_SECRET_KEY=你的密钥
export MEMBASE_BACKUP_PASSWORD=你的备份密码
export MEMBASE_ENDPOINT=https://testnet.hub.membase.io

检查配置:

echo $MEMBASE_ACCOUNT
echo $MEMBASE_SECRET_KEY
echo $MEMBASE_BACKUP_PASSWORD

命令详解

1. backup - 备份记忆

使用 AES-256-GCM 加密将智能体记忆文件(MEMORY.md, memory/*/.md)备份到 Membase。

用法:

node membase.ts backup [选项]

选项:
- --password <密码>-p <密码> - 加密密码(若未在环境变量中设置,则必需)
- --incremental-i - 仅备份自上次备份以来更改的文件
- --workspace <路径> - 自定义工作空间目录
- --no-validate - 跳过密码强度验证
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"请备份我的记忆"

你应该:
1. 检查 MEMBASE_BACKUP_PASSWORD
bash echo $MEMBASE_BACKUP_PASSWORD

  1. 如果未设置,询问:"请提供一个用于加密的备份密码(至少12个字符,包含大小写字母和数字):"

  2. 运行备份:
    bash cd skills/membase node membase.ts backup --password "<密码>"

  3. 向用户展示结果:
    ```
    [成功] 备份完成
    备份 ID: backup-2026-02-02T10-30-45-123Z
    文件数: 15
    大小: 234 KB

[警告] 请妥善保存你的备份 ID 和密码!
```

增量备份(更快):

node membase.ts backup --password "<密码>" --incremental

2. restore - 恢复记忆

从 Membase 备份恢复记忆。

用法:

node membase.ts restore <备份ID> [选项]

选项:
- <备份ID> - 要恢复的备份 ID(必需)
- --password <密码>-p <密码> - 解密密码(若未在环境变量中设置,则必需)
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"从 backup-2026-02-02T10-30-45-123Z 恢复我的记忆"

你应该:
1. 检查密码:
bash echo $MEMBASE_BACKUP_PASSWORD

  1. 运行恢复:
    bash cd skills/membase node membase.ts restore backup-2026-02-02T10-30-45-123Z --password "<密码>"

  2. 展示结果:
    [成功] 恢复完成 恢复文件数: 15 总大小: 234 KB 位置: ~/.openclaw/workspace/

3. list - 列出备份

列出此智能体所有可用的备份。

用法:

node membase.ts list [选项]

选项:
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"显示我的备份" 或 "列出我的备份"

你应该:

cd skills/membase
node membase.ts list

输出将显示:

可用备份:

ID                            时间戳                 文件数  大小
──────────────────────────────────────────────────────────────────
backup-2026-02-02T10-30-45-123Z 2026-02-02 10:30:45    15     234 KB
backup-2026-02-01T15-20-10-456Z 2026-02-01 15:20:10    12     198 KB

4. diff - 比较备份

比较两个备份以查看更改内容。

用法:

node membase.ts diff <备份ID-1> <备份ID-2> [选项]

选项:
- <备份ID-1> - 第一个备份 ID(必需)
- <备份ID-2> - 第二个备份 ID(必需)
- --password <密码>-p <密码> - 解密密码(若未在环境变量中设置,则必需)
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"我最近两次备份之间有什么变化?"

你应该:
1. 获取两个最近的备份 ID:
bash cd skills/membase node membase.ts list

  1. 使用这两个 ID 运行差异比较:
    bash node membase.ts diff backup-2026-02-02T10-30-45-123Z backup-2026-02-01T15-20-10-456Z --password "<密码>"

  2. 展示结果:
    ```
    新增文件 (2):

    • memory/conversation-new.md
    • memory/notes.md

修改文件 (1):
~ MEMORY.md
```

5. status - 显示状态

显示备份状态和统计信息。

用法:

node membase.ts status [选项]

选项:
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"我的备份状态如何?" 或 "检查备份状态"

你应该:

cd skills/membase
node membase.ts status

输出显示:

[统计] 备份状态

本地:
  文件数: 15
  大小: 234 KB

远程:
  备份数: 10

配置:
  端点: https://testnet.hub.membase.io
  智能体: my-agent
  工作空间: ~/.openclaw/workspace

6. cleanup - 清理旧备份

列出可以删除的旧备份(Membase 目前不支持删除 API)。

用法:

node membase.ts cleanup [选项]

选项:
- --keep-last <n> - 保留最近 N 个备份(默认: 10)
- --dry-run - 仅显示将要删除的内容而不实际删除
- --no-json - 不输出供智能体解析的 JSON

示例对话:

用户:"清理旧备份,保留最近5个"

你应该:

cd skills/membase
node membase.ts cleanup --keep-last 5

注意:将显示哪些备份应被删除,但用户需要通过 Membase Hub 界面手动删除。

安全说明

  • 所有数据均在客户端使用 AES-256-GCM 加密
  • 密码使用 PBKDF2 算法经过 100,000 次迭代派生
  • 你的密码永不离开本地机器
  • Membase 存储是去中心化和零知识的
  • 只有你能解密你的备份

密码要求

  • 至少 12 个字符
  • 必须包含大写字母
  • 必须包含小写字母
  • 必须包含数字
  • 建议:使用密码管理器

错误处理

缺少凭据

如果看到 "Membase 凭据未配置":

# 用户需要设置环境变量:
export MEMBASE_ACCOUNT=你的账户
export MEMBASE_SECRET_KEY=你的密钥

缺少密码

如果看到 "需要备份密码":
- 向用户询问密码
- 或建议设置 MEMBASE_BACKUP_PASSWORD 环境变量

密码无效

如果看到 "密码无效" 或 "解密失败":
- 用户提供了错误的密码
- 询问正确的密码

未找到备份

如果列表显示 "未找到备份":
- 尚无备份存在
- 建议创建首次备份

网络错误

如果连接失败:
- 检查网络连接
- 验证 MEMBASE_ENDPOINT 是否正确
- 稍后重试

给智能体的建议

  1. 始终先检查密码再询问用户
  2. 清晰显示备份 ID以便用户保存
  3. 解析 JSON 输出(如果可用,位于 ---JSON_OUTPUT------END_JSON--- 之间)
  4. 明确说明安全性——强调恢复需要密码
  5. 建议增量备份以提高首次备份后的速度
  6. 记住备份 ID(来自列表命令)以帮助用户进行恢复/差异比较

示例

完整备份工作流

# 1. 检查状态
node membase.ts status

# 2. 首次备份(完整)
node membase.ts backup --password "MySecure123Pass"

# 3. 之后:增量备份
node membase.ts backup --password "MySecure123Pass" --incremental

# 4. 列出所有备份
node membase.ts list

# 5. 比较最近的备份
node membase.ts diff backup-id-1 backup-id-2 --password "MySecure123Pass"

# 6. 需要时恢复
node membase.ts restore backup-id-1 --password "MySecure123Pass"

故障排除

命令未找到

确保你在 skills/membase 目录中:

cd skills/membase
pwd  # 应显示 .../skills/membase

模块未找到

lib 文件夹需要链接到编译后的源代码:

cd skills/membase
ln -sf ../../dist/lib lib

权限被拒绝

使 membase.ts 可执行:

chmod +x membase.ts

了解更多

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor