feat(agents): consolidate connectors under mcp_discovery; route web search through google_search

MCP consolidation:
- Route all MCP-capable connectors (Slack, Jira, Linear, ClickUp, Airtable,
  Notion, Confluence, interim Gmail/Calendar, custom MCP) through a single
  `mcp_discovery` subagent. Drive/OneDrive/Dropbox stay native to enrich the KB.
- Deprecate Discord/Teams/Luma: no viable official MCP server.

Google-only web search:
- Remove the main-agent `web_search` tool and the SearXNG platform service;
  all public web search now flows through the `google_search` subagent via task().
- Deprecate the Tavily/SearXNG/Linkup/Baidu search connectors (HTTP 410 on
  create, "Deprecated" badge); guide heavy users to the custom MCP connector.
- Remove web search from anonymous chat (pure Q&A).
- Tear SearXNG out of docker compose + install scripts; drop tavily-python
  and linkup-sdk deps and their config/env vars.

Fix:
- metrics._package_version() now swallows any metadata lookup failure. A
  malformed editable-install distribution with no `Version` field raised
  KeyError deep in importlib.metadata, and since it runs on every
  record_subagent_invoke_duration call it was crashing every task()
  delegation. Verified end-to-end against live GPT-5.4.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
DESKTOP-RTLN3BA\$punk 2026-07-04 21:06:04 -07:00
parent ff2e5f390f
commit ab747e7a49
206 changed files with 1704 additions and 7223 deletions

View file

@ -336,7 +336,6 @@
"add_connector": {
"title": "Connect Your Tools",
"subtitle": "Integrate with your favorite services to enhance your research capabilities.",
"web_search": "Web Search",
"messaging": "Messaging",
"project_management": "Project Management",
"documentation": "Documentation",
@ -759,27 +758,7 @@
"general_reset": "Reset Changes",
"general_save": "Save Changes",
"general_saving": "Saving",
"general_unsaved_changes": "You have unsaved changes. Click \"Save Changes\" to apply them.",
"nav_web_search": "Web Search",
"nav_web_search_desc": "Built-in web search settings",
"web_search_title": "Web Search",
"web_search_description": "Web search is powered by a built-in SearXNG instance. All queries are proxied through your server — no data is sent to third parties.",
"web_search_enabled_label": "Enable Web Search",
"web_search_enabled_description": "When enabled, the AI agent can search the web for real-time information like news, prices, and current events.",
"web_search_status_healthy": "Web search service is healthy",
"web_search_status_unhealthy": "Web search service is unavailable",
"web_search_status_not_configured": "Web search service is not configured",
"web_search_engines_label": "Search Engines",
"web_search_engines_placeholder": "google,brave,duckduckgo",
"web_search_engines_description": "Comma-separated list of SearXNG engines to use. Leave empty for defaults.",
"web_search_language_label": "Preferred Language",
"web_search_language_placeholder": "en",
"web_search_language_description": "IETF language tag (e.g. en, en-US). Leave empty for auto-detect.",
"web_search_safesearch_label": "SafeSearch Level",
"web_search_safesearch_description": "0 = off, 1 = moderate, 2 = strict",
"web_search_save": "Save Web Search Settings",
"web_search_saving": "Saving...",
"web_search_saved": "Web search settings saved"
"general_unsaved_changes": "You have unsaved changes. Click \"Save Changes\" to apply them."
},
"homepage": {
"hero_title_part1": "The AI Workspace",

View file

@ -336,7 +336,6 @@
"add_connector": {
"title": "Conecta tus herramientas",
"subtitle": "Integra con tus servicios favoritos para mejorar tus capacidades de investigación.",
"web_search": "Búsqueda web",
"messaging": "Mensajería",
"project_management": "Gestión de proyectos",
"documentation": "Documentación",
@ -759,27 +758,7 @@
"general_reset": "Restablecer cambios",
"general_save": "Guardar cambios",
"general_saving": "Guardando",
"general_unsaved_changes": "Tienes cambios sin guardar. Haz clic en \"Guardar cambios\" para aplicarlos.",
"nav_web_search": "Búsqueda web",
"nav_web_search_desc": "Configuración de búsqueda web integrada",
"web_search_title": "Búsqueda web",
"web_search_description": "La búsqueda web funciona con una instancia SearXNG integrada. Todas las consultas se procesan a través de tu servidor; no se envían datos a terceros.",
"web_search_enabled_label": "Activar búsqueda web",
"web_search_enabled_description": "Cuando está activada, el agente de IA puede buscar en la web información en tiempo real como noticias, precios y eventos actuales.",
"web_search_status_healthy": "El servicio de búsqueda web está funcionando",
"web_search_status_unhealthy": "El servicio de búsqueda web no está disponible",
"web_search_status_not_configured": "El servicio de búsqueda web no está configurado",
"web_search_engines_label": "Motores de búsqueda",
"web_search_engines_placeholder": "google,brave,duckduckgo",
"web_search_engines_description": "Lista separada por comas de motores SearXNG a usar. Déjalo vacío para usar los valores predeterminados.",
"web_search_language_label": "Idioma preferido",
"web_search_language_placeholder": "es",
"web_search_language_description": "Etiqueta de idioma IETF (por ejemplo, es, es-ES). Déjalo vacío para detección automática.",
"web_search_safesearch_label": "Nivel de SafeSearch",
"web_search_safesearch_description": "0 = desactivado, 1 = moderado, 2 = estricto",
"web_search_save": "Guardar configuración de búsqueda web",
"web_search_saving": "Guardando...",
"web_search_saved": "Configuración de búsqueda web guardada"
"general_unsaved_changes": "Tienes cambios sin guardar. Haz clic en \"Guardar cambios\" para aplicarlos."
},
"homepage": {
"hero_title_part1": "El espacio de trabajo con IA",

View file

@ -336,7 +336,6 @@
"add_connector": {
"title": "अपने टूल कनेक्ट करें",
"subtitle": "अपनी शोध क्षमताओं को बढ़ाने के लिए अपनी पसंदीदा सेवाओं के साथ एकीकृत करें।",
"web_search": "वेब खोज",
"messaging": "मैसेजिंग",
"project_management": "प्रोजेक्ट प्रबंधन",
"documentation": "दस्तावेज़ीकरण",
@ -759,27 +758,7 @@
"general_reset": "परिवर्तन रीसेट करें",
"general_save": "परिवर्तन सहेजें",
"general_saving": "सहेजा जा रहा है",
"general_unsaved_changes": "आपके पास सहेजे नहीं गए परिवर्तन हैं। उन्हें लागू करने के लिए \"परिवर्तन सहेजें\" पर क्लिक करें।",
"nav_web_search": "वेब खोज",
"nav_web_search_desc": "बिल्ट-इन वेब खोज सेटिंग्स",
"web_search_title": "वेब खोज",
"web_search_description": "वेब खोज एक बिल्ट-इन SearXNG इंस्टेंस द्वारा संचालित है। सभी क्वेरी आपके सर्वर के माध्यम से प्रॉक्सी की जाती हैं; कोई डेटा तृतीय पक्षों को नहीं भेजा जाता।",
"web_search_enabled_label": "वेब खोज सक्षम करें",
"web_search_enabled_description": "सक्षम होने पर, AI एजेंट समाचार, कीमतों और वर्तमान घटनाओं जैसी वास्तविक समय की जानकारी के लिए वेब खोज सकता है।",
"web_search_status_healthy": "वेब खोज सेवा स्वस्थ है",
"web_search_status_unhealthy": "वेब खोज सेवा उपलब्ध नहीं है",
"web_search_status_not_configured": "वेब खोज सेवा कॉन्फ़िगर नहीं है",
"web_search_engines_label": "खोज इंजन",
"web_search_engines_placeholder": "google,brave,duckduckgo",
"web_search_engines_description": "उपयोग करने के लिए SearXNG इंजनों की कॉमा-सेपरेटेड सूची। डिफ़ॉल्ट के लिए खाली छोड़ें।",
"web_search_language_label": "पसंदीदा भाषा",
"web_search_language_placeholder": "hi",
"web_search_language_description": "IETF भाषा टैग (जैसे hi, hi-IN)। ऑटो-डिटेक्ट के लिए खाली छोड़ें।",
"web_search_safesearch_label": "SafeSearch स्तर",
"web_search_safesearch_description": "0 = बंद, 1 = मध्यम, 2 = सख्त",
"web_search_save": "वेब खोज सेटिंग्स सहेजें",
"web_search_saving": "सहेजा जा रहा है...",
"web_search_saved": "वेब खोज सेटिंग्स सहेजी गईं"
"general_unsaved_changes": "आपके पास सहेजे नहीं गए परिवर्तन हैं। उन्हें लागू करने के लिए \"परिवर्तन सहेजें\" पर क्लिक करें।"
},
"homepage": {
"hero_title_part1": "AI कार्यक्षेत्र",

View file

@ -336,7 +336,6 @@
"add_connector": {
"title": "Conecte suas ferramentas",
"subtitle": "Integre com seus serviços favoritos para melhorar suas capacidades de pesquisa.",
"web_search": "Pesquisa web",
"messaging": "Mensagens",
"project_management": "Gerenciamento de projetos",
"documentation": "Documentação",
@ -759,27 +758,7 @@
"general_reset": "Redefinir alterações",
"general_save": "Salvar alterações",
"general_saving": "Salvando",
"general_unsaved_changes": "Você tem alterações não salvas. Clique em \"Salvar alterações\" para aplicá-las.",
"nav_web_search": "Pesquisa na web",
"nav_web_search_desc": "Configurações integradas de pesquisa na web",
"web_search_title": "Pesquisa na web",
"web_search_description": "A pesquisa na web é alimentada por uma instância SearXNG integrada. Todas as consultas passam pelo seu servidor; nenhum dado é enviado a terceiros.",
"web_search_enabled_label": "Ativar pesquisa na web",
"web_search_enabled_description": "Quando ativado, o agente de IA pode pesquisar na web informações em tempo real, como notícias, preços e eventos atuais.",
"web_search_status_healthy": "O serviço de pesquisa na web está saudável",
"web_search_status_unhealthy": "O serviço de pesquisa na web está indisponível",
"web_search_status_not_configured": "O serviço de pesquisa na web não está configurado",
"web_search_engines_label": "Mecanismos de pesquisa",
"web_search_engines_placeholder": "google,brave,duckduckgo",
"web_search_engines_description": "Lista separada por vírgulas de mecanismos SearXNG a usar. Deixe vazio para os padrões.",
"web_search_language_label": "Idioma preferido",
"web_search_language_placeholder": "pt",
"web_search_language_description": "Tag de idioma IETF (por exemplo, pt, pt-BR). Deixe vazio para detecção automática.",
"web_search_safesearch_label": "Nível de SafeSearch",
"web_search_safesearch_description": "0 = desativado, 1 = moderado, 2 = rigoroso",
"web_search_save": "Salvar configurações de pesquisa na web",
"web_search_saving": "Salvando...",
"web_search_saved": "Configurações de pesquisa na web salvas"
"general_unsaved_changes": "Você tem alterações não salvas. Clique em \"Salvar alterações\" para aplicá-las."
},
"homepage": {
"hero_title_part1": "O espaço de trabalho com IA",

View file

@ -335,7 +335,6 @@
"add_connector": {
"title": "连接您的工具",
"subtitle": "集成您喜欢的服务以增强研究能力。",
"web_search": "网络搜索",
"messaging": "即时通讯",
"project_management": "项目管理",
"documentation": "文档协作",
@ -758,27 +757,7 @@
"general_reset": "重置更改",
"general_save": "保存更改",
"general_saving": "保存中...",
"general_unsaved_changes": "您有未保存的更改。点击\"保存更改\"以应用它们。",
"nav_web_search": "网页搜索",
"nav_web_search_desc": "内置网页搜索设置",
"web_search_title": "网页搜索",
"web_search_description": "网页搜索由内置 SearXNG 实例提供支持。所有查询都通过您的服务器代理;不会向第三方发送数据。",
"web_search_enabled_label": "启用网页搜索",
"web_search_enabled_description": "启用后AI 代理可以搜索网页以获取新闻、价格和当前事件等实时信息。",
"web_search_status_healthy": "网页搜索服务运行正常",
"web_search_status_unhealthy": "网页搜索服务不可用",
"web_search_status_not_configured": "网页搜索服务未配置",
"web_search_engines_label": "搜索引擎",
"web_search_engines_placeholder": "google,brave,duckduckgo",
"web_search_engines_description": "要使用的 SearXNG 引擎的逗号分隔列表。留空则使用默认值。",
"web_search_language_label": "首选语言",
"web_search_language_placeholder": "zh",
"web_search_language_description": "IETF 语言标签(例如 zh、zh-CN。留空则自动检测。",
"web_search_safesearch_label": "SafeSearch 级别",
"web_search_safesearch_description": "0 = 关闭1 = 中等2 = 严格",
"web_search_save": "保存网页搜索设置",
"web_search_saving": "保存中...",
"web_search_saved": "网页搜索设置已保存"
"general_unsaved_changes": "您有未保存的更改。点击\"保存更改\"以应用它们。"
},
"homepage": {
"hero_title_part1": "AI 工作空间",