构建您的智能体
自动索引访问页面
自动索引是每个智能体的开关,随着访客浏览您的网站,自动增长您的知识库。 当访客登陆代理从未见过的页面时,该页面会进入爬取队列 — 静默地,在后台。
如何启用
打开智能体的设置页面(/app/agents/{id}/settings)并
翻转 自动索引访问的页面。更改立即生效 —
此开关没有单独的发布步骤。
它做什么
在每次 /v1/widget/init 调用时,在智能体通过来源和配额检查后,
AutoIndexPageVisit::attempt() 运行七个守卫链。所有七个都必须通过
才能排队爬取:
- 智能体有
auto_index_visited_pages = true。 - 页面 URL 是有效的 http/https URL。
- 主机不是私有的 — RFC1918(
10.x、172.16-31.x、192.168.x)、回环(localhost、127.x、::1)、链路本地(169.254.x、fe80:)、0.x、IPv6 ULA(fc00:)和.local/.internal域被阻止。 - 路径看起来不私有 —
/admin、/login、/checkout、/profile、/account、/settings、/cart、/api被跳过。 - URL 尚未为此智能体索引。
- 我们在速率限制下 — 每个智能体每小时 30 次爬取,在 Redis 中跟踪。
- 访客的实际
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
/portal、/customer),默认阻止列表不会捕获它们。
禁用自动索引,或预先列出您想要爬取的确切公共 URL 并完全跳过开关。
速率限制
每个智能体每小时 30 次爬取上限是一个令牌桶,在 Redis 中键为
auto-index:agent:{id}:hour:{YmdH}。如果您网站上的热门页面
受到猛烈攻击,限制将快速节流,但正常流量模式很少达到它。
索引什么
自动索引的页面成为 type=auto 源。它们出现在常规的
源 列表中,带有一个小的“auto”药丸,以便您可以看到
什么被拾取。您可以像任何其他源一样预览、重新索引或删除它们。
自动源的标题是页面 <title>(如果可用),否则是 URL。
基于路径的去重意味着同一 URL 爬取两次不会创建两个源。
禁用和修剪
关闭开关,不会排队新页面,但现有自动源保留。要清理它们,按
type = auto 过滤源列表并批量删除。