系列 · OpenClaw超简单 07/ 15

OpenClaw超简单7:访问控制与安全设置

配置好 Bot 之后,有一个问题必须考虑: 如果别人知道了你的 Bot 用户名,他们能用你的 Bot 吗? 默认情况下,OpenClaw 已经有基础保护,但理解这些设置并根据自己的需求调整,是用好 OpenClaw 的重要一步。 …

最近更新于 2026年3月25日

配置好 Bot 之后,有一个问题必须考虑:如果别人知道了你的 Bot 用户名,他们能用你的 Bot 吗? 默认情况下,OpenClaw 已经有基础保护,但理解这些设置并根据自己的需求调整,是用好 OpenClaw 的重要一步。

一、OpenClaw 的安全模型

OpenClaw 的设计理念是个人助理模型:一个 Gateway 服务一个主人,访问控制的核心问题就是”谁有权限跟你的 Agent 对话”。

所有访问控制配置都在 ~/.openclaw/openclaw.json 里,每个 Channel 可以独立设置。

二、DM 策略(dmPolicy)

dmPolicy 控制私聊的访问权限,是最重要的设置。支持四种模式:

说明适用场景
pairing(默认)新用户首次发消息需要配对码验证个人使用,偶尔分享给信任的人
allowlist只有白名单里的用户才能私聊严格控制,只允许指定用户
open任何人都能直接聊,无需验证仅在完全信任的环境使用
disabled关闭私聊功能只用于群组场景

默认的 pairing 模式怎么工作

  1. 陌生用户给 Bot 发消息
  2. Bot 回复一个一次性配对码(1小时内有效)
  3. 你在终端里批准这个配对码
  4. 该用户以后可以直接聊,不再需要配对
# 查看待批准的配对请求
openclaw pairing list

# 批准(把 CODE 换成实际的配对码)
openclaw pairing approve telegram CODE

# 拒绝
openclaw pairing reject telegram CODE

设置 allowlist(推荐个人使用)

如果你只想让自己用,切换到白名单模式是最干净的方案。

首先获取你的用户 ID(每个平台不同):

  • Telegram:给 @userinfobot 发消息,它会告诉你你的 user ID
  • 飞书:在飞书开放平台的应用管理里可以查到

然后在 openclaw.json 里配置:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "你的 token",
      "dmPolicy": "allowlist",
      "dmAllowlist": ["123456789"]
    },
    "feishu": {
      "enabled": true,
      "accounts": {
        "main": {
          "appId": "cli_xxx",
          "appSecret": "xxx",
          "dmPolicy": "allowlist",
          "dmAllowlist": ["your_feishu_user_id"]
        }
      }
    }
  }
}

dmAllowlist 是用户 ID 的数组,可以填多个。

三、群组策略(groupPolicy)

如果你在群里使用 Bot,groupPolicy 控制哪些群可以使用:

说明
open所有群都可以使用
allowlist只有白名单里的群 ID 可以使用
disabled(默认)关闭群组功能
{
  "channels": {
    "telegram": {
      "dmPolicy": "allowlist",
      "dmAllowlist": ["你的user_id"],
      "groupPolicy": "allowlist",
      "groupAllowlist": ["-100xxxxxxxxxx"],
      "requireMention": true
    }
  }
}

requireMention: true 表示群里必须 @ Bot 才会响应,避免 Bot 被所有群消息触发。

四、安全审计

OpenClaw 内置了一个安全检查命令:

openclaw security audit

它会扫描你的配置,检查常见安全问题,比如:

  • Gateway 是否在没有认证的情况下暴露到网络
  • 工具权限是否过于宽松
  • 配置文件权限是否正确

如果有问题,它会列出来并给出修复建议。也可以用:

openclaw doctor
openclaw doctor --fix

--fix 会自动修复能修复的问题。

五、不同场景的推荐配置

场景一:只有我自己用

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "xxx",
      "dmPolicy": "allowlist",
      "dmAllowlist": ["你的telegram_user_id"],
      "groupPolicy": "disabled"
    }
  }
}

场景二:自己用,偶尔让家人用

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "xxx",
      "dmPolicy": "pairing"
    }
  }
}

保持默认的 pairing 模式,家人第一次用时你来批准就好。

场景三:小团队共用

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "xxx",
      "dmPolicy": "allowlist",
      "dmAllowlist": ["user_id_1", "user_id_2", "user_id_3"]
    }
  }
}

把所有团队成员的 ID 填进白名单。

六、配置修改后生效

修改 openclaw.json 后 Gateway 会自动热重载,不需要重启。如果用 Control UI 修改,保存后立即生效。

也可以用命令行快速修改单个值:

# 查看当前 dmPolicy
openclaw config get channels.telegram.dmPolicy

# 修改
openclaw config set channels.telegram.dmPolicy allowlist
OpenClaw超简单8:会话管理 OpenClaw超简单6:Control UI 使用指南