返回顶部
c

cross-channel-memory跨渠道记忆

跨渠道记忆同步。实现QQ、飞书等多渠道用户身份识别和记忆共享。当用户在不同渠道与机器人对话时,agent能识别同一用户并读取统一记忆。触发条件:用户提到"跨渠道"、"多渠道"、"飞书和QQ"、"记忆同步"、"换渠道聊",或agent需要查询用户跨渠道历史时。

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

cross-channel-memory

跨渠道记忆同步

概述

实现多渠道用户身份映射,让不同 agent 在 QQ、飞书等渠道识别同一用户,并共享记忆。

核心特性:

  • - 用户身份统一:同一用户在不同渠道使用同一身份标识
  • 记忆共享:各渠道的对话记录统一存储,可跨渠道查询
  • 独立存储:每个 agent 的记忆保存在自己的 workspace 目录
  • 实时同步:写入时自动同步到所有关联 agent

架构设计

┌─────────────────────────────────────────────────────────────┐
│ 用户映射中心 │
│ ~/.openclaw/data/cross-channel-users.json │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ users: { │ │
│ │ xiaokeai: { │ │
│ │ displayName: 小可爱, │ │
│ │ channels: { │ │
│ │ qqbot: { main: QQID123 }, │ │
│ │ feishu: { main: ou_abc123 } │ │
│ │ } │ │
│ │ } │ │
│ │ } │ │
│ │ lookupIndex: { │ │
│ │ qqbot: { QQID123: { userId: xiaokeai } }, │ │
│ │ feishu: { ou_abc123: { userId: xiaokeai } } │ │
│ │ } │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ main │ │ coder │ │ checker │
│ workspace │ │ workspace │ │ workspace │
│ │ │ │ │ │
│ memory/ │ │ memory/ │ │ memory/ │
│ ├MEMORY.md │ │ ├MEMORY.md │ │ ├MEMORY.md │
│ └YYYY-MM-DD│ │ └YYYY-MM-DD│ │ └YYYY-MM-DD│
└─────────────┘ └─────────────┘ └─────────────┘

使用方法

步骤 1:初始化用户映射

在用户首次使用时,需要建立渠道用户 ID 与统一用户 ID 的映射(按 agent 精确绑定):

bash

QQ coder agent 绑定


python3 ~/.openclaw/skills/cross-channel-memory/scripts/init_mapping.py link \
--user xiaokeai \
--channel qqbot \
--channel-id QQUSERID \
--account coder

飞书 coder agent 绑定(同一用户)

python3 ~/.openclaw/skills/cross-channel-memory/scripts/init_mapping.py link \ --user xiaokeai \ --channel feishu \ --channel-id FEISHUUSERID \ --account coder

飞书 main agent 绑定(同一用户,不同 agent)

python3 ~/.openclaw/skills/cross-channel-memory/scripts/init_mapping.py link \ --user xiaokeai \ --channel feishu \ --channel-id FEISHUUSERID \ --account main

参数说明:

  • - --user: 统一用户 ID (自定义,用于跨渠道识别)
  • --channel: 渠道名称 (qqbot, feishu)
  • --channel-id: 渠道中的用户 ID
  • --account: agent 标识 (coder, main, checker, menowriter 等)

步骤 2:查找用户信息(按 agent 精确查找)

根据渠道用户 ID 和 agent 查找统一用户信息:

bash
python3 ~/.openclaw/skills/cross-channel-memory/scripts/memory_sync.py lookup \
--channel qqbot \
--id QQUSERID \
--account coder

返回:
json
{
userId: xiaokeai,
displayName: 小可爱,
memoryPaths: [
{ accountId: coder, memoryPath: /home/user/.openclaw/workspace/coder/memory }
],
accountId: coder
}

步骤 3:写入记忆(按 agent 精确写入)

将对话记录写入指定 agent 的记忆:

bash
python3 ~/.openclaw/skills/cross-channel-memory/scripts/memory_sync.py write \
--channel qqbot \
--id QQUSERID \
--account coder \
--type user \
--content 我想学习 Python 编程 \
--timestamp 2026-03-13T08:30:00

步骤 4:读取记忆

使用内置工具读取记忆:

memory_search(query: Python, path: ~/.openclaw/workspace/coder/memory)

渠道识别字段

渠道用户ID字段来源
QQ (qqbot)senderidinboundmeta.senderid
飞书 (feishu)
senderid / openid | inboundmeta.sender_id |

目录结构

~/.openclaw/
├── skills/
│ └── cross-channel-memory/
│ ├── SKILL.md # 本文档
│ ├── scripts/
│ │ ├── lookup_user.py # 用户查找工具
│ │ ├── memory_sync.py # 记忆同步工具
│ │ └── init_mapping.py # 初始化脚本
│ └── examples/
│ └── sample_mapping.json
├── data/
│ └── cross-channel-users.json # 用户映射(共享)
└── workspace/
├── main/memory/ # main agent 记忆
├── coder/memory/ # coder agent 记忆
└── checker/memory/ # checker agent 记忆

配置示例

cross-channel-users.json(按 agent 精确绑定)

json
{
users: {
xiaokeai: {
displayName: 小可爱,
channels: {
qqbot: {
coder: QQUSERID_C
},
feishu: {
coder: FEISHUUSERID_C,
main: FEISHUUSERID_M,
checker: FEISHUUSERID_K,
menowriter: FEISHUUSERID_W
}
}
}
},
lookupIndex: {
qqbot: {
QQUSERIDCcoder: {
userId: xiaokeai,
accountId: coder,
channelUserId: QQUSERID_C
}
},
feishu: {
FEISHUUSERIDCcoder: {
userId: xiaokeai,
accountId: coder,
channelUserId: FEISHUUSERID_C
},
FEISHUUSERIDMmain: {
userId: xiaokeai,
accountId: main,
channelUserId: FEISHUUSERID_M
}
}
}
}

绑定关系:

  • - QQ coder agent ← 用户 QQUSERIDC → 统一用户 xiaokeai → 飞书 coder agent
  • QQ main agent ← 用户 QQUSERIDM → 统一用户 xiaokeai → 飞书 main agent
  • 每个渠道的每个 agent 精确绑定,记忆独立存储

Agent 使用流程

接收消息时

  1. 1. 从 inboundmeta 获取 channel 和 senderid
  2. 调用 lookup_user.py 查找统一用户 ID
  3. 如果找到,使用该用户的记忆路径

写入记忆时

  1. 1. 使用 memory_sync.py write 命令
  2. 自动同步到用户关联的所有 agent

查询记忆时

  1. 1. 使用 memory_search 工具
  2. 指定正确的记忆路径

注意事项

  1. 1. 用户映射是共享的:所有 agent 使用同一份映射文件
  2. 记忆按 agent 分离:各 agent 的记忆独立存储在自己的 workspace
  3. 首次使用需初始化:新用户需要先建立映射关系
  4. 支持增量更新:可随时添加新的渠道映射

##

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 cross-channel-memory-1776105862 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 cross-channel-memory-1776105862 技能

通过命令行安装

skillhub install cross-channel-memory-1776105862

下载

⬇ 下载 cross-channel-memory v1.0.1(免费)

文件大小: 16.21 KB | 发布时间: 2026-4-15 12:22

v1.0.1 最新 2026-4-15 12:22
cross-channel-memory v1.0.1

- Added basic automated tests (tests/test_all.py).
- Improved lookup_user.py for code or test correctness.
- No user-facing feature changes.

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

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

p2p_official_large
返回顶部