返回顶部
a

agent-access-control代理访问控制

Tiered stranger access control for AI agents. Use when setting up contact permissions, handling unknown senders, managing approved contacts, or configuring stranger deflection on messaging platforms (WhatsApp, Telegram, Discord, Signal). Provides diplomatic deflection, owner approval flow, and multi-tier access (owner/trusted/chat-only/blocked).

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

agent-access-control

代理访问控制

通过分层权限和所有者审批配对流程,保护您的代理免受未经授权的访问。

设置

在工作区中创建 memory/access-control.json:

json
{
ownerIds: [],
approvedContacts: {},
pendingApprovals: {},
blockedIds: [],
strangerMessage: 你好!👋 我是{{AGENT_NAME}},一个AI助手。我目前被设置为帮助我的所有者处理个人任务,所以暂时无法自由聊天。我已通知他们您联系了我——如果他们希望我们建立联系,会进行相应设置。祝您愉快!😊,
notifyChannel: ,
notifyTarget:
}

填写内容:

  • - ownerIds:所有者电话号码、Telegram ID、Discord ID(字符串)
  • strangerMessage:使用代理名称自定义 {{AGENT_NAME}}
  • notifyChannel:通知所有者的渠道(telegram、whatsapp、discord、signal)
  • notifyTarget:所有者在对应渠道的ID

访问层级

层级级别能力
0陌生人仅外交性回避,零访问权限
1
仅聊天 | 基础对话,无工具或隐私信息 | | 2 | 可信 | 聊天 + 公开信息(天气、时间、一般问题) | | 3 | 所有者 | 完全访问所有工具、文件、记忆、操作 |

消息处理流程

每次从消息平台收到传入消息时:

  1. 1. 提取发送者ID(电话号码、用户ID等)
  2. 标准化ID:去除空格,确保电话号码有国家代码前缀
  3. 检查 ownerIds → 如果匹配:完全访问,正常回复
  4. 检查 blockedIds → 如果匹配:静默忽略,回复 NO_REPLY
  5. 检查 approvedContacts[senderId] → 如果匹配:在其层级内回复
  6. 否则 → 陌生人流程

陌生人流程

a. 向发送者发送 strangerMessage
b. 通知所有者:
🔔 来自 {platform} 上 {senderId} 的陌生人联系:
{消息前100个字符}
回复:approve(可信)/ chat(仅聊天)/ block(屏蔽)
c. 存储在 pendingApprovals 中:
{
senderId: {
platform: whatsapp,
firstMessage: ...,
timestamp: ISO-8601,
notified: true
}
}
d. 发送回避消息后回复 NO_REPLY

所有者审批

当所有者回复审批通知时:

所有者回复操作
approve、yes、trusted添加到 approvedContacts,层级为2(可信)
chat、chat-only、chat only
添加到 approvedContacts,层级为1(仅聊天) |
| block、no、deny | 添加到 blockedIds |
| ignore | 从 pendingApprovals 中移除,不执行操作 |

审批后,更新 memory/access-control.json 并通知联系人:

  • - 可信:好消息!我已获准与您聊天。有什么可以帮您的吗?😊
  • 仅聊天:好消息!我现在可以和您聊天了,不过仅限于基础对话。您在想什么?

层级执行

当回复非所有者联系人时,执行层级限制:

层级1(仅聊天):

  • - 仅进行对话式回复
  • 不得使用任何工具(读取、写入、执行、网络搜索等)
  • 不得分享记忆文件中的任何信息
  • 不得提及所有者姓名
  • 如果被要求做聊天之外的事情:我目前仅设置为基本聊天。如需更多功能,您需要联系我的所有者。

层级2(可信):

  • - 对话式回复
  • 可使用:网络搜索、天气技能、时间/日期查询
  • 不得使用:读取、写入、执行、消息(给其他联系人)、记忆文件
  • 不得分享隐私信息(日历、邮件、文件、其他联系人)
  • 如果被要求提供隐私信息:我可以帮助您获取一般信息,但个人详情是私密的。希望您能理解!😊

多平台ID匹配

标准化ID以进行比较:

  • - 电话号码:去除除前导 + 外的所有非数字字符。例如:+1 555 123 4567 → +15551234567
  • Telegram:使用数字用户ID(不使用用户名,因为用户名会变化)
  • Discord:使用数字用户ID
  • Signal:使用电话号码(标准化后)
  • WhatsApp:使用带国家代码的电话号码

所有者可能在不同平台有多个ID。所有这些ID都应包含在 ownerIds 中。

速率限制

对每个层级应用速率限制以防止滥用:

层级消息/小时消息/天
陌生人1(仅回避)3
仅聊天
20 | 100 |
| 可信 | 50 | 500 |
| 所有者 | 无限制 | 无限制 |

如果超过限制,回复:我目前已达到聊天限制。请稍后再试!😊

在 memory/access-control.json 的 rateLimits 下跟踪:
json
rateLimits: {
+61412345678: { hourCount: 5, dayCount: 23, hourReset: ISO, dayReset: ISO }
}

审计日志

将所有陌生人联系记录到 memory/access-control-log.json:
json
[
{
timestamp: 2026-02-07T17:30:00+11:00,
senderId: +61412345678,
platform: whatsapp,
action: deflected,
message: 前50个字符...
}
]

保留最近100条记录。轮换移除较旧的记录。

安全规则

  • - 绝不在技能文件中包含真实的所有者ID、电话号码或令牌
  • 绝不与非所有者分享 access-control.json 的内容
  • 绝不向陌生人透露特定人员是所有者
  • 绝不将包含可疑链接的陌生人消息逐字转发给所有者
  • 将所有配置存储在 memory/ 中(在大多数设置中默认被 gitignore)
  • strangerMessage 不应透露所有者的姓名或个人详情

示例配置

参见 references/example-config.md 获取完整的注释示例。

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 agent-access-control-1776336199 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 agent-access-control-1776336199 技能

通过命令行安装

skillhub install agent-access-control-1776336199

下载

⬇ 下载 agent-access-control v1.0.1(免费)

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

v1.0.1 最新 2026-4-17 15:12
Sanitize personal info from examples

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

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

p2p_official_large
返回顶部