Synthetic Heart

User guide:

  • Quickstart
  • Usage Overview
  • Features
  • Cortex
  • Interfaces
  • Peer SyntH Groups
  • Plugins
  • Plugin Guides
    • Agent
    • AI Diary & Long-Term Memory
    • Auris — Speech-to-Text
    • Bio Manager
    • Blocklist
    • Debrief — Action Intent
    • Emotion Manager
    • Events & Scheduled Messages
    • Facial Expression
    • Gasmask
    • G.R.I.L.L.O. — Background Autonomous Agent
    • Grillo — Chat Observer Beat
    • Grillo — Memory Compaction Beat
    • Grillo — Curiosity Beat
    • Grillo — Diary Consolidation Beat
    • Grillo — Dream Beat
    • Grillo — Growth Beat
    • Grillo — LLM Failure Recovery Beat
    • Grillo — Relationship Beat
    • Grillo — Self-Reflection Beat
    • Grillo — Tag Elaboration Beat
    • Grillo — Temporal Reflection Beat
    • Grillo — History Evaluator (helper)
    • Iris — Vision
    • Mate Engine
    • Memory Search
    • Message Map
    • Message
    • Radio Host Plugin
    • Recent Chats
    • Recon — Agent Intent Evaluator
    • Recon — Channel Resolver
    • Recon — Language Evaluator
    • Recon — Memory Recollector
    • Recon — Tone Evaluator
    • Recon — Video Transcriber
    • Recon — Web Search Evaluator
    • SOUL
    • Time
    • TTS Lip-Sync (legacy)
    • Vox — Text-to-Speech
    • Weather
    • Web Search
      • How it works
      • Configuration
    • Web Search (action)
  • Self-Growth System
  • External Endpoints
  • Auris & Vox — Audio Subsystem
  • Radio — AzuraCast Integration
  • VRM Avatar Animations
  • Animation System
  • WebUI configuration control types
  • SyntH Stage frontend
  • Gemini Live API — SyntH Discord Voice Integration
  • FAQ

Developer guide:

  • Architecture Overview
  • Prompt Pipeline
  • Auto-Response System
  • Chat Interface Instructions
  • Compose / Environment Variables
  • Component Development Guide - Configuration Management
  • Development Components System
  • API Endpoints Reference
  • Agent integration
  • Agentic Runtime 2.0 — Tools & MCP
  • Component Development Pattern - Two-Phase Initialization
  • Two-Phase Initialization Implementation
  • Configuration Management Guide
  • Prompt Engine JSON Prompt
  • Memory Search and Management
  • Changelog
  • Contributing
Synthetic Heart
  • Plugin Guides
  • Web Search
  • View page source

Web Search

Gives Synth real-time access to the internet for factual grounding. When a reply needs up-to-date or external information, Synth can search the web and fetch page content instead of relying only on what the model already knows.

This folder is the implementation package behind the web_search_plugin.py plugin (which exposes the search_current_knowledge action).

How it works

  • search_engine.py — the single implementation of the search backends. SearXNG is the primary engine (self-hosted, privacy-friendly); Tavily is an optional fallback. It also contains the page fetcher, with a per-task FetchCache so the same URL is not downloaded twice in one turn.

  • search_orchestrator.py — a background orchestrator that can run searches outside the normal message lifecycle: it runs several queries concurrently, summarizes results with the Grillo-scope cortex, and wakes Synth via a low-priority beat when results are ready. Task state is persisted in the web_search_tasks table.

Configuration

Key

Purpose

SEARXNG_URL

Base URL of the SearXNG instance to query.

TAVILY_API_KEY

API key enabling the Tavily fallback.

RECON_MAX_RESULTS / RECON_TIMEOUT

Result cap and timeout for searches.

See also the recon_web_search.py Recon contributor, which decides whether a turn needs a web search before this backend is invoked.

Previous Next

© Copyright .

Built with Sphinx using a theme provided by Read the Docs.