【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

OpenClaw 接入 GLM-5 教程:本地 AI 助手完整搭建指南

OpenClaw 接入 GLM-5 教程:本地 AI 助手完整搭建指南

OpenClaw 接入 GLM-5 教程:本地 AI 助手完整搭建指南 关键词:OpenClaw 安装教程、GLM-5 配置方法、GLM Coding Plan 使用教程、本地 AI 助手搭建、Z.AI 接入流程 GLM Coding Plan 体验卡入口(下单立减10%金额): https://www.bigmodel.cn/glm-coding?ic=9FFMZZ9M7C 最近在折腾一个可以本地运行的 AI Agent方案,目标很明确: * 在自己设备运行 * 可接入多平台(Web / Slack / Discord) * 模型稳定、推理强、支持复杂 Agent 任务 测试后发现,

豆包AI生图去水印实用指南:5种免费方法,轻松拿下纯净原图

豆包AI生图去水印实用指南:5种免费方法,轻松拿下纯净原图

相信大部分的豆包用户都曾为水印问题困扰过,好不容易在豆包生成了一张完美的配图,却被右下角的水印破坏了整体美感。你试了各种方法,要么效果不佳,要么操作复杂,最后只能无奈放弃。 今天分享几个小方法教你简单去除它。 样图: 通过以上两张图展示,常规下载的时候都是这两种情况,水印要么在左上角、要么在右下角。接下来,我们看实操,分享5招如何获得高清无水印图片的方法。 第一种:如何开始下载无水印图片 首先,单击已经生成的图片,图片会在右边新的窗口打开,如下图: 然后,点击左上角的智能编辑,如下: 这时候图片会出现在左边的对话框中: 我们将鼠标移到图片上,鼠标右击,弹出如下菜单: 这里我们看到其中四个选项均可获取到无水印图片,无差异: * 在新标签页中打开图像:点击后会在新的浏览器窗口看到完整的无水印图片; * 将图像另存为:点击后直接下载,这种是最常用的方法之一; * 复制图像:点击后,可以在微信对话框中直接粘贴,也比较实用; * 复制图像链接:这种和在新标签页中类似,是需要在一个空白标签中粘贴打开。 好了,我们看看获得无水印图片是怎样的:

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战 1.1 本章学习目标与重点 💡 学习目标:掌握大语言模型的核心原理、训练流程与微调方法,学会基于开源大语言模型完成定制化对话与文本生成任务。 💡 学习重点:理解大语言模型的Transformer decoder-only架构,掌握指令微调与RLHF技术,能够使用LoRA高效微调开源LLM。 1.2 大语言模型的核心概念与发展历程 1.2.1 什么是大语言模型 💡 大语言模型(Large Language Model, LLM)是参数量达到十亿级甚至万亿级的Transformer-based模型。它通过在海量文本数据上进行预训练,学习语言的语法、语义、常识和推理能力。 LLM的核心能力包括文本生成、理解、翻译、摘要、问答等。它可以处理复杂的自然语言任务,无需针对每个任务单独设计模型结构。 LLM与传统NLP模型的核心区别: * 参数量级:传统模型参数量通常在千万级,LLM参数量可达十亿到万亿级。 * 训练数据:传统模型依赖标注数据,LLM使用海量无标注文本进行预训练。 * 能力边界:传统模型只能处理单一任务,LL

深度解析 MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互全流程

深度解析 MySQL 与 MCP 集成:从环境构建到 AI 驱动的数据交互全流程

前言 在当前大语言模型(LLM)应用开发的浪潮中,MCP(Model Context Protocol)协议正在成为连接 AI 模型与本地数据设施的关键桥梁。本文将以 MySQL 数据库为例,详细拆解如何通过 MCP 协议让 AI 模型直接操作关系型数据库,涵盖从服务器发现、数据库架构设计、数据初始化、MCP 配置文件编写到复杂自然语言查询与写入的全过程。 第一部分:MCP 服务器的发现与配置获取 在进行任何数据交互之前,首要任务是确立连接协议与服务源。通过蓝耘 MCP 广场,开发者可以快速检索并获取所需的 MCP 服务器配置。 在搜索栏输入 mysql 关键字,系统会立即检索出相关的 MCP 服务器资源。如下图所示,搜索结果中清晰展示了 MySQL 对应的 MCP 服务卡片。 点击选中该 MCP 服务器后,