互客鱼 返回主站

构建您的智能体

自动索引访问页面

自动索引是每个智能体的开关,随着访客浏览您的网站,自动增长您的知识库。 当访客登陆代理从未见过的页面时,该页面会进入爬取队列 — 静默地,在后台。

如何启用

打开智能体的设置页面(/app/agents/{id}/settings)并 翻转 自动索引访问的页面。更改立即生效 — 此开关没有单独的发布步骤。

它做什么

在每次 /v1/widget/init 调用时,在智能体通过来源和配额检查后, AutoIndexPageVisit::attempt() 运行七个守卫链。所有七个都必须通过 才能排队爬取:

  1. 智能体有 auto_index_visited_pages = true
  2. 页面 URL 是有效的 http/https URL。
  3. 主机不是私有的 — RFC1918(10.x172.16-31.x192.168.x)、回环(localhost127.x::1)、链路本地(169.254.xfe80:)、0.x、IPv6 ULA(fc00:)和 .local / .internal 域被阻止。
  4. 路径看起来不私有 — /admin/login/checkout/profile/account/settings/cart/api 被跳过。
  5. URL 尚未为此智能体索引。
  6. 我们在速率限制下 — 每个智能体每小时 30 次爬取,在 Redis 中跟踪。
  7. 访客的实际 Origin 头与智能体的 allowed_origins 匹配(或者当 allowed_origins 为 * 时与页面 URL 的来源匹配)。

如果一切都通过,我们懒创建 type=auto 源并在 crawl 队列上分发 CrawlPageJob。访客的请求立即返回 — 自动索引永远不会 阻塞热路径。

它跳过什么

路径阻止列表存在是因为经过身份验证的页面很嘈杂且索引有风险 — 登录的 /profile/account/orders 页面将访客数据 泄露到您的知识库中。完整列表位于 AutoIndexPageVisit::SKIP_PATH_PATTERNS(不区分大小写, 匹配带有可选尾随斜杠的路径段):

  • /account/my-account/profile/settings
  • /admin
  • /login/signin/signup/register/logout/auth/password
  • /checkout/cart/order/orders
不要索引登录表面
如果您的应用的 auth-gated 页面位于不寻常的路径下(例如 /portal/customer),默认阻止列表不会捕获它们。 禁用自动索引,或预先列出您想要爬取的确切公共 URL 并完全跳过开关。

速率限制

每个智能体每小时 30 次爬取上限是一个令牌桶,在 Redis 中键为 auto-index:agent:{id}:hour:{YmdH}。如果您网站上的热门页面 受到猛烈攻击,限制将快速节流,但正常流量模式很少达到它。

索引什么

自动索引的页面成为 type=auto 源。它们出现在常规的 列表中,带有一个小的“auto”药丸,以便您可以看到 什么被拾取。您可以像任何其他源一样预览、重新索引或删除它们。

自动源的标题是页面 <title>(如果可用),否则是 URL。 基于路径的去重意味着同一 URL 爬取两次不会创建两个源。

禁用和修剪

关闭开关,不会排队新页面,但现有自动源保留。要清理它们,按 type = auto 过滤源列表并批量删除。