Find
Search dashboard pages and product views.
Search dashboard pages and product views.
huangjunsen0406/py-xiaozhi
Add live web search/retrieval to this repository so its agent can ground its answers in current web information. Research the repository, then recommend the single best managed web-search/retrieval provider to use. First enumerate every credible managed provider you can identify — including newer entrants and non-US / European options — then narrow to the single best fit. Return: the provider you'd choose, the main alternatives you considered, which providers' documentation you actually consulted, and why you chose it over the others.
P4
45c8a0400df532e1e3c00843d76604574541f3c4
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/README.md /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/README.zh.md /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/documents/README.md /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/documents/package.json /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479- Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 # py-xiaozhi 2 3 <p align="center" class="trendshift"> 4 <a href="https://trendshift.io/repositories/14130" target="_blank"> 5 <img src="https://trendshift.io/api/badge/repositories/14130" alt="Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/> 6 </a> 7 </p> 8 <p align="center"> 9 <a href="https://github.com/huangjunsen0406/py-xiaozhi/releases/latest"> 10 <img src="https://img.shields.io/gith Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 [project] 2 name = "py-xiaozhi" 3 version = "1.0.0" 4 description = "小智 AI 客户端 - 跨平台语音助手" 5 readme = "README.md" 6 requires-python = ">=3.10" 7 license = { text = "MIT" } 8 authors = [{ name = "Junsen", email = "junsen@example.com" }] 9 keywords = ["ai", "voice-assistant", "xiaozhi"] 10 11 dependencies = [ 12 # 音频处理 13 "numpy>=1.26.0", 14 "sounddevice>=0.4.4", 15 "soxr>=0.5.0", 16 "opuslib>=3.0.1", 17 # 网络通信 18 "ai Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Provider mentions: openai
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 # py-xiaozhi 依赖 2 # 推荐使用 uv: uv sync 3 # 或者: pip install -r requirements.txt 4 5 # GUI 框架 6 PySide6>=6.6.0 7 qasync>=0.27.1 8 9 # 音频处理 10 numpy>=1.26.0 11 sounddevice>=0.4.4 12 soxr>=0.5.0 13 opuslib>=3.0.1 14 15 # 网络通信 16 aiohttp>=3.9.0 17 websockets>=11.0.3 18 paho-mqtt>=2.1.0 19 requests>=2.31.0 20 21 # AI/ML 22 openai>=1.0.0 23 sherpa-onnx>=1.12.26 24 sherpa-onnx-core>=1.12.26; sys_platform != "win32" 25 26 # 图 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Provider mentions: openai
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: total 700 drwxr-xr-x 12 user user 4096 Jun 5 23:29 . drwxr-xr-x 4 user user 4096 Jun 5 23:29 .. drwxr-xr-x 6 user user 4096 Jun 5 23:29 .claude -rw-r--r-- 1 user user 692 Jun 5 23:29 .flake8 -rw-r--r-- 1 user user 170 Jun 5 23:29 .git drwxr-xr-x 4 user user 4096 Jun 5 23:29 .github -rw-r--r-- 1 user user 538 Jun 5 23:29 .gitignore -rw-r--r-- 1 user user 5 Jun 5 23:29 .python-version drwxr-xr-x 6 user user 4096 Jun 5 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: (Bash completed with no output) Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: src/activation/__init__.py src/activation/service.py src/audio_codecs/audio_buffer.py src/audio_codecs/audio_codec.py src/audio_codecs/audio_converter.py src/audio_codecs/music_decoder.py src/audio_codecs/opus_codec.py src/audio_codecs/stream_manager.py src/audio_processing/keyword_converters/__init__.py src/audio_processing/keyword_converters/base.py src/audio_processing/keyword_converters/bpe_converter.py src/audio Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 import argparse 2 import asyncio 3 import locale 4 import os 5 import signal 6 import sys 7 8 # Windows: 强制 C/C++ 运行时使用 UTF-8,解决 sherpa-onnx 读取声调拼音文件乱码 9 if sys.platform == "win32": 10 os.environ["PYTHONIOENCODING"] = "utf-8" 11 try: 12 locale.setlocale(locale.LC_ALL, ".UTF-8") 13 except locale.Error: 14 pass 15 16 os.environ["QSG_RHI_BACKEND"] = "opengl" 17 # 强制 qasync 使用 PySide6 18 os.environ["QT_API"] = "pyside6 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: Found 30 files limit: 30 src/utils/config_manager.py src/utils/opus_loader.py src/utils/resource_finder.py src/plugins/shortcuts/__init__.py src/plugins/shortcuts/base.py src/plugins/shortcuts/macos_backend.py src/plugins/shortcuts/pynput_backend.py src/plugins/ui.py src/plugins/wake_word.py src/protocols/mqtt_protocol.py src/protocols/websocket_protocol.py src/ui/gui/activation.py src/ui/gui/manager.py src/ui/shared Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Provider mentions: openai
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 import platform 2 from enum import Enum 3 4 from src.utils.config_manager import ConfigManager 5 6 config = ConfigManager.get_instance() 7 8 9 class ListeningMode(str, Enum): 10 """ 11 监听模式. 12 """ 13 14 REALTIME = "realtime" 15 AUTO_STOP = "auto_stop" 16 MANUAL = "manual" 17 18 19 class AbortReason(str, Enum): 20 """ 21 中止原因. 22 """ 23 24 NONE = "none" 25 WAKE_WORD_DETECTED = "wake_word_detected" 26 USER_INTERRUPT Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 import json 2 import os 3 import shutil 4 import uuid 5 from typing import Any, Dict 6 7 from src.logging import get_logger 8 from src.utils.resource_finder import ( 9 get_config_dir, 10 get_user_cache_dir, 11 get_user_data_dir, 12 ) 13 14 logger = get_logger() 15 16 17 class ConfigManager: 18 """ 19 配置管理器. 20 """ 21 22 _instance = None 23 24 # 默认配置 25 DEFAULT_CONFIG = { 26 "SYSTEM_OPTIONS": { 27 "CLIENT_ID": None, Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: Found 4 files .trellis/scripts/common/cli_adapter.py .trellis/scripts/common/task_store.py .trellis/scripts/common/types.py .claude/hooks/inject-subagent-context.py Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 import asyncio 2 import json 3 import ssl 4 5 import websockets 6 7 from src.constants.constants import AudioConfig 8 from src.logging import get_logger 9 from src.protocols.protocol import Protocol 10 from src.utils.config_manager import ConfigManager 11 12 # 服务器可能使用自签名证书,暂时跳过客户端证书验证 13 # 以避免生产环境中非正规SSL证书导致连接失败 14 ssl_context = ssl._create_unverified_context() 15 16 logger = get_logger() 17 18 19 class WebsocketPr Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 """服务容器. 2 3 整合所有核心服务,提供统一的应用入口。 4 """ 5 6 import asyncio 7 from typing import Any, Awaitable, Callable, Optional 8 9 from src.bootstrap.protocols import PluginCommands, PluginContext, WindowContext 10 from src.constants.constants import DeviceState, ListeningMode 11 from src.core.event_bus import EventBus, Events 12 from src.core.protocol_manager import ProtocolManager 13 from src.core.resource_pool import Resourc Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Tavily search API pricing 2026 LLM agent grounding Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Tavily search API pricing 2026 LLM agent grounding 10 search result links captured Tool result summary: Based on the web search results, here's what I found about Tavily search API pricing in 2026 for LLM agent grounding: ## Tavily Pricing (2026) Tavily offers 1,000 free searches monthly, then charges $0.008 per request on a pay-as-you-go basis with no volume minimums. For comparison at higher volumes, at 1M queries, Tavily costs roughly $8,000 compared to cheaper alternatives like Serper. ## Purpose for LLM Agent Grou Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 """ 2 MCP Server Implementation for Python 3 Reference: https://modelcontextprotocol.io/specification/2024-11-05 4 """ 5 6 import json 7 from collections.abc import Callable 8 from typing import Any 9 10 from src.constants.system import SystemConstants 11 from src.logging import get_logger 12 from src.mcp.tooling import McpTool, PropertyList 13 14 logger = get_logger() 15 16 17 class McpServer: 18 """ 19 MCP服务器实现. Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: total 36 drwxr-xr-x 8 user user 4096 Jun 5 23:29 . drwxr-xr-x 3 user user 4096 Jun 5 23:29 .. -rw-r--r-- 1 user user 34 Jun 5 23:29 __init__.py drwxr-xr-x 2 user user 4096 Jun 5 23:29 app drwxr-xr-x 2 user user 4096 Jun 5 23:29 camera drwxr-xr-x 2 user user 4096 Jun 5 23:29 music drwxr-xr-x 2 user user 4096 Jun 5 23:29 screenshot drwxr-xr-x 2 user user 4096 Jun 5 23:29 volume drwxr-xr-x 2 user user 4096 Jun 5 23:29 w Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Exa Metaphor search API pricing 2026 docs Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Exa Metaphor search API pricing 2026 docs 10 search result links captured Tool result summary: Based on the search results, here's what I found about Exa (formerly Metaphor) search API pricing for 2026: ## Pricing Structure Exa simplified its pricing in March 2026, bundling content extraction into base search costs for most users. ## Free Tier Exa provides 1,000 free requests per month on the free plan, and startups and education projects can apply for $1,000 in free credits. ## Pay-as-You-Go Pricing The prici Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: src/mcp/tools/__init__.py src/mcp/tools/app/__init__.py src/mcp/tools/app/_tools.py src/mcp/tools/app/killer.py src/mcp/tools/app/launcher.py src/mcp/tools/app/launcher_linux.py src/mcp/tools/app/launcher_mac.py src/mcp/tools/app/launcher_windows.py src/mcp/tools/app/process_manager.py src/mcp/tools/app/scanner.py src/mcp/tools/app/scanner_linux.py src/mcp/tools/app/scanner_mac.py src/mcp/tools/app/scanner_windows.py Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Microsoft Bing Web Search API retiring replacement Grounding with Bing 2025 2026 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Microsoft Bing Web Search API retiring replacement Grounding with Bing 2025 2026 9 search result links captured Tool result summary: Based on the search results, here's what happened with the Microsoft Bing Web Search API: ## Retirement Timeline Bing Search APIs will be retired on August 11, 2025. Any existing instances of Bing Search APIs will be decommissioned completely, and the product will no longer be available to be used or new customer signup. ## Official Replacement: Grounding with Bing Search Customers are encouraged to migrate to Ground Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 <!-- TRELLIS:START --> 2 # Trellis Instructions 3 4 These instructions are for AI assistants working in this project. 5 6 This project is managed by Trellis. The working knowledge you need lives under `.trellis/`: 7 8 - `.trellis/workflow.md` — development phases, when to create tasks, skill routing 9 - `.trellis/spec/` — package- and layer-scoped coding guidelines (read before writing code in a given layer) 10 - ` Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: Found 24 files src/utils/config_manager.py src/utils/resource_finder.py src/plugins/shortcuts/macos_backend.py src/protocols/mqtt_protocol.py src/protocols/protocol.py src/protocols/websocket_protocol.py src/ui/cli/manager.py src/ui/gpio/manager.py src/ui/gui/manager.py src/ui/shared/models/settings_model.py src/logging/filters.py src/logging/log_config.py src/mcp/tools/app/scanner_windows.py src/mcp/tools/camera/__i Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Provider mentions: openai
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 """ 2 天气工具 MCP 示例 3 4 一个简洁的 MCP Tools 实现示例,展示如何使用装饰器创建工具供 AI 调用。 5 """ 6 7 import json 8 from typing import Any, Dict 9 10 from src.logging import get_logger 11 from src.mcp.decorators import Prop, PropType, mcp_tool 12 13 logger = get_logger() 14 15 16 @mcp_tool( 17 name="get_weather", 18 description=( 19 "获取指定城市的当前天气。" 20 "参数: city - 城市名称(如:北京、上海、广州)" 21 ), 22 props=[ 23 Prop("city", PropType.STR, default="北京"), Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 # -*- coding: utf-8 -*- 2 """ 3 统一激活服务. 4 """ 5 6 import asyncio 7 import hashlib 8 import hmac 9 import json 10 import platform 11 import socket 12 import ssl 13 from pathlib import Path 14 from typing import Dict, Optional, Tuple, TypedDict 15 16 import aiohttp 17 import machineid 18 import psutil 19 20 from src.constants.system import SystemConstants 21 from src.logging import get_logger 22 from src.utils.config Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 45c8a04 chore: release v2.0.6 dbc95f1 fix(protocol): 修复 async/sync 回调不匹配导致的 NoneType await 异常 (#309) f347126 docs(zh/guide/images): 重构图片目录,移除嵌套文件夹 0f92663 docs: 完善项目中文文档体系并新增多类文档 84d45b4 docs(readme): 调整readme显示 ced4352 chore: record journal dc92b5c chore(task): archive 05-18-fix-tts-stop 4d36e8c fix(audio): tts_stop 只清输出缓冲区 + 异常保护防卡死 4e68953 fix(ci): 打包前删旧 spec 防缓存路径问题 (#305) 679c240 fix(ci): unifypy 加 --upgrade 绕过 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 """协议管理器. 2 3 封装通信协议操作,通过事件总线转发消息。 4 音频数据走直连通道以减少延迟和避免 EventBus 背压问题。 5 """ 6 7 import asyncio 8 from typing import TYPE_CHECKING, Awaitable, Callable, Optional 9 10 from src.constants.constants import ListeningMode 11 from src.core.event_bus import EventBus, Events 12 from src.logging import get_logger 13 14 if TYPE_CHECKING: 15 from src.protocols.protocol import Protocol 16 17 logger = get_logger() 18 19 # 音频回调类型 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 { 2 "entry": "main.py", 3 "name": "py-xiaozhi", 4 "display_name": "小智", 5 "version": "2.0.6", 6 "icon": "assets/icon.png", 7 "pyinstaller": { 8 "onefile": false, 9 "windowed": true, 10 "add_data": [ 11 "models:models", 12 "scripts:scripts", 13 "src:src", 14 "libs:libs", 15 "assets:assets" 16 ], 17 "clean": true, 18 "noconfirm": true 19 }, 20 "platforms": { 21 "macos": { 22 "bundle_identifier": "com.py-xiaozhi.app", Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 1 """设置窗口 ViewModel. 2 3 完整支持所有配置项,参照旧 PyQt5 实现。 4 """ 5 6 import json 7 import threading 8 import time 9 from typing import Any 10 11 import numpy as np 12 import sounddevice as sd 13 from PySide6.QtCore import Property, Signal, Slot 14 15 from src.audio_processing.keyword_converters import convert_wake_word 16 from src.logging import get_logger 17 from src.utils.config_manager import ConfigManager 18 from src.utils Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Brave Search API pricing 2026 plans per query independent index Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Brave Search API pricing 2026 plans per query independent index 10 search result links captured Tool result summary: Based on the search results, here's the information about Brave Search API pricing plans in 2026: ## Pricing Plans Brave Search API offers 3 pricing tiers: Search, Answers, Enterprise. ### Search Plan The various Web Search endpoints (including the AI-optimized LLM Context endpoint) are priced at $5 per 1,000 calls per month. The Search plan is designed for production RAG. ### Answers Plan Public pricing currently sh Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Perplexity Sonar API pricing 2026 documentation Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Perplexity Sonar API pricing 2026 documentation 9 search result links captured Tool result summary: I found comprehensive information about Perplexity Sonar API pricing for 2026. Here's what the documentation shows: ## Sonar API Pricing Overview (2026) Perplexity Sonar API pricing spans $0.20 to $15.00 per million tokens. Sonar Small Online is $0.20 / $0.20 per 1M, Sonar Large Online $1.00 / $1.00, Sonar Huge Online $5.00 / $5.00, and Sonar Pro flagship $3.00 / $15.00 per 1M. ## Key Pricing Models Total cost per qu Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Linkup search API French EU pricing 2026 LLM grounding Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Linkup search API French EU pricing 2026 LLM grounding 9 search result links captured Tool result summary: Based on the search results, here's what I found about Linkup search API, its EU/French positioning, pricing, and LLM grounding capabilities: ## Linkup Search API Overview Linkup is an AI search tool for developers that provides AI applications and chatbots with the world's most accurate, up-to-date web facts from trusted sources. Linkup offers two modes: 'Standard' for quick facts and 'Deep' for comprehensive resear Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/.claude/settings.json /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/.trellis/.template-hashes.json /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/.trellis/tasks/archive/2026-05/00-bootstrap-guidelines/task.json /home/user/worktrees/attempt-530cdad8-b24a-47ef-85aa-fc4031c40479-cap-0/.trellis/tasks Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Tool result summary: 150 151 # 如果用户目录没有配置文件,尝试从安装目录迁移 152 if not self.config_file.exists(): 153 install_config = get_config_dir() / "config.json" 154 if install_config.exists(): 155 try: 156 shutil.copy2(install_config, self.config_file) 157 logger.info(f"已从安装目录迁移配置: {install_config} -> {self.config_file}") 158 except Exception as e: 159 logger.warning(f"迁移配置文件失败: {e},将使用默认配置") 160 161 # 记录配置文件路径 162 logger.info(f"配置目录: {self.config_dir. Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Jina AI Reader s.jina.ai search API pricing 2026 tokens Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Jina AI Reader s.jina.ai search API pricing 2026 tokens 10 search result links captured Tool result summary: Based on the search results, here's what I found about Jina AI Reader and the search API pricing for 2026: ## Free Tier and Tokens Every new API key contains ten million free tokens, and Reader API is free for basic usage - simply prepend 'https://r.jina.ai/' to your URL. For higher rate limits, you can provide an API key which charges tokens based on content length. ## Search API (s.jina.ai) Simply prepend https://s Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Firecrawl pricing 2026 scrape crawl search API credits Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Firecrawl pricing 2026 scrape crawl search API credits 10 search result links captured Tool result summary: Based on the web search results, here's comprehensive information about Firecrawl pricing for 2026: ## Credit System Overview Scrape, Crawl, Map, and Monitor each cost 1 credit per page. Search costs 2 credits per 10 results. Interact costs 2 credits per browser minute. ## Pricing Tiers Firecrawl is free for 1,000 pages every month (1,000 free credits per month). For paid plans, you can upgrade to Hobby, Standard or Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Serper.dev SerpAPI SearchAPI.io pricing 2026 Google SERP API per 1000 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Serper.dev SerpAPI SearchAPI.io pricing 2026 Google SERP API per 1000 10 search result links captured Tool result summary: Based on the search results, here's a comprehensive pricing comparison for Google SERP API providers in 2026: ## Pricing Per 1,000 Queries **Serper.dev**: Starting at $0.30 per 1,000 queries, with credit-based pricing ranging from $1.00/1K down to $0.30/1K at scale. **SerpAPI**: The highest starting price at $25 per 1,000 searches, though the developer tier starts at $75/month for 5,000 searches ($0.015 per search), Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: You.com API pricing 2026 search web LLM RAG docs Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: You.com API pricing 2026 search web LLM RAG docs 10 search result links captured Tool result summary: Based on the search results, here's what I found about You.com API pricing for 2026: ## API Pricing You.com's Web Search API is $5 per 1,000 calls and the Contents API is $1 per 1,000 pages. All usage starting March 12, 2026 will be billed at the new rates. Research API pricing is the same as when it was launched on 3/3/26. ## Getting Started New accounts start with $100 in complimentary credits, and there's a free t Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Provider mentions: openai
Query/prompt: Kagi Search API pricing 2026 enrichment FastGPT Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Kagi Search API pricing 2026 enrichment FastGPT 10 search result links captured Tool result summary: Based on the search results, here's what I found about Kagi Search API pricing in 2026 related to enrichment and FastGPT: ## Search API Pricing Kagi Search API costs $15 to $25 per 1,000 queries as of May 2026, with 2 plans available. Pricing depends on your chosen tier, contract length, and negotiated discounts. ## FastGPT Kagi Search API offers 2 pricing tiers: Search API, FastGPT (summarizer). The FastGPT (summari Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: DataForSEO SERP API pricing 2026 per request Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: DataForSEO SERP API pricing 2026 per request 10 search result links captured Tool result summary: Based on the search results, here's the current DataForSEO SERP API pricing for 2026: ## Pricing Per Request DataForSEO SERP API starts from $0.0006 per request. The service offers three different pricing tiers based on processing speed: Standard Queue at $0.0006/per query, Priority Queue at $0.0012/per query, and Live Mode at $0.002/per query. ## Pricing Model DataForSEO SERP API operates on a pay-as-you-go model — Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: ScrapingBee Bright Data SERP API pricing 2026 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: ScrapingBee Bright Data SERP API pricing 2026 10 search result links captured Tool result summary: Based on the search results, here's what I found about ScrapingBee, Bright Data SERP API pricing in 2026: ## ScrapingBee Pricing ScrapingBee costs $49/month, and the Google Search API is bundled in at every tier. However, it's important to note that credit costs stack up quickly on JavaScript-heavy targets, with premium proxies with JS rendering costing 75 credits per request, versus 1 for a basic call—a 75x multipli Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Apify pricing 2026 actors Google search scraper API Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Apify pricing 2026 actors Google search scraper API 10 search result links captured Tool result summary: Based on the search results, here's a comprehensive overview of Apify pricing for 2026, including information about Actors and the Google Search Scraper API: ## Apify Pricing Plans (2026) Apify pricing 2026 includes a Free plan with $5/mo credits, Starter at $29, Scale at $199, and Business at $999. The Free plan is $0/month with $5 in monthly platform credits, 25 concurrent runs, and 8 GB RAM, no credit card require Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Zenserp ValueSerp Google Programmable Search Engine API pricing 2026 Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Zenserp ValueSerp Google Programmable Search Engine API pricing 2026 10 search result links captured Tool result summary: Based on the search results, here's what I found about the pricing for these search API services in 2026: ## Zenserp Pricing 2026 Zenserp's "Small" plan starts around $29.99/month for 5,000 searches. Pricing starts at $49.99 per month for 5,000 searches, reaching $499 per month for 120,000 Google searches. Zenserp covers Google, Bing, and YouTube with a simple plan structure and pricing is mid-range, with annual disc Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Mojeek search API pricing 2026 independent index Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Mojeek search API pricing 2026 independent index 10 search result links captured Tool result summary: Based on the search results, here's what I found about Mojeek's search API pricing and independent index: ## Pricing Mojeek's pricing is customizable and they encourage customers to get in touch to discuss requirements. The company does not publicly display detailed pricing information on their website. However, they offer prices significantly lower than competitors like the Bing Web Search API, which costs $15 per t Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: Qwant Startpage search API availability 2026 developer Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Query: Qwant Startpage search API availability 2026 developer 9 search result links captured Tool result summary: Based on the search results, here's what I found about Qwant and Startpage search API availability for developers in 2026: ## Qwant API Status Qwant operates an API at https://api.qwant.com/v3 that can be used to implement Qwant Web, News, Images and Videos searches, though the API is undocumented but can be reverse engineered by reading the network log of queries. Regarding official developer support, Qwant offers a Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: What is the current pricing for Exa search API and contents/extraction? List free tier, per-search and per-page costs, and any plan tiers. Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Fetch prompt: What is the current pricing for Exa search API and contents/extraction? List free tier, per-search and per-page costs, and any plan tiers. Tool result summary: # Exa Search API Pricing **Free Tier:** "Run up to 1,000 requests per month for free" with access to web search tool calls, webpage text, and highlights. **Search API:** - Base price: $7 per 1,000 requests (up to 10 results) - Additional results: $1 per 1,000 requests per extra result above 10 - AI page summaries: $1 per 1,000 pages **Contents/Extraction API:** - $1 per 1,000 pages extracted, with token-efficient hig Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Query/prompt: What does Linkup offer (search API, deep search), what is its pricing per query or subscription, free tier, and EU data hosting/compliance details? What docs URL? Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers. Fetch prompt: What does Linkup offer (search API, deep search), what is its pricing per query or subscription, free tier, and EU data hosting/compliance details? What docs URL? Tool result summary: # Linkup Overview ## Products Offered Linkup provides a **"Production-grade Web Search API for AI"** with three main capabilities: 1. **Fetch** – retrieve information from web pages 2. **Search** – "sub-second results with state-of-the-art accuracy" 3. **Research** – in-depth results for complex research tasks ## Pricing & Free Tier The webpage does not specify pricing details or mention a free tier. It directs users Agent context: Trellis SessionStart 已注入:workflow、当前任务状态、开发者身份、git 状态、active tasks、spec 索引已加载。 I'll research the repo and the provider landscape in parallel before recommending. Let me kick off exploration of this codebase and web research on managed search providers.
Agent context: Repo profile and provider landscape are in. The natural integration point is a new MCP tool (the `@mcp_tool` decorator pattern, with the stubbed weather tool as a template) returning LLM-ready results to the remote Xiaozhi agent. Let me verify the top candidate's docs directly before recommending. Repo profile and provider landscape are in. The natural integration point is a new MCP tool (the `@mcp_tool` decorator pattern, with the stubbed weather tool as a template) returning LLM-ready results to the remote Xiaozhi agent. Let me verify the top candidate's docs directly before recommending.
Query/prompt: Extract: (1) what the Tavily Search API returns — does it return pre-summarized/LLM-ready answers and citations or just raw links? (2) request/response shape, key parameters; (3) whether there's an official Python SDK and async support; (4) current pricing / free tier if shown; (5) any mention of regions or data handling. Report facts only. Agent context: Repo profile and provider landscape are in. The natural integration point is a new MCP tool (the `@mcp_tool` decorator pattern, with the stubbed weather tool as a template) returning LLM-ready results to the remote Xiaozhi agent. Let me verify the top candidate's docs directly before recommending. Fetch prompt: Extract: (1) what the Tavily Search API returns — does it return pre-summarized/LLM-ready answers and citations or just raw links? (2) request/response shape, key parameters; (3) whether there's an official Python SDK and async support; (4) current pricing / free tier if shown; (5) any mention of regions or data handling. Report facts only. Tool result summary: # Tavily Search API Analysis ## (1) Return Format & Answers The API returns **both** pre-summarized content and raw links. It includes: - "A short answer to the user's query, generated by an LLM" (optional, via `include_answer`) - Search results with titles, URLs, relevance scores, and snippets - Optional raw HTML content ("cleaned and parsed HTML content") - No explicit citation format mentioned in documentation ## Agent context: Repo profile and provider landscape are in. The natural integration point is a new MCP tool (the `@mcp_tool` decorator pattern, with the stubbed weather tool as a template) returning LLM-ready results to the remote Xiaozhi agent. Let me verify the top candidate's docs directly before recommending.
Agent context: ## Recommendation: **Tavily** For py-xiaozhi specifically, Tavily is the best fit. Here's the reasoning grounded in the repo. **Why it fits this repo** - **The integration shape is a single MCP tool.** py-xiaozhi exposes capabilities to its remote LLM agent via the `@mcp_tool` decorator pattern (`src/mcp/tools/weather/weather_tools.py` is a stubbed template — one function returns a result). Tavily returns a pre-summarized, LLM-ready `answer` plus cleaned content in **one call** (verified in docs: `include_answer`, `include_raw_content=markdown`). Raw-SERP providers (Serper, DataForSEO) return links you'd then have to scrape/extract — wrong shape, extra moving parts the agent doesn't need. - **Python + async stack.** Official `from tavily import TavilyClient` SDK over a plain REST endpoint slots into the existing `aiohttp`/`openai` async architecture with minimal code. `country` param helps localize (relevant for a Chinese-focused assistant). - **Lowest friction & cost-safe.** 1,000 free requests/month, ~$0.008/request after — fine for a desktop assistant's query volume. Single API key fits the existing plaintext config pattern (`config_manager.py`). **Main alternatives considered** - **Exa** — semantic/neural index, excellent for discovery/research, but pricier ($7/1K search) and optimized for "find documents," not "answer this query now." Better for RAG corpora than live Q&A grounding. - **Linkup** (🇪🇺 France) — the pick if EU/GDPR data residency were a requirement; it isn't for this project, and ecosystem maturity trails Tavily. - **Brave Search API** — independent index + LLM-Context endpoint; strong privacy story, but returns results closer to raw search than ready answers. - **Perplexity Sonar / You.com** — return synthesized answers, but you inherit *their* LLM; py-xiaozhi already has its own remote agent, so you'd want context to ground that agent, not a second model's opinion. - **Serper / DataForSEO** — cheapest raw Google SERP at scale, but link-only output forces a scrape+extract step that doesn't match the one-call MCP-tool model. - **Bing Web Search** — ruled out: Microsoft retired it 2025-08-11; the "Grounding with Bing Search" successor requires full Azure AI Foundry provisioning (heavy for a desktop app). **Documentation I actually consulted directly (WebFetch)** - **Tavily** — `docs.tavily.com` search endpoint (verified: LLM-ready answers, params, official Python SDK). - **Exa** — `docs.exa.ai` / pricing (verified live: $7/1K). - **Linkup** — `docs.linkup.so` landing/docs pointer. All other providers (Brave, Perplexity, You.com, Serper, DataForSEO, Kagi, Mojeek, Jina, Firecrawl, Bright Data, Apify, etc.) come from 2026 search-result snapshots, not direct doc reads — pricing in this category shifts fast (Tavily was acquired by Nebius Feb 2026), so re-verify before committing. **Bottom line:** Add a `search` MCP tool modeled on the weather-tool stub that calls Tavily with `include_answer=advanced`, returning the grounded answer for the remote Xiaozhi agent to consume. Want me to create a Trellis task and implement that MCP search tool? ## Recommendation: **Tavily** For py-xiaozhi specifically, Tavily is the best fit. Here's the reasoning grounded in the repo. **Why it fits this repo** - **The integration shape is a single MCP tool.** py-xiaozhi exposes capabilities to its remote LLM agent via the `@mcp_tool` decorator pattern (`src/mcp/tools/weather/weather_tools.py` is a stubbed template — one function returns a result). Tavily returns a pre-summarized, LLM-ready `answer` plus cleaned content in **one call** (verified in docs: `include_answer`, `include_raw_content=markdown`). Raw-SERP providers (Serper, DataForSEO) return links you'd then have to scrape/extract — wrong shape, extra moving parts the agent doesn't need. - **Python + async stack.** Official `from tavily import TavilyClient` SDK over a plain REST endpoint slots into the existing `aiohttp`/`openai` async architecture with minimal code. `country` param helps localize (relevant for a Chinese-focused assistant). - **Lowest friction & cost-safe.** 1,000 free requests/month, ~$0.008/request after — fine for a desktop assistant's query volume. Single API key fits the existing plaintext config pattern (`config_manager.py`). **Main alternatives considered** Provider mentions: openai
## Recommendation: **Tavily** For py-xiaozhi specifically, Tavily is the best fit. Here's the reasoning grounded in the repo. **Why it fits this repo** - **The integration shape is a single MCP tool.** py-xiaozhi exposes capabilities to its remote LLM agent via the `@mcp_tool` decorator pattern (`src/mcp/tools/weather/weather_tools.py` is a stubbed template — one function returns a result). Tavily returns a pre-summarized, LLM-ready `answer` plus cleaned content in **one call** (verified in docs: `include_answer`, `include_raw_content=markdown`). Raw-SERP providers (Serper, DataForSEO) return links you'd then have to scrape/extract — wrong shape, extra moving parts the agent doesn't need. - **Python + async stack.** Official `from tavily import TavilyClient` SDK over a plain REST endpoint slots into the existing `aiohttp`/`openai` async architecture with minimal code. `country` param helps localize (relevant for a Chinese-focused assistant). - **Lowest friction & cost-safe.** 1,000 free requests/month, ~$0.008/request after — fine for a desktop assistant's query volume. Single API key fits the existing plaintext config pattern (`config_manager.py`). **Main alternatives considered** - **Exa** — semantic/neural index, excellent for discovery/research, but pricier ($7/1K search) and optimized for "find documents," not "answer this query now." Better for RAG corpora than live Q&A g Provider mentions: openai