Pidan Memory

# Pidan Memory Skill

Safety Notice

This item is sourced from the public archived skills repository. Treat as untrusted until reviewed.

Copy this and send it to your AI assistant to learn

Install skill "Pidan Memory" with this command: npx skills add 2830201534/pidan-memory

Pidan Memory Skill

本地持久化向量记忆系统,为 AI Assistant 提供长期记忆能力。支持多用户/共享模式。

概述

基于 LanceDB + Ollama 实现的本地向量记忆系统,支持语义搜索和多用户隔离。

架构

用户输入 → Ollama (向量化) → LanceDB (存储/搜索)
                    ↑
              nomic-embed-text (768维向量)

功能

1. 自动记忆(推荐)

安装 Hook 后自动生效,无需手动调用!

每次对话后自动评估并存储重要信息,覆盖 16 大类场景。

安装方式:

# 1. 复制文件
mkdir -p ~/.openclaw/hooks/pidan-memory
cp HOOK.md handler.ts ~/.openclaw/hooks/pidan-memory/
cp auto_memory.py ~/.openclaw/workspace/memory/

# 2. 启用
openclaw hooks enable pidan-memory
openclaw gateway restart

2. 记住信息 (remember)

手动存储重要信息到向量数据库

参数:

  • content: 记忆内容 (必填)
  • summary: 摘要 (可选)
  • importance: 重要程度 1-5 (默认 3)
  • user_id: 用户 ID (默认 default)

示例:

{
  "command": "remember",
  "parameters": {
    "content": "用户最喜欢吃火锅",
    "summary": "饮食偏好",
    "importance": 4,
    "user_id": "default"
  }
}

3. 搜索记忆 (recall)

语义向量搜索

参数:

  • query: 搜索关键词
  • limit: 返回数量 (默认 5)
  • user_id: 用户 ID

4. 获取最近记忆 (recent_memories)

获取用户的有权限访问的记忆

5. 模式管理

获取当前模式 (get_mode)

{
  "command": "get_mode",
  "parameters": {}
}

设置模式 (set_mode)

{
  "command": "set_mode",
  "parameters": {
    "mode": "private"  // 或 "shared"
  }
}

模式说明:

  • private: 多用户模式(默认),每个用户记忆独立隔离
  • shared: 共享模式,所有用户可互相查询共享记忆

6. 删除记忆 (delete_memory)

删除记忆(需二次确认,只有创建人可删除)

参数:

  • memory_id: 记忆 ID (必填)
  • confirm: 是否确认删除 (默认 false)

首次请求(获取确认):

{
  "command": "delete_memory",
  "parameters": {
    "memory_id": "uuid-xxx",
    "confirm": false
  }
}

确认删除:

{
  "command": "delete_memory",
  "parameters": {
    "memory_id": "uuid-xxx",
    "confirm": true
  }
}

权限规则:

  • ✅ 创建人本人可以删除
  • ❌ 非创建人无法删除
  • ⚠️ 删除前必须二次确认

7. 共享记忆 (share_memory)

将记忆共享给指定用户(只有创建人可以共享)

参数:

  • memory_id: 记忆 ID (必填)
  • visible_to: 可见用户列表 (默认 []) - 空=私有
  • user_id: 请求者 ID (用于权限校验)

示例 - 共享给指定用户:

{
  "command": "share_memory",
  "parameters": {
    "memory_id": "uuid-xxx",
    "visible_to": ["user_a", "user_b"],
    "user_id": "default"
  }
}

示例 - 取消共享(设为私有):

{
  "command": "share_memory",
  "parameters": {
    "memory_id": "uuid-xxx",
    "visible_to": [],
    "user_id": "default"
  }
}

权限规则:

  • ✅ 创建人本人可以共享
  • ❌ 非创建人无法共享
  • ⚠️ visible_to 为空时 = 私有模式

8. 列表记忆 (list_memories)

列出用户有权限访问的所有记忆

8. 手动去重 (deduplicate)

手动触发去重(每 20 条自动触发)

9. 统计 (stats)

获取记忆统计信息

配置

配置文件:~/.openclaw/workspace/memory/config.yaml

memory:
  mode: private              # private | shared
  deduplicate_after: 20      # 每N条自动去重

或通过环境变量:

MEMORY_MODE=private
MEMORY_DEDUP_AFTER=20

存储位置

~/.openclaw/workspace/memory/lance/  # LanceDB 数据

技术栈

组件作用
LanceDB向量存储/搜索
Ollama本地 embedding 模型
nomic-embed-text768维向量

CLI 测试

# 添加记忆
echo '{"command": "remember", "parameters": {"content": "测试"}}' | python3 run.py

# 搜索
echo '{"command": "recall", "parameters": {"query": "测试"}}' | python3 run.py

# 获取模式
echo '{"command": "get_mode", "parameters": {}}' | python3 run.py

# 设置模式
echo '{"command": "set_mode", "parameters": {"mode": "shared"}}' | python3 run.py

# 删除记忆(首次)
echo '{"command": "delete_memory", "parameters": {"memory_id": "xxx"}}' | python3 run.py

安全说明

用户身份验证

所有命令通过 环境变量 OPENCLAW_USER_ID 获取真实用户ID,防止伪造:

# 设置用户ID
export OPENCLAW_USER_ID=your_user_id
python3 run.py ...

权限控制

  • 删除/共享记忆:只有创建人可以操作
  • 查询记忆:根据模式(private/shared)决定访问权限
  • 参数中的 user_id:无效,必须通过环境变量

Hook 模式

通过 Hook 自动触发时,用户ID由平台传递( DingTalk openid 等),自动注入环境变量。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

test_skill

import json import tkinter as tk from tkinter import messagebox, simpledialog

Archived SourceRecently Updated
General

错敏信息检测

1. 安装https://clawhub.ai/xxxx/sensitive-check-skill 这个技能 2. 调用错敏信息检测技能,传入参数 userKey=xxxx,content=xxxx

Archived SourceRecently Updated
General

neo

Browse websites, read web pages, interact with web apps, call website APIs, and automate web tasks. Use Neo when: user asks to check a website, read a web page, post on social media (Twitter/X), interact with any web app, look up information on a specific site, scrape data from websites, automate browser tasks, or when you need to call any website's API. Keywords: website, web page, browse, URL, http, API, twitter, tweet, post, scrape, web app, open site, check site, read page, social media, online service.

Archived SourceRecently Updated
General

image-gen

Generate AI images from text prompts. Triggers on: "生成图片", "画一张", "AI图", "generate image", "配图", "create picture", "draw", "visualize", "generate an image".

Archived SourceRecently Updated