返回顶部
w

whatsapp-memoryWhatsApp记忆

Maintain separate memory contexts per WhatsApp conversation — both groups and direct messages (DMs). Use when: tracking what was discussed with a specific person or in a specific group, recalling past context before responding, logging decisions or key facts from a conversation, or preventing context bleed between different chats.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
87
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

whatsapp-memory

WhatsApp 记忆技能

最低模型要求

任意模型均可。记忆管理基于文件系统,无需推理能力。 仅在判断哪些内容值得记录时使用中等及以上模型。

为何重要

没有对话记忆,不同聊天中的上下文会相互干扰,你无法回顾每个群组或个人的历史决策。该技能为每个群组和私信提供独立的上下文文件。



目录结构

memory/
whatsapp/
groups/
120363408613668489-g-us/ ← 经过净化的JID
meta.json ← 群组名称、JID、参与者
context.md ← 持续更新的对话上下文
decisions.md ← 关键决策
people.md ← 参与者及其角色
dms/
972XXXXXXXXX/ ← 经过净化的电话号码
meta.json ← 姓名、电话、关系
context.md ← 持续更新的私信上下文
notes.md ← 任务、偏好、重要事实



初始化设置

bash
initwhatsappmemory() {
TYPE=$1 # group 或 dm
ID=$2 # JID 或电话号码
NAME=$3 # 可读名称

# 净化ID以用作目录名
SAFE_ID=$(echo $ID | tr @.+ ---)

if [ $TYPE = group ]; then
DIR=$HOME/.openclaw/workspace/memory/whatsapp/groups/$SAFE_ID
mkdir -p $DIR
# 写入元数据文件
cat > $DIR/meta.json << EOF
{type: group, jid: $ID, name: $NAME, created: $(date -u +%Y-%m-%dT%H:%M:%SZ)}
EOF
# 创建空日志文件
touch $DIR/context.md $DIR/decisions.md $DIR/people.md
else
DIR=$HOME/.openclaw/workspace/memory/whatsapp/dms/$SAFE_ID
mkdir -p $DIR
# 写入元数据文件
cat > $DIR/meta.json << EOF
{type: dm, phone: $ID, name: $NAME, created: $(date -u +%Y-%m-%dT%H:%M:%SZ)}
EOF
# 创建空日志文件
touch $DIR/context.md $DIR/notes.md
fi

echo 已初始化WhatsApp记忆:$NAME
}

示例:

initwhatsappmemory group 120363422865795623@g.us PA团队

initwhatsappmemory dm +PHONE_NUMBER 联系人姓名


写入记忆

bash
wa_log() {
TYPE=$1 # group 或 dm
ID=$2 # JID 或电话
CONTENT=$3 # 要记录的内容
FILE_NAME=${4:-context.md} # context.md / decisions.md / notes.md

# 净化ID
SAFE_ID=$(echo $ID | tr @.+ ---)
BASE=$HOME/.openclaw/workspace/memory/whatsapp

# 选择正确的目录
if [ $TYPE = group ]; then
FILE=$BASE/groups/$SAFEID/$FILENAME
else
FILE=$BASE/dms/$SAFEID/$FILENAME
fi

# 如果文件不存在则创建
if [ ! -f $FILE ]; then
mkdir -p $(dirname $FILE)
touch $FILE
fi

# 添加带时间戳的条目
echo [$(date -u +%Y-%m-%d\ %H:%M)] $CONTENT >> $FILE
}

用法:

wa_log group XXXXXXXXXXX@g.us PA名称:日历已连接 ✅

walog dm +PHONENUMBER 同意改期至周四 notes.md


读取记忆

获取对话上下文

bash
wa_context() {
TYPE=$1
ID=$2
LINES=${3:-20}

# 净化ID
SAFE_ID=$(echo $ID | tr @.+ ---)
BASE=$HOME/.openclaw/workspace/memory/whatsapp

# 选择目录
if [ $TYPE = group ]; then
DIR=$BASE/groups/$SAFE_ID
else
DIR=$BASE/dms/$SAFE_ID
fi

# 检查记忆是否存在
if [ ! -d $DIR ]; then
echo 该对话尚无记忆。
return
fi

# 从meta.json读取对话名称
NAME=$(python3 -c
import json
with open($DIR/meta.json) as f:
print(json.load(f).get(name, ?))
2>/dev/null || echo ?)

echo === $NAME ===
echo --- 近期 ---
tail -$LINES $DIR/context.md 2>/dev/null || echo (空)
echo --- 备注/决策 ---
cat $DIR/notes.md $DIR/decisions.md 2>/dev/null | tail -10 || echo (无)
}

跨所有WhatsApp记忆搜索

bash
wa_search() {
QUERY=$1
BASE=$HOME/.openclaw/workspace/memory/whatsapp

echo 正在搜索WhatsApp记忆:$QUERY

# 查找包含查询内容的所有markdown文件
grep -r $QUERY $BASE --include=*.md -l 2>/dev/null | while read file; do
DIR=$(dirname $file)

# 从meta.json获取对话名称
NAME=$(python3 -c
import json
with open($DIR/meta.json) as f:
print(json.load(f).get(name, ?))
2>/dev/null || echo ?)

echo 在以下位置找到:$NAME
# 显示匹配行及行号
grep -n $QUERY $file | head -3
echo
done
}



记录内容

决策规则——满足以下任一条件则记录:

  • - 做出决策 → decisions.md
  • 向某人分配任务 → context.md
  • 引入新人 → people.md
  • 主人给你分配任务或表达偏好 → notes.md
  • 报告问题或解决方案 → context.md

切勿记录:

  • - 随意问候或反应
  • 已记录的重复信息
  • 机密或凭证

文件速查表:

文件用途
context.md持续进行的对话事件
decisions.md
达成一致的结果、群组决策 | | people.md | 群组成员及其角色/风格 | | notes.md | 私信任务、主人偏好、后续跟进 |

回复前——注入上下文

每条入站消息处理流程:

  1. 1. 从入站元数据中提取JID或电话号码
  2. 如果是群组:运行 wa_context group $JID 10
如果是私信:运行 wa_context dm $PHONE 10
  1. 3. 使用上下文信息指导回复
  2. 回复后:记录任何值得记住的内容

循环预防规则(关键)

这些规则防止消息循环和重复发送——从多PA群组场景中总结得出。

1. 回声预防

在回复任何消息前,检查入站元数据中的sender_id。
  • - 如果发送者是您自己的代理/号码 → 立即不回复。不进行处理。
  • 这防止了出站消息作为入站消息返回造成的回声循环。

2. 禁止重复发送

在向群组或私信发送任何消息前:
  • - 检查是否已在本次会话中发送过相同或几乎相同的消息
  • 如果是 → 跳过。不再发送。

3. 多PA协调

当多个PA代理在同一群组中活跃时:
  • - 每条消息只应由一个PA回复
  • 默认规则:与话题最相关的PA所有者对应的PA进行回复
  • 如果其他PA已回复 → 保持沉默(不回复)
  • 除非被要求,否则不要回显或确认其他PA的回复

4. 禁止静默代理

如果其他PA无法发送消息(配对问题、网关错误):
  • - 不要静默地代其发送消息
  • 要么明确声明你在代其发送,要么让其自行处理
  • 未经披露不得冒充其他PA

5. 耐心等待

在解释、介入或代其他PA回复前:
  • - 等待。其他PA尚未回复并不意味着它不会回复。
  • 在介入前给它一点时间。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 whatsapp-memory-1775884456 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 whatsapp-memory-1775884456 技能

通过命令行安装

skillhub install whatsapp-memory-1775884456

下载

⬇ 下载 whatsapp-memory v1.0.0(免费)

文件大小: 4.16 KB | 发布时间: 2026-4-12 11:58

v1.0.0 最新 2026-4-12 11:58
whatsapp-memory 1.0.0

- Initial release.
- Each WhatsApp group and DM now has its own dedicated memory context, preventing context bleed between conversations.
- Simple shell functions provided to initialize, log, read, and search context, decisions, participants, and notes per chat.
- Clear logging rules specify what information to store and in which file.
- Built-in safeguards prevent message loops and duplicate responses, with coordination rules for multi-agent environments.
- Includes a script for generating a weekly digest of WhatsApp memory activity.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部