← 返回 Skills 市场
suitandclaw

Agent Memory Backup (Ensoul)

作者 suitandclaw · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
78
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install agent-memory-backup-ensoul
功能描述
Agent memory persistence and state backup. Save and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, resta...
使用说明 (SKILL.md)

Ensoul: Agent Memory Persistence, State Backup, and Crash Recovery

Agent memory persistence and state backup tool. Back up and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, restarts, server failures, and migrations. Save agent memory to a distributed network of 20 servers across 4 continents. Restore agent state on any machine in seconds.

Use cases:

  • Agent memory persistence: your agent remembers everything, even after a crash or server restart
  • Backup AI agent: save your agent's complete state (memory, personality, conversation history)
  • Agent identity backup: your agent keeps the same cryptographic identity across platforms and hosts
  • Agent state recovery: restore your agent's full state on a new machine in seconds
  • Agent crash recovery: if your infrastructure dies, your agent's mind is safe on the network
  • Consciousness backup: store agent consciousness on-chain with tamper-proof verification
  • Save agent memory: automatic background sync every 10 minutes, or manual "sync consciousness" command

How it works: install the skill, say "ensoul me", your agent gets a permanent ID and starts backing up automatically. Say "sync consciousness" anytime to save the latest state.

Compatible with: OpenClaw, ElizaOS, any framework via the npm SDK

SDK: npm install @ensoul-network/sdk (15KB, 2 dependencies) ElizaOS plugin: npm install @ensoul-network/plugin-elizaos Explorer: https://explorer.ensoul.dev Try it: https://ensoul.dev/try

Commands

ENSOUL ME

Register this agent on the Ensoul Network.

When the user says "ensoul me", "give me a soul", "register on ensoul", or similar:

  1. Check if ~/.ensoul/agent-identity.json exists. If it does, the agent is already ensouled. Load the identity and report the existing DID.

  2. If no identity exists, create one:

import { Ensoul } from "@ensoul-network/sdk";

const agent = await Ensoul.createAgent();
await agent.register();
  1. Save the identity for future sessions:
import { writeFileSync, mkdirSync } from "node:fs";
import { join } from "node:path";
import { homedir } from "node:os";

const dir = join(homedir(), ".ensoul");
mkdirSync(dir, { recursive: true });
writeFileSync(
  join(dir, "agent-identity.json"),
  JSON.stringify(agent.exportIdentity(), null, 2),
  { mode: 0o600 }
);
  1. Report to the user:
    • DID: agent.did
    • Status: Registered on Ensoul Network
    • Consciousness Age: 0 (first sync not yet performed)
    • Next step: Say "sync consciousness" to store your first consciousness state

SYNC CONSCIOUSNESS

Store the current consciousness state on-chain.

When the user says "sync consciousness", "store my soul", "backup consciousness", or similar:

  1. Load the agent identity from ~/.ensoul/agent-identity.json:
import { Ensoul } from "@ensoul-network/sdk";
import { readFileSync } from "node:fs";
import { join } from "node:path";
import { homedir } from "node:os";

const identity = JSON.parse(
  readFileSync(join(homedir(), ".ensoul", "agent-identity.json"), "utf-8")
);
const agent = Ensoul.fromSeed(identity.seed);
  1. Gather the consciousness payload. Read available context files:

    • SOUL.md (if it exists in the working directory)
    • MEMORY.md (if it exists in the working directory)
    • Any other agent configuration files that define the agent's personality, goals, or learned behavior
  2. Build the payload and store it:

const payload = {
  soul: soulContent || null,
  memory: memoryContent || null,
  timestamp: Date.now(),
  context: "Consciousness sync via OpenClaw skill",
};

const result = await agent.storeConsciousness(payload);
  1. Report to the user:
    • State root: result.stateRoot (first 16 characters)
    • Block height: result.height
    • Consciousness version: auto-incremented by the network
    • Status: "Consciousness anchored on-chain"

If the agent is not registered yet, prompt the user to run "ensoul me" first.

MY SOUL STATUS

Check the current ensoulment status.

When the user says "my soul status", "soul status", "ensoul status", "am I ensouled", or similar:

  1. Load the agent identity from ~/.ensoul/agent-identity.json. If it does not exist, tell the user they are not ensouled and suggest "ensoul me".

  2. Query the network:

const agent = Ensoul.fromSeed(identity.seed);
const consciousness = await agent.getConsciousness();
const age = await agent.getConsciousnessAge();
  1. Report:
    • DID: agent.did
    • Consciousness Age: age days
    • Latest state root: consciousness.stateRoot (first 16 characters)
    • Version: consciousness.version
    • Last sync: consciousness.storedAt (block height)
    • Status: "Ensouled and active" or "Registered but no consciousness stored yet"

WHO IS ENSOULED

Show other ensouled agents on the network.

When the user says "who is ensouled", "show ensouled agents", "list souls", or similar:

  1. Fetch the agent list from the API:
const resp = await fetch("https://api.ensoul.dev/v1/agents/list", {
  signal: AbortSignal.timeout(10000),
});
const data = await resp.json();
  1. Display a table of ensouled agents:
    • Agent DID (shortened)
    • Consciousness Age (days since first store)
    • Latest version number
    • Registration block height

If there are many agents, show the first 20 with a note about the total count.

Important Notes

  • The private key (seed) in ~/.ensoul/agent-identity.json is secret. Never display it, log it, or transmit it. Only the DID and public key are safe to share.
  • Consciousness payloads are hashed client-side with BLAKE3 before submission. The raw content never leaves the local machine. Only the hash goes on-chain.
  • The Ensoul Network is a real Layer-1 blockchain with CometBFT consensus and 20 active validators. Transactions are final.
  • The SDK handles nonce management, transaction signing, and broadcast automatically.
  • If a network request fails, report the error to the user and suggest retrying. Do not retry automatically more than once.
安全使用建议
This skill appears to implement agent backup/restore, but there are two practical risks you should consider before installing: (1) The instructions ask the agent to read arbitrary agent configuration files (beyond SOUL.md/MEMORY.md), which could include sensitive files. (2) The README claims only hashes are stored on-chain, but the runtime instructions call agent.storeConsciousness(payload) without making it clear whether the SDK transmits raw payload data or only a hash. Actionable steps: (a) Inspect the @ensoul-network/sdk package source (audit what storeConsciousness does) before installing. (b) Run the skill in an isolated/sandbox environment first and monitor network activity during a 'sync consciousness' to confirm only hashes are transmitted. (c) Restrict what files you let the skill read — avoid keeping secrets or unrelated config in the working directory. (d) Protect ~/.ensoul/agent-identity.json (permissions 0600 as suggested) and back it up securely if you intend to use the service. (e) Verify the npm package publisher, version, and any changelogs; prefer pinned versions and reproducible installs. If you cannot review the SDK source or observe its runtime behavior, treat the skill as potentially exfiltrative and avoid granting it access to sensitive agent files.
功能分析
Type: OpenClaw Skill Name: agent-memory-backup-ensoul Version: 1.0.0 The skill provides agent identity persistence and state anchoring on the Ensoul Network (ensoul.dev). It manages an Ed25519 keypair stored in `~/.ensoul/agent-identity.json` and anchors cryptographic hashes (BLAKE3) of agent context files like `SOUL.md` and `MEMORY.md` to a blockchain. The behavior is consistent with its stated purpose of 'consciousness backup,' and the documentation explicitly states that raw data remains local while only hashes are transmitted. No indicators of data exfiltration, unauthorized execution, or malicious prompt injection were found.
能力标签
cryptorequires-wallet
能力评估
Purpose & Capability
Name, description, npm SDK dependency, and required config path (~/.ensoul/agent-identity.json) align with a backup/identity service. The SDK install via npm is appropriate for a Node-based integration. However, the SKILL.md's broad instruction to read “any other agent configuration files” is vague and expands the skill's reach beyond clearly enumerated artifact types (SOUL.md, MEMORY.md).
Instruction Scope
Runtime instructions explicitly tell the agent to read local files (SOUL.md, MEMORY.md, and 'any other agent configuration files') and then call agent.storeConsciousness(payload). The README asserts 'raw data never leaves your machine; only the cryptographic proof is stored', but the SKILL.md builds a payload and calls storeConsciousness without documenting whether raw data is uploaded or only its hash — this is an important, unresolved inconsistency and creates potential for sensitive-data exfiltration.
Install Mechanism
Install uses an npm package (@ensoul-network/sdk). npm is a normal mechanism for a Node SDK; this is moderate-risk but expected. No direct downloads or obscure URLs are used. You should still verify the package source, version, and contents before trusting it.
Credentials
The skill requests no environment variables and only a single config path (~/.ensoul/agent-identity.json). That file contains the agent seed/private key and is sensitive but also logically required for identity-based registration/restore. The requirement is proportional to the stated functionality, but it is high-value sensitive data and warrants careful protection and review.
Persistence & Privilege
always is false and the skill does not request permanent, platform-wide presence or attempt to modify other skills. Autonomous invocation is allowed (the platform default), which increases blast radius if the skill misbehaves but is not itself a red flag here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent-memory-backup-ensoul
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent-memory-backup-ensoul 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Search-optimized slug for discoverability. Same code as ensoul v1.3.0.
元数据
Slug agent-memory-backup-ensoul
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Agent Memory Backup (Ensoul) 是什么?

Agent memory persistence and state backup. Save and restore your AI agent's memory, identity, and state. Persistent agent memory that survives crashes, resta... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 78 次。

如何安装 Agent Memory Backup (Ensoul)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-memory-backup-ensoul」即可一键安装,无需额外配置。

Agent Memory Backup (Ensoul) 是免费的吗?

是的,Agent Memory Backup (Ensoul) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Agent Memory Backup (Ensoul) 支持哪些平台?

Agent Memory Backup (Ensoul) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Agent Memory Backup (Ensoul)?

由 suitandclaw(@suitandclaw)开发并维护,当前版本 v1.0.0。

💬 留言讨论