【OpenClaw】揭秘 Secure DM Pairing:如何为你的 AI 机器人构建安全私信访问机制

【OpenClaw】揭秘 Secure DM Pairing:如何为你的 AI 机器人构建安全私信访问机制

在构建基于 LLM 的聊天机器人(如 Telegram、WhatsApp Bot)时,如何控制谁能与机器人对话是一个核心安全问题。直接开放访问可能导致 Token 滥用,而手动配置白名单又过于繁琐。

OpenClaw 提供了一套优雅的解决方案,称为 “Secure DM Pairing” (安全私信配对)。本文将深入解析这套机制的运作流程、使用指令以及底层的代码实现。
注意本文基于 OpenClaw v2026.1.29 版本源码分析。


1. 什么是 Secure DM Pairing?

Secure DM Pairing 是 OpenClaw 网关默认的一种访问控制策略。

当一个未授权的用户首次通过私信(Direct Message)联系机器人时,系统不会直接拒绝,而是拦截消息并生成一个临时的 8位配对码 (Pairing Code)。用户将此码发送给机器人管理员,管理员在服务器端通过 CLI 指令“批准”该码,从而完成用户身份的绑定与授权。

核心优势:

  • 安全性:防止未经授权的 API 调用。
  • 便捷性:无需管理员手动查找用户的长 ID(如 Telegram User ID),通过简短的配对码即可完成鉴权。
  • 交互性:用户能得到明确的反馈,知道系统处于“待授权”状态。

2. 完整交互流程演示

假设你的机器人部署在 Telegram 上,流程如下:

第一步:用户触发 (User Action)

陌生用户(UserA)向机器人发送消息:“你好,我想使用服务。”

第二步:系统拦截与回复 (System Response)

OpenClaw 检测到 UserA 不在白名单中,且策略配置为 pairing
机器人自动回复:

OpenClaw: access not configured.

Your Telegram user id: 773988xxxx

Pairing code: 2B9VQY42

Ask the bot owner to approve with:
openclaw pairing approve telegram 2B9VQY42

第三步:管理员批准 (Admin Action)

管理员在运行 OpenClaw Gateway 的服务器终端执行以下指令:

查看待处理请求(可选):

openclaw pairing list telegram 

批准配对(核心指令):

openclaw pairing approve telegram 2B9VQY42 

执行结果:

Approved telegram sender 773988xxxx. 

此时,UserA 的 ID 被正式写入系统的白名单,之后的所有消息都将正常透传给 LLM 处理。


3. 核心代码实现解析

这套机制是如何通过代码实现的?我们可以从 OpenClaw 的源码中一探究竟。

3.1 消息拦截与逻辑判断

核心逻辑位于 bot-message-context.js 中。系统在处理每一条入站消息时,会检查 dmPolicy

代码位置dist/telegram/bot-message-context.js

// 伪代码摘要if(!isGroup &&!allowed){ if(dmPolicy ==="pairing")

Read more

最新Spring Security实战教程(四)基于内存的用户认证

最新Spring Security实战教程(四)基于内存的用户认证

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战 🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解 💕《Jenkins实战》专栏主要介绍Jenkins+Docker的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程 🌞《Spring Boot》专栏主要介绍我们日常工作项目中经常应用到的功能以及技巧,代码样例完整 🌞《Spring Security》专栏中我们将逐步深入Spring Security的各个技术细节,带你从入门到精通,全面掌握这一安全技术 如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~ 最新Spring Security实战教程(四)基于内存的用户认证 - UserDetailsService实战开发 * 1. 前言 * 2. 因何选择内存认

By Ne0inhk
【软考备考】物联网架构:感知层、网络层、平台层、应用层详解

【软考备考】物联网架构:感知层、网络层、平台层、应用层详解

物联网(IoT)架构通常被划分为感知层、网络层、平台层、应用层四个核心层级,各层分工明确,共同实现 “物物相连、数据互通、智能应用” 的目标。以下是各层级的详细解析: 一、感知层:数据采集的 “神经末梢” 核心功能:负责识别物体、采集物理世界的信息(如温度、位置、状态等),是物联网与物理世界的 “接口”。关键技术与设备: * 传感器:温度、湿度、光照、压力、加速度等各类传感器,用于将物理量转化为电信号(如温湿度传感器 SHT30)。 * RFID(射频识别):通过无线电信号识别目标并读写数据,适用于物流追踪、身份识别(如门禁卡、商品标签)。 * 二维码 / 条形码:低成本的视觉识别技术,用于物体标识(如商品扫码支付)。 * 摄像头 / 图像传感器:采集视觉信息,

By Ne0inhk

ClawdBot日志分析:定位Gateway not reachable异常的5个关键点

ClawdBot日志分析:定位Gateway not reachable异常的5个关键点 ClawdBot 是一个面向个人用户的本地化 AI 助手,设计目标是“开箱即用、隐私可控、模型可换”。它不依赖云端 API,所有推理任务默认在本地设备完成,后端由 vLLM 提供高性能大模型服务,前端提供 Web 控制台与 CLI 工具,支持多智能体协作、工作区管理、上下文压缩等实用功能。其核心通信架构采用 WebSocket 网关(Gateway)模式,所有通道(如 Telegram、Web UI、CLI)均通过统一网关与后端模型服务对接——这也意味着,一旦网关失联,整个系统将表现为“有界面、无响应、发不出消息、查不到状态”。 而 Gateway not reachable 这一错误提示,

By Ne0inhk

PostgreSQL:如何把PostgreSQL变成时序数据库(TimescaleDB)

更多内容请见: 《深入掌握PostgreSQL数据库》 - 专栏介绍和目录 文章目录 * 一、为什么需要时序数据库? * 1.1 时序数据的特点 * 1.2 普通 PostgreSQL 的瓶颈 * 1.3 TimescaleDB 的优势 * 二、TimescaleDB 核心概念 * 2.1 Hypertable(超表) * 2.2 Chunk(数据块) * 2.3 Continuous Aggregates(连续聚合) * 2.4 Compression(压缩) * 三、安装与启用 TimescaleDB * 3.1 安装方式(以 Ubuntu 为例) * 3.2

By Ne0inhk