文档

内容门禁

对匿名(未认证)挂件访客限制特定主题。身份已验证的认证用户则可看到完整答案。

概览#

内容门禁允许您定义只应与认证用户讨论的主题。当匿名访客询问被门禁的主题时,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) 只对匿名用户屏蔽相关主题。认证用户可看到完整答案。用它来处理您愿意与客户分享、但不愿对公众公开的信息(例如定价、内部功能)。