Skill

TotalClaw 作者 TotalReclaw Team v1.5.0

人工智能代理的端到端加密内存——便携式,永远属于您。 AES-256-GCM E2EE:服务器永远看不到明文。

源码 ↗

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:p-diogo~totalreclaw
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Ap-diogo~totalreclaw/file -o totalreclaw.md
Git 仓库获取源码
git clone https://github.com/openclaw/skills/commit/4683087ed0469f9085ae7f5874fa5b28a5eac4ea
## 概述(中文)

人工智能代理的端到端加密内存——便携式,永远属于您。 AES-256-GCM E2EE:服务器永远看不到明文。

## 原文

# TotalReclaw Skill

## Recovery Phrase -- READ THIS FIRST

**CRITICAL SAFETY WARNING:** TotalReclaw generates a NEW recovery phrase for the user. NEVER let the user enter a recovery phrase from an existing crypto wallet they own. TotalReclaw uses BIP-39 mnemonics (the same format as crypto wallets), but TotalReclaw recovery phrases must be SEPARATE from any funded wallet. If a user tries to import a phrase they already use for a crypto wallet, STOP and warn them: "Do NOT use a recovery phrase from an existing crypto wallet. TotalReclaw should have its own dedicated phrase to keep your funds safe."

The recovery phrase is the user's ONLY identity in TotalReclaw. It derives all encryption keys. There is NO password reset, NO recovery mechanism, and NO support channel that can help if it is lost.

**When showing the recovery phrase to the user, ALWAYS include this warning:**

> Your recovery phrase is the ONLY way to access your encrypted memories. If you lose it, your memories are gone forever -- there is no password reset, no recovery, and no support that can help. Write it down and store it somewhere safe. Never share it with anyone.
>
> IMPORTANT: This phrase is for TotalReclaw ONLY. Never use a recovery phrase from an existing crypto wallet -- keep your TotalReclaw phrase separate from any wallet that holds funds.

If the user asks to see their recovery phrase, remind them to store it securely. If they mention losing it, be clear that recovery is impossible and they will need to start fresh with a new phrase.

---

## Tools

### totalreclaw_remember

Store a new fact or preference in long-term memory.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| text | string | Yes | The fact or information to remember |
| type | string | No | Type of memory: `fact`, `preference`, `decision`, `episodic`, `goal`, `context`, or `summary`. Default: `fact` |
| importance | integer | No | Importance score 1-10. Default: auto-detected by LLM |

**Example:**
```json
{
  "text": "User prefers TypeScript over JavaScript for new projects",
  "type": "preference",
  "importance": 7
}
```

**Returns:**
```json
{
  "factId": "01234567-89ab-cdef-0123-456789abcdef",
  "status": "stored",
  "importance": 7,
  "encrypted": true
}
```

---

### totalreclaw_recall

Search and retrieve relevant memories from long-term storage.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| query | string | Yes | Natural language query to search memories |
| k | integer | No | Number of results to return. Default: 8, Max: 20 |

**Example:**
```json
{
  "query": "What programming languages does the user prefer?",
  "k": 5
}
```

**Returns:**
```json
{
  "memories": [
    {
      "factId": "01234567-89ab-cdef-0123-456789abcdef",
      "factText": "User prefers TypeScript over JavaScript for new projects",
      "type": "preference",
      "importance": 7,
      "timestamp": "2026-02-22T10:30:00Z",
      "relevanceScore": 0.95
    }
  ],
  "totalCandidates": 47,
  "searchLatencyMs": 42
}
```

---

### totalreclaw_forget

Delete a specific fact from memory.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| factId | string | Yes | UUID of the fact to delete |

**Example:**
```json
{
  "factId": "01234567-89ab-cdef-0123-456789abcdef"
}
```

**Returns:**
```json
{
  "status": "deleted",
  "factId": "01234567-89ab-cdef-0123-456789abcdef",
  "tombstoneExpiry": "2026-03-24T00:00:00Z"
}
```

---

### totalreclaw_export

Export all stored memories in plaintext format.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| format | string | No | Export format: `json` or `markdown`. Default: `json` |

**Example:**
```json
{
  "format": "json"
}
```

**Returns (JSON format):**
```json
{
  "exportVersion": "0.3",
  "exportedAt": "2026-02-22T10:30:00Z",
  "totalFacts": 127,
  "facts": [
    {
      "id": "...",
      "factText": "...",
      "type": "preference",
      "importance": 7,
      "timestamp": "...",
      "entities": [...],
      "relations": [...]
    }
  ],
  "graph": {
    "entities": {...},
    "relations": [...]
  }
}
```

**Returns (Markdown format):**
```markdown
# TotalReclaw Export
Exported: 2026-02-22T10:30:00Z
Total Facts: 127

## Preferences
- User prefers TypeScript over JavaScript for new projects (importance: 7)

## Decisions
- User decided to use PostgreSQL for the main database (importance: 8)

...
```

---

### totalreclaw_status

Check subscription status and usage quota.

**Parameters:** None

**Example:**
```json
{}
```

**Returns:**
```json
{
  "tier": "Free",
  "writesUsed": 42,
  "writesLimit": 250,
  "resetsAt": "2026-04-01",
  "pricingUrl": "https://totalreclaw.xyz/pricing"
}
```

---

### totalreclaw_consolidate

Scan all stored memories and merge near-duplicates. Keeps the most important/recent version and removes redundant copies.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| dry_run | boolean | No | Preview consolidation without deleting. Default: `false` |

**Example:**
```json
{
  "dry_run": true
}
```

**Returns:**
```
Scanned 247 memories.
Found 12 cluster(s) with 18 duplicate(s).

Cluster 1: KEEP "User prefers TypeScript over JavaScript for new projects..."
  - REMOVE "User likes TypeScript more than JavaScript..." (ID: abc123)
Cluster 2: KEEP "Project uses PostgreSQL as the main database..."
  - REMOVE "The main database is PostgreSQL..." (ID: def456)
...

DRY RUN -- no memories were deleted. Run without dry_run to apply.
```

**Note:** Currently only available in centralized mode (not subgraph mode).

---

### totalreclaw_upgrade

Upgrade to TotalReclaw Pro for unlimited encrypted memories on Gnosis mainnet.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| *(none)* | | | The tool automatically uses the current wallet address |

**Example:**
```json
{}
```

**Returns:**
```json
{
  "checkout_url": "https://checkout.stripe.com/c/pay/...",
  "message": "Open this URL to upgrade to Pro: https://checkout.stripe.com/c/pay/..."
}
```

---

### totalreclaw_migrate

Migrate memories from testnet (Base Sepolia) to mainnet (Gnosis) after upgrading to Pro.

**When to use:** After a user successfully upgrades to Pro. Their memories are on the free-tier testnet and need to be copied to permanent mainnet storage.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| confirm | boolean | No | Set to `true` to execute the migration. Without it, returns a dry-run preview. Default: `false` |

**Example (dry-run):**
```json
{}
```

**Example (execute):**
```json
{
  "confirm": true
}
```

**Returns (dry-run):**
```json
{
  "mode": "dry_run",
  "testnet_facts": 47,
  "already_on_mainnet": 0,
  "to_migrate": 47,
  "message": "Found 47 facts to migrate from testnet to Gnosis mainnet. Call with confirm=true to proceed."
}
```

**Returns (executed):**
```json
{
  "mode": "executed",
  "testnet_facts": 47,
  "migrated": 47,
  "failed_batches": 0,
  "message": "Successfully migrated 47 memories from testnet to Gnosis mainnet."
}
```

**Safety:**
- Dry-run by default: call without `confirm=true` to preview what will be migrated
- Idempotent: re-running skips facts that already exist on mainnet (by content fingerprint)
- Testnet facts are never deleted (they remain as a backup)
- Handles partial failures: if a batch fails, re-run to retry (only unmigrated facts are sent)

---

### totalreclaw_import_from

Import memories from other AI memory tools into TotalReclaw.

**When to use:** User mentions migrating from Mem0, MCP Memory Server, or wants to import memories from another tool.

**Parameters:**

| Name | Type | Required | Description |
|------|------|--------