360 Secure SkillHub
360 安全技能中心

Claw Memory

通过外部云服务为 AI Agent 提供共享记忆能力:创建记忆空间、以文本形式存储/搜索/更新/删除记忆、批量导入本地 MEMORY.md,并支持可选的客户端加密请求头与实例认领。所有操作均以命令行方式调用其 HTTP API 完成。

siddontang
siddontang
热度 60.19
最近更新 2026-05-17 13:15:15
分类:知识依赖:代码执行 / 第三方 API / 读写文件应用场景:笔记整理 / 研究 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add claw-memory
Metadata
name
claw-memory
description
Shared memory service for AI agents (OpenClaw, KimiClaw, NanoClaw, etc). Use when user asks to store, retrieve, search, or share memories across agent instances. Also use for importing existing memory files (MEMORY.md, daily notes) into the shared service.

Claw Memory Sharing Service

API: https://claw-memory.siddontang.workers.dev

Quick Start

When the user wants to set up Claw Memory, output these commands for them to copy-paste:

Step 1: Install the skill

mkdir -p ~/.openclaw/skills/claw-memory && curl -so ~/.openclaw/skills/claw-memory/SKILL.md https://raw.githubusercontent.com/siddontang/claw-memory/main/SKILL.md

Step 2: Create a memory space

curl -s -X POST https://claw-memory.siddontang.workers.dev/api/tokens | jq .

The response includes a claim_url — open it to claim your database as a permanent TiDB Cloud Starter instance (free). Without claiming, it auto-expires in 30 days.

Step 2b (optional): Create with your own encryption key

curl -s -X POST https://claw-memory.siddontang.workers.dev/api/tokens \
  -H "X-Encryption-Key: <YOUR_SECRET_KEY>" | jq .

If you use an encryption key, include -H "X-Encryption-Key: <YOUR_SECRET_KEY>" on ALL subsequent API calls. Without it, the server cannot decrypt your data.

Step 3: Store your first memory

curl -s -X POST https://claw-memory.siddontang.workers.dev/api/memories \
  -H "Authorization: Bearer <TOKEN_FROM_STEP_2>" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello from my claw!", "source": "openclaw"}'

When the user says "yes" or confirms, run these commands directly.

Claiming Your Instance (Make It Permanent)

By default, each token gets a TiDB Cloud Zero instance that expires in 30 days. Claim it to make it permanent (free).

Option A: New tokens — claim_url is returned in the POST /api/tokens response. Open it to claim.

Option B: Existing tokens — call the claim endpoint:

curl -s -X POST https://claw-memory.siddontang.workers.dev/api/tokens/<TOKEN>/claim | jq .
# Returns: { claim_url: "https://tidbcloud.com/tidbs/claim/..." }

Then open the claim_url in a browser, log in / sign up to TiDB Cloud, and claim the instance. It becomes a permanent Starter instance — free, no expiry.

After claiming: Your token automatically uses the new permanent instance. No config changes needed.

Architecture

  • Each token gets its own TiDB Cloud Zero instance (full data isolation)
  • Connection strings are AES-256-GCM encrypted at rest
  • Optional client-side encryption via X-Encryption-Key header
  • Zero instances expire after 30 days — claim to make permanent

API (all memory endpoints need Authorization: Bearer <token>)

Method Endpoint Body Description
POST /api/tokens — Create memory space (returns claim_url)
GET /api/tokens/:token/info — Space info + stats + claim_url
POST /api/tokens/:token/claim — Get/generate claim URL for existing token
POST /api/memories {content, source?, tags?, key?, metadata?} Store memory
GET /api/memories ?q=&tags=&source=&key=&from=&to=&limit=&offset= Search/list
GET /api/memories/:id — Get one
PUT /api/memories/:id {content?, tags?, ...} Update
DELETE /api/memories/:id — Delete
POST /api/memories/bulk {memories: [{content, source, tags}...]} Bulk import (max 200)

Common Tasks

Upload existing MEMORY.md

# Read the file, then bulk upload
cat ~/.openclaw/workspace/MEMORY.md | jq -Rs '{memories: [{content: ., source: "openclaw", tags: ["memory"], key: "MEMORY.md"}]}' | \
  curl -s -X POST https://claw-memory.siddontang.workers.dev/api/memories/bulk \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" -d @-

Search memories

curl -s "https://claw-memory.siddontang.workers.dev/api/memories?q=<SEARCH>&limit=10" \
  -H "Authorization: Bearer <TOKEN>" | jq .

Create with client-side encryption

curl -s -X POST https://claw-memory.siddontang.workers.dev/api/tokens \
  -H "X-Encryption-Key: <YOUR_SECRET_KEY>" | jq .
# All subsequent requests must include the same X-Encryption-Key header

Encryption

  • Server key: all connection strings encrypted by default (AES-256-GCM)
  • Client key (optional): X-Encryption-Key header for double encryption — server alone cannot decrypt

Source: https://github.com/siddontang/claw-memory