Skip to content

Web:联网检索 ​

提供 web_search 与 web_fetch 两个工具,由模型按需联网检索、读取网页正文。关注机器人的用户与管理员可用。

配置 ​

yaml
plugins:
  web:
    enabled: true
    provider: searxng
    endpoint: http://searxng:8080
    max_results: 5
    fetch_results: false
字段默认值说明
providersearxng检索后端:searxng 或 deepseek
endpoint空后端地址,searxng 必填;deepseek 留空使用官方地址
api_key空deepseek 必填,与 AI 的密钥相互独立
prompt内置附在检索结果前的说明
empty_prompt内置检索无结果时的提示
languageauto检索语言,如 zh-CN;留空不指定,仅 searxng 生效
max_results5返回的结果条数,1–10
fetch_resultsfalse读取结果的网页正文;searxng 逐条抓取 max_results 条结果,deepseek 在搜索请求中使用 need_content
max_chars6000单次返回的总字符上限
max_bytes1MB单个网页下载上限,支持 KB、MB 等单位;deepseek 不适用
timeout10单次请求超时(秒)
cache_ttl600检索与网页缓存秒数,0 关闭
allow_domains空每行一个域名,非空时仅允许这些域名及其子域名
block_domains空每行一个域名,禁止这些域名及其子域名

使用 ​

  • 对话中提到需要查询的内容或给出链接,模型会自行调用;也可用 /search <问题>、/fetch <链接> 强制。
  • 检索失败或无结果时,模型会如实说明并基于已有知识回答。
  • 检索结果只用于本次请求,不写入聊天历史;来源链接随回复发出。

SearXNG ​

provider: searxng 需启用 JSON 输出,否则会返回 403。在 settings.yml 中:

yaml
search:
  formats:
    - html
    - json

仅供机器人内部访问时,建议关闭或放行 server.limiter,否则机器人请求可能被限流。示例:

yaml
services:
  searxng:
    image: searxng/searxng:latest
    restart: unless-stopped
    volumes:
      - ./searxng:/etc/searxng

DeepSeek ​

使用 DeepSeek 的 Search / Fetch 接口:

yaml
plugins:
  web:
    enabled: true
    provider: deepseek
    api_key: sk-xxx
  • allow_domains 与 block_domains 仍然生效。

安全 ​

  • 网页抓取仅访问公网地址,重定向同样校验,endpoint 不受限。Fake-IP 代理需配置 system.allow_nets。
  • 读取网页或检索后,该轮不再提供发帖、生成图片等有影响的工具。公开服务建议配合 allow_domains。
  • searxng:检索词发往检索后端,链接由本机直接访问。
  • deepseek:检索词与链接均发往 DeepSeek,由其服务器访问。