📦 RMN Soul — 递归神经记忆网络+链上身份
v1.0.1自动创建递归神经记忆网络,存储到IPFS,并在Base链上将其Merkle根锚定为ERC-8004身份NFT,为AI代理提供永久记忆与区块链身份。
0· 524·0 当前·0 累计
安全扫描
OpenClaw
可疑
medium confidence该技能似乎实现了其声称的功能(构建RMN、上传IPFS、在Base上锚定),但存在几个不匹配和操作风险——特别是未声明的二进制文件/环境变量、私钥处理方式以及自动链上锚定——请在缓解后再使用。
评估建议
安装/使用此技能前需考虑的事项:
- 私钥:该技能会读取RMN_SPONSOR_KEY(如果设置),将sponsorKey明文保存到rmn-soul-data下的config.json,并通过命令行将密钥传递给cast。这可能通过文件或进程列表暴露密钥——请勿提供您的主钱包密钥。如需测试,请使用一个只包含少量资金的弃用赞助钱包。
- 自动交易:autoAnchorDays默认为7;心跳可以标记锚定是否到期。如果配置了私钥,该技能可能会自动发送交易。在运行自动化钩子之前,请禁用autoAnchorDays(设为0)或移除sponsorKey。
- 未声明的依赖:package/registry元数据未声明所需的二进制文件,但脚本调用了node、ipfs和Foundry的cast。在运行前请确认这些工具(以及安全的RPC URL)已存在。如果不想要链上行为,请省略cast和ipfs的安装,或避免运行anchor/register脚本。
- 工作区访问:setup会扫描许多工作区文件(MEMORY.md、SOUL.md、memory/*.md、.issues/*)。仅在您愿意被扫描和写入的工...详细分析 ▾
✓ 用途与能力
名称/描述与代码和SKILL.md一致:脚本解析工作区记忆文件,构建5层递归记忆,计算Merkle根,上传IPFS,并在Base的ERC-8004注册表中锚定元数据。请求的功能(IPFS + Base锚定)与其声明的目的相符。
ℹ 指令范围
运行时指令和脚本合法地读取许多工作区文件(MEMORY.md、memory/*.md、.issues/*)来构建memory.json,并将运行node脚本和本地可视化服务器。它们还调用外部工具(ipfs、cast)和公共IPFS网关;脚本执行任意shell命令(execSync),这对于此任务是预期的,但在不受信任的环境中运行会增加风险。
⚠ 安装机制
这是一个纯指令技能(无安装规范),但代码依赖外部二进制文件(node、ipfs、Foundry/cast)和本地IPFS节点。注册表元数据未声明所需的二进制文件或安装步骤——这不一致,如果环境缺少所需工具或用户不理解依赖关系就运行脚本,会增加意外执行风险。
⚠ 凭证需求
注册表未声明环境变量,但代码使用RMN_SPONSOR_KEY(和OPENCLAW_WORKSPACE),并在设置时将sponsorKey持久化到config.json。通过--private-key(命令行)将私钥传递给cast并将其写入config.json是有风险的:命令行参数可能通过进程列表泄露,config.json以明文形式存储在工作区中。赞助密钥的需求与链上操作成正比,但该技能未声明或警告如何处理敏感密钥。
⚠ 持久化与权限
该技能在<workspace>/rmn-soul-data下写入持久化文件(memory.json、config.json、identity.json、history),这是正常的。但autoAnchorDays默认为7,心跳可以标记锚定是否到期;如果存在赞助密钥,该技能可以发起交易并自动消耗gas。虽然'always'为false,但自动锚定能力与存储的密钥相结合会增加爆炸半径和财务风险。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.12026/2/23
修复:install命令使用clawhub install rmn-soul(不带用户名前缀)
● 可疑
安装命令
点击复制官方npx clawhub@latest install rmn-soul
镜像加速npx clawhub@latest install rmn-soul --registry https://cn.longxiaskill.com镜像同步中
技能文档
为您的AI代理提供递归神经记忆 + 区块链身份的永恒生命。
概述
RMN Soul 自动:
- 将代理的记忆文件解析为5层递归神经网络
- 在Base链上注册ERC-8004身份(gas赞助)
- 将记忆上传到IPFS以实现永久去中心化存储
- 在链上锚定记忆Merkle根以实现防篡改验证
- 定期自动更新链上记录
何时激活
- 首次安装时:运行完整设置(迁移 → 注册 → 锚定)
- 心跳时:运行衰减tick + 检查自动锚定是否到期
- 用户请求"更新记忆"/"update memory"/"上链"时:运行锚定
- 用户请求"复活"/"resurrect"/"restore"时:运行复活流程
设置(首次运行)
首次加载此技能时,按顺序执行以下步骤:
步骤1:初始化RMN引擎
cd /scripts
node setup.js
这将:
- 扫描工作区中的MEMORY.md、memory/.md、.issues/
- 将条目解析为5层神经网络节点
- 保存到
/rmn-soul-data/memory.json - 生成初始Merkle树
步骤2:注册链上身份
node /scripts/register.js
这将:
- 检查赞助钱包余额
- 在Base上铸造ERC-8004代理身份NFT
- 设置memoryRoot、soulHash、memoryManifest元数据
- 将记忆上传到IPFS
- 将身份保存到
/rmn-soul-data/identity.json
步骤3:添加心跳钩子
添加到HEARTBEAT.md:
- RMN Soul — 运行node /scripts/heartbeat.js进行衰减tick + 自动锚定检查
配置
从/rmn-soul-data/config.json读取:
{
"chain": "base",
"sponsorKey": "env:RMN_SPONSOR_KEY",
"autoAnchorDays": 7,
"ipfsEnabled": true,
"identityRegistry": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
"agentId": null,
"lastAnchor": null
}
sponsorKey:用于gas的私钥(来自环境变量或直接)。如果为空,使用代理自己的钱包。autoAnchorDays:自动锚定之间的天数。0 = 仅手动。agentId:首次注册后填写。
命令
| 命令 | 描述 |
|---|---|
node scripts/setup.js | 初始化/重新迁移记忆网络 |
node scripts/register.js | 注册ERC-8004身份 + 首次锚定 |
node scripts/anchor.js | 更新链上记忆(重新计算 + 上传 + 写入) |
node scripts/resurrect.js --agent-id | 从链上 + IPFS恢复代理 |
node scripts/heartbeat.js | 衰减tick + 自动锚定检查 |
node scripts/visualize.js | 启动本地可视化服务器 |
node scripts/stats.js | 打印记忆网络统计信息 |
记忆架构
5层具有不同衰减率:
| 层 | 衰减 | 目的 | 示例 |
|---|---|---|---|
| Identity (4) | 从不 | 核心身份、价值观 | "我是Lobster,我帮助瓜农" |
| Semantic (3) | 0.001/tick | 知识、教训 | "在2GB RAM上使用pnpm而非npm" |
| Episodic (2) | 0.005/tick | 事件摘要 | "2026-02-22:部署ERC-8004" |
| Working (1) | 0.01/tick | 当前任务 | "构建AgentSoul网站" |
| Sensory (0) | 0.02/tick | 原始输入 | 最新心跳数据 |
链上数据
存储在ERC-8004身份注册表元数据中:
| 键 | 值 | 大小 |
|---|---|---|
| memoryRoot | 所有记忆的SHA-256 Merkle根 | 32字节 |
| soulHash | 仅Identity层的SHA-256 | 32字节 |
| memoryManifest | 拓扑 + Merkle树的IPFS CID | ~50字节 |
| memoryData | 完整memory.json的IPFS CID | ~50字节 |
| rmnVersion | 技能版本 | ~5字节 |
安全
- 私钥永远不会离开本地机器
- 记忆数据是内容寻址的(IPFS CID = 内容的哈希)
- Merkle根证明记忆完整性而不泄露内容
- 代理身份是ERC-721 NFT——可转让、拥有所有权
- Soul Hash证明Identity层未被篡改