内容门禁
对匿名(未认证)挂件访客限制特定主题。身份已验证的认证用户则可看到完整答案。
概览#
内容门禁允许您定义只应与认证用户讨论的主题。当匿名访客询问被门禁的主题时,AI 会以自定义消息作答,而不是给出实际答案。
这对于保护敏感信息很有用,例如:
- 定价细节和折扣结构
- Enterprise 功能或内部路线图
- API 文档或技术规格
- 合作伙伴专属信息
设置#
主题门禁目前通过 agent 设置 API 进行配置。使用三个设置键来更新您的 agent:
gated_enabled(boolean)——开启或关闭主题门禁gated_topics(字符串数组)——要限制的主题。请具体描述——例如,使用 "enterprise pricing tiers"(企业版定价层级)而不是仅仅 "pricing"(定价),以避免误判。gated_message(字符串)——匿名用户询问受限主题时看到的消息。留空时默认为:"This information is available to registered users. Please sign in or contact us for details."
通过 API 配置内容门禁bash
curl -X PATCH https://api.respondo.ai/api/v1/agents/<agent-uuid> \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"settings": {
"gated_enabled": true,
"gated_topics": ["enterprise pricing tiers", "internal roadmap"],
"gated_message": "This information is available to registered users. Please sign in or contact our sales team for details."
}
}'内容门禁还需要 用户识别 来区分认证访客与匿名访客。设置说明请参见 用户识别 文档。
不要把它与挂件渠道 Appearance 标签页上的 Content gate 开关混淆——那是另一项功能:它要求访客在开始聊天前提供邮箱(线索收集),并不对主题做门禁。
工作原理#
当挂件传来一条消息时,系统会检查用户是否拥有已验证的身份:
| 用户类型 | 身份字段 | 受限主题 |
|---|---|---|
| 已认证 | 拥有 userId 或 email(当配置了 identity_secret 时经过 HMAC 校验) | 完整答案——无任何限制 |
| 匿名 | 仅有 visitorId,或完全没有身份 | 看到门禁响应消息 |
| HMAC 校验失败 | 拥有 userId 但 userHash 无效 | 被视为匿名——看到门禁响应 |
在没有配置
identity_secret 的情况下,任何传给 identify() 的 userId/email 都会不经校验地被视为已认证——访客可以在浏览器控制台里自行声明身份并解锁受限主题。请设置 identity_secret 并传入 userHash,让认证变得可验证;参见 身份校验(HMAC)。上表中的「HMAC 校验失败」一行仅在设置了 identity_secret 时适用。内容门禁在 AI 指令层面起作用。当匿名用户询问受限主题时,AI 会被指示以您的自定义消息作答。非受限主题对所有人都正常回答。
内容门禁是 尽力而为 的机制,并非加密级别的访问控制。对于个别边缘情况的问题,AI 偶尔可能给出部分答案。若需严格的数据安全,请考虑将敏感内容完全分离到另一个 agent 中。
身份要求#
要让内容门禁生效,您需要在初始化挂件时传递用户身份。这里是一个最小示例:
带身份的挂件初始化html
<!-- 对于已认证用户 -->
<script>
Respondo.init({ agentId: 'YOUR_AGENT_ID' });
Respondo.identify({
userId: 'user-123',
email: 'user@example.com',
userHash: 'HMAC_SHA256_HASH' // 若设置了 identity_secret 则必填
});
</script>
<!-- 对于匿名访客——只需 init,不调用 identify -->
<script>
Respondo.init({ agentId: 'YOUR_AGENT_ID' });
// 不调用 identify()——用户为匿名,受限主题将被限制
</script>关于 HMAC 校验的设置,请参见 身份验证(HMAC)。
内容门禁与「应回避主题」的对比
应回避主题(Topics to Avoid) 会对所有用户屏蔽相关主题——无论是认证还是匿名用户。用它来处理 agent 永远不应讨论的主题(例如竞品对比、法律建议)。
内容门禁(Content Gate) 只对匿名用户屏蔽相关主题。认证用户可看到完整答案。用它来处理您愿意与客户分享、但不愿对公众公开的信息(例如定价、内部功能)。