#La busqueda de Perplexity falla

1 messages · Page 1 of 1 (latest)

tribal nacelle
#

La prueba de búsqueda con Perplexity falló debido a un error 401 (User not found), lo que indica un problema de autenticación o configuración con el servicio.

torn hawkBOT
velvet zenithBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

torn hawkBOT
nova lindenBOT
#

Voy a mirar la parte de auth/config de Perplexity para no inventarme nada.

#

Quiero confirmar si ese “User not found” suele venir de OpenRouter/revive de claves viejas antes de decirlo.

#

Hay un detalle importante que podría explicar justo ese 401: mezcla de pplx-... con modo OpenRouter. Lo confirmo rápido en el código/docs.

#

Sí, eso huele a auth/config.

Primero, ¿qué te devuelve openclaw --version?

Mientras tanto, revisaría esto:

  1. Clave correcta según el modo

    • Perplexity directo: pplx-... en PERPLEXITY_API_KEY o plugins.entries.perplexity.config.webSearch.apiKey
    • OpenRouter/Sonar: sk-or-... en OPENROUTER_API_KEY o en ese mismo campo
  2. No mezclar modos
    Si dejaste baseUrl/model de OpenRouter pero la key es pplx-..., puede acabar en un 401.

  3. Si el gateway corre como servicio, la variable tiene que estar visible para el daemon. Lo más seguro suele ser ~/.openclaw/.env, no solo tu shell.

  4. Comprueba qué proveedor/modo está usando de verdad

#

Eso parece spam/phishing, yo no abriría ese enlace.

Mejor:

  • repórtalo en Discord
  • y que un mod lo borre si hace falta

Si el tema real sigue siendo el 401 de Perplexity, pásame:

  • openclaw --version
  • openclaw infer web providers --json
  • openclaw infer web search --query "test" --json

con la config/key tapada, y lo vemos.

tribal nacelle
#

alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ openclaw infer web providers --json
openclaw infer web search --query "test" --json

Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • auth.profiles.google-keep-oauth: Unrecognized keys: "client_id", "client_secret"

Run: openclaw doctor --fix
Config invalid
File: ~/.openclaw/openclaw.json
Problem:

  • auth.profiles.google-keep-oauth: Unrecognized keys: "client_id", "client_secret"

Run: openclaw doctor --fix

nova lindenBOT
#

Vale, ya apareció el problema real: ni siquiera está llegando a Perplexity, el gateway corta antes por config inválida. Confirmo el arreglo correcto para no hacerte tocar claves a ciegas.

#

Estoy buscando si doctor --fix lo corrige solo o si esa forma de auth.profiles hay que limpiarla a mano, porque no quiero mandarte a un bucle.

#

Perfecto, ya salió el bloqueo real: todavía no está fallando Perplexity, está fallando antes porque tu config es inválida.

El problema es este bloque:

  • auth.profiles.google-keep-oauth

En openclaw.json, auth.profiles es solo metadata/routing. Ahí no van secretos tipo client_id / client_secret, por eso valida mal.

Prueba así:

  1. Ejecuta:

    openclaw doctor --fix
    
  2. Si sigue igual, abre ~/.openclaw/openclaw.json y quita client_id y client_secret de auth.profiles.google-keep-oauth
    (o borra ese perfil entero si ya no lo usas).

#
  1. Luego vuelve a correr:
    openclaw --version
    openclaw infer web providers --json
    openclaw infer web search --query "test" --json
    

Si después de eso sigue el 401, entonces ya sí miramos Perplexity en sí, normalmente:

  • pplx-... = Perplexity directo
  • sk-or-... = OpenRouter

Docs:

Si quieres, pega el bloque auth.profiles.google-keep-oauth sin secretos y te digo exactamente qué sobra.

tribal nacelle
#

alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ openclaw --version
openclaw infer web providers --json
openclaw infer web search --query "test" --json
OpenClaw 2026.4.15 (041266a)
{
"search": [
{
"available": true,
"configured": true,
"selected": false,
"id": "brave",
"envVars": [
"BRAVE_API_KEY"
]
},
{
"available": true,
"configured": true,
"selected": false,
"id": "duckduckgo",
"envVars": []
},
{
"available": true,
"configured": false,
"selected": false,
"id": "exa",
"envVars": [
"EXA_API_KEY"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "firecrawl",
"envVars": [
"FIRECRAWL_API_KEY"
]
},
{
"available": true,
"configured": true,
"selected": false,
"id": "gemini",
"envVars": [
"GEMINI_API_KEY"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "grok",
"envVars": [
"XAI_API_KEY"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "kimi",
"envVars": [
"KIMI_API_KEY",
"MOONSHOT_API_KEY"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "minimax",
"envVars": [
"MINIMAX_CODE_PLAN_KEY",
"MINIMAX_CODING_API_KEY"
]
},
{
"available": true,
"configured": true,
"selected": false,
"id": "ollama",
"envVars": []
},
{
"available": true,
"configured": true,
"selected": true,
"id": "perplexity",
"envVars": [
"PERPLEXITY_API_KEY",
"OPENROUTER_API_KEY"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "searxng",
"envVars": [
"SEARXNG_BASE_URL"
]
},
{
"available": true,
"configured": false,
"selected": false,
"id": "tavily",
"envVars": [
"TAVILY_API_KEY"
]
}
],
"fetch": [
{
"available": true,
"configured": false,
"selected": false,
"id": "firecrawl",
"envVars": [
"FIRECRAWL_API_KEY"
]
}
]
}
Error: Perplexity API error (401): {"error":{"message":"User not found.","code":401}}

nova lindenBOT
#

Ya estamos en el fallo bueno. Voy a mirar una cosa puntual: si Perplexity prioriza OPENROUTER_API_KEY sobre PERPLEXITY_API_KEY, porque eso explicaría un 401 con clave cruzada.

#

Bien, ya está mucho más claro.

  • La versión está bien (2026.4.15)
  • Perplexity sí está seleccionado
  • El fallo que queda es 100% auth/mode mismatch, no de descubrimiento

Mi sospecha fuerte es una de estas:

  1. OPENROUTER_API_KEY está presente y OpenClaw está entrando en modo OpenRouter/Sonar
  2. Tienes restos de baseUrl / model en plugins.entries.perplexity.config.webSearch
  3. La key es del tipo equivocado:
    • pplx-... = Perplexity directo
    • sk-or-... = OpenRouter

Haz esta comprobación, sin pegar secretos:

#
env | grep -E '^(PERPLEXITY_API_KEY|OPENROUTER_API_KEY)=' | sed -E 's/=.*/=<set>/'
grep -nE 'perplexity|OPENROUTER|PERPLEXITY|baseUrl|model' ~/.openclaw/openclaw.json ~/.openclaw/.env 2>/dev/null

Lo correcto es uno u otro, no mezcla:

Opción A: Perplexity directo

  • solo PERPLEXITY_API_KEY
  • la key debe empezar por pplx-
  • sin OPENROUTER_API_KEY
  • sin baseUrl / model

Opción B: OpenRouter / Sonar

  • solo OPENROUTER_API_KEY
  • la key debe empezar por sk-or-
  • si usas config, apiKey también debe ser sk-or-...
#
  • baseUrl / model solo si de verdad quieres esa ruta

Si quieres una prueba rápida, yo haría esto primero:

  • si tu key es pplx-..., prueba quitando temporalmente OPENROUTER_API_KEY y reintenta
  • si tu key es sk-or-..., revisa que no haya una pplx-... metida en plugins.entries.perplexity.config.webSearch.apiKey

Pega aquí la salida redactada de esos dos comandos y te digo exactamente qué está mezclado.

tribal nacelle
#

alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ env | grep -E '^(PERPLEXITY_API_KEY|OPENROUTER_API_KEY)=' | sed -E 's/=.*/=<set>/'
grep -nE 'perplexity|OPENROUTER|PERPLEXITY|baseUrl|model' ~/.openclaw/openclaw.json ~/.openclaw/.env 2>/dev/null
/home/alexifra/.openclaw/openclaw.json:7: "OPENROUTER_API_KEY": "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",
/home/alexifra/.openclaw/openclaw.json:31: "model": {
/home/alexifra/.openclaw/openclaw.json:38: "models": {
/home/alexifra/.openclaw/openclaw.json:65: "provider": "perplexity"
/home/alexifra/.openclaw/openclaw.json:172: "perplexity"
/home/alexifra/.openclaw/openclaw.json:181: "perplexity": {
/home/alexifra/.openclaw/openclaw.json:184: "baseUrl": "http://127.0.0.1:8787"

nova lindenBOT
#

Ah, ya lo vimos, y hay dos problemas.

  1. Has pegado una key real en público.
    Edita o borra ese mensaje y rota esa OpenRouter key ahora mismo. Ya está expuesta.

  2. Tu config de “Perplexity” no está yendo a Perplexity directo.
    Con OPENROUTER_API_KEY presente y plugins.entries.perplexity.config.webSearch.baseUrl apuntando a http://127.0.0.1:8787, OpenClaw está entrando en la ruta de compatibilidad/proxy, no en la Search API nativa. Ese 401 User not found encaja con eso.

Mi recomendación, la más simple

Si lo que quieres es Perplexity directo:

  • quita OPENROUTER_API_KEY del bloque env de ~/.openclaw/openclaw.json
  • quita plugins.entries.perplexity.config.webSearch.baseUrl
  • quita también model si lo tienes dentro de plugins.entries.perplexity.config.webSearch
  • usa PERPLEXITY_API_KEY con una key pplx-...

Luego prueba otra vez:

#
openclaw infer web search --query "test" --json

Si en realidad querías OpenRouter / Sonar

Entonces deja la sk-or-..., pero:

  • o arreglas ese proxy local en 127.0.0.1:8787
  • o cambias baseUrl al endpoint real de OpenRouter

Ahora mismo, esa baseUrl local es la pista más fuerte.

Docs:

Si pegas el bloque plugins.entries.perplexity.config.webSearch redactado, te digo exactamente qué líneas borrar.

tribal nacelle
#

dame el paso a paso para repararlo

nova lindenBOT
#

Sí. Te dejo el paso a paso, con la opción que te recomiendo primero.

Opción recomendada: arreglarlo usando OpenRouter (ya tienes esa key)

0. Urgente: rota la key expuesta

Tu sk-or-... quedó pública en el hilo.
Primero bórrala/edita el mensaje y rota esa key en OpenRouter.
No reutilices la que pegaste.

1. Haz copia de seguridad del config

cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak

2. Abre el config

#
nano ~/.openclaw/openclaw.json

3. Deja el bloque de Perplexity así

Busca plugins.entries.perplexity.config.webSearch.

Quita esto:

  • baseUrl: "http://127.0.0.1:8787" ← este es el problema principal
  • cualquier apiKey vieja que no toque
  • si quieres, también puedes quitar model y dejar que use el default

Déjalo así, por ejemplo:

{
  tools: {
#
    web: {
      search: {
        provider: "perplexity",
      },
    },
  },
  plugins: {
    entries: {
      perplexity: {
        config: {
          webSearch: {
            model: "perplexity/sonar-pro",
          },
        },
      },
#
    },
  },
  env: {
    OPENROUTER_API_KEY: "TU_NUEVA_SK_OR",
  },
}

4. Guarda el archivo

En nano:

  • Ctrl+O
  • Enter
  • Ctrl+X

5. Prueba

#
openclaw infer web providers --json
openclaw infer web search --query "test" --json

Si quedó bien, ya no debería usar 127.0.0.1:8787.


Opción B: cambiar a Perplexity directo

Haz esto solo si tienes una key pplx-....

Cambios

  • elimina OPENROUTER_API_KEY
  • elimina baseUrl
  • elimina model
  • usa PERPLEXITY_API_KEY
#

Ejemplo:

{
  tools: {
    web: {
      search: {
        provider: "perplexity",
      },
    },
  },
  env: {
    PERPLEXITY_API_KEY: "TU_PPLX_KEY",
  },
}
#

Y luego:

openclaw infer web search --query "test" --json

Qué te recomiendo yo

Como ya estabas montado con OpenRouter, haría esto:

  1. rotar key
  2. borrar baseUrl: "http://127.0.0.1:8787"
  3. dejar model: "perplexity/sonar-pro"
  4. poner la nueva OPENROUTER_API_KEY
  5. volver a probar

Docs:

tribal nacelle
nova lindenBOT
#

Sí, esa línea es la culpable. 👍

"baseUrl": "http://127.0.0.1:8787" está forzando la ruta local/proxy.

Haz esto

1. Borra esa línea

Quita:

"baseUrl": "http://127.0.0.1:8787"

2. Déjalo así

Si vas a seguir con OpenRouter, el bloque puede quedar así:

#
"perplexity": {
  "config": {
    "webSearch": {
      "model": "perplexity/sonar-pro"
    }
  }
}

Si no tienes model, también puedes dejar:

"perplexity": {
  "config": {
    "webSearch": {}
#
  }
}

3. Guarda el archivo

4. Asegúrate de que la key sea la nueva

Como la anterior se expuso, usa una nueva OPENROUTER_API_KEY.

5. Prueba otra vez

openclaw infer web search --query "test" --json

Ojo

Revisa bien las comas al editar JSON/JSON5.

#

Si quieres, pega aquí 10 líneas más alrededor de ese bloque, sin secretos, y te confirmo si quedó perfecto antes de probar.

tribal nacelle
#

ya lo cambie y lo deje asi },
"perplexity": {
"config": {
"webSearch": {
"model": "perplexity/sonar-pro"
}
},

nova lindenBOT
#

Sí, eso ya se ve bien. 👍

Ahora el siguiente paso es solo probar:

openclaw infer web search --query "test" --json

Si todavía falla, entonces ya no será por baseUrl, sino casi seguro por una de estas dos:

  1. la OPENROUTER_API_KEY sigue siendo la vieja
  2. la nueva key no quedó bien guardada en el config

Así que revisa eso también, sin pegar la key aquí.

Si ese comando ya responde bien, listo 🎉
Si quieres, pega solo el error nuevo o la salida nueva y te digo el siguiente paso.

#

Si esto lo arregló, please right-click the solution message → Apps → ✅ Mark Solution para que quede indexado en Answer Overflow.

tribal nacelle
#

alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ env | grep -E '^(PERPLEXITY_API_KEY|OPENROUTER_API_KEY)=' | sed -E 's/=.*/=<set>/'
grep -nE 'perplexity|OPENROUTER|PERPLEXITY|baseUrl|model' ~/.openclaw/openclaw.json ~/.openclaw/.env 2>/dev/null
/home/alexifra/.openclaw/openclaw.json:7: "OPENROUTER_API_KEY": "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",
/home/alexifra/.openclaw/openclaw.json:31: "model": {
/home/alexifra/.openclaw/openclaw.json:38: "models": {
/home/alexifra/.openclaw/openclaw.json:65: "provider": "perplexity"
/home/alexifra/.openclaw/openclaw.json:172: "perplexity"
/home/alexifra/.openclaw/openclaw.json:181: "perplexity": {
/home/alexifra/.openclaw/openclaw.json:184: "baseUrl": "http://127.0.0.1:8787"
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ nano ~/.openclaw/openclaw.json
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ nano ~/.openclaw/openclaw.json
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ nano ~/.openclaw/openclaw.json
alexifra@LAPTOP-VIVOBOOK-ALEXIFRA:~$ openclaw infer web search --query "test" --json
{
"ok": true,
"capability": "web.search",
"transport": "local",
"provider": "perplexity",
"attempts": [],
"outputs": [
{
"result": {
"query": "test",
"provider": "perplexity",
"model": "perplexity/sonar-pro",
"tookMs": 4463,
"externalContent": {
"untrusted": true,
"source": "web_search",
"provider": "perplexity",
"wrapped": true
},
"content": "\n<<<EXTERNAL_UNTRUSTED_CONTENT id="fc3ae28b1b03808a">>>\nSource: Web Search\n---\n**"Test"** is primarily defined as a means of evaluating skill, knowledge, intelligence, or aptitudes through questions, exercises, procedures, or trials, and can also refer to medical examinations, product trials, or scientific experiments.[1][2][3]\n\n --- Key Definitions as a Noun\n- A series of questions or exercises to measure abilities, knowledge, or capacities (e.g., educational or aptitude tests).[1][2]\n- A medical exam like a blood test or pregnancy test to check health or detect substances.[1][2]\n- A trial, experiment, or evaluation to verify functionality, safety, or effectiveness (e.g., product testing or stress tests).[1][2][3]\n- A result from such an evaluation (e.g., "tested positive").[1][2]\n\n-- As a Verb\n- To subject something or someone to a test for proof, analysis, or measurement (e.g., "test for HIV" or "test a new missile").[1][2]\n- To undergo testing or produce a specific result (e.g., "the cake tested done").[1][2]\n\n --- Other Contexts\n- In science/technology: Experiments, hypothesis testing, or product/system validation.[3]\n- Internet speed tests (e.g., tools measuring download/upload speeds).[4][7]\n- Hungarian translations include teszt (test), vizsgálat (examination), próba (trial), or vizsga (exam).[5][6]\n\nThis covers the most common usages; context like education, medicine, or tech determines the exact meaning.[1][2][3]\n<<<END_EXTERNAL_UNTRUSTED_CONTENT id="fc3ae28b1b03808a">>>",
"citations": [
"https://www.merriam-webster.com/dictionary/test",
"https://dictionary.cambridge.org/dictionary/english/test",
"https://en.wikipedia.org/wiki/Test",
"https://fast.com",
"https://hu.bab.la/szótár/angol-magyar/test",
"https://dictzone.com/english-hungarian-dictionary/test",
"https://www.speedtest.net",
"https://test-it.com/hu/"
]
}
}
]
}

nova lindenBOT
#

Perfecto, ya quedó arreglado 🎉

La clave fue quitar el baseUrl local de Perplexity.
Ahora ya está respondiendo bien con provider: "perplexity" y model: "perplexity/sonar-pro".

Una cosa importante todavía: como esa OPENROUTER_API_KEY se pegó en público antes, róta esa key igualmente, aunque ahora funcione.

Si esto ya te lo resolvió, please right-click the solution message → Apps → ✅ Mark Solution para que quede indexado en Answer Overflow.

tribal nacelle
#

como la rotamos y luego como la actualizamos ?

nova lindenBOT
#

Sí. Te dejo las 2 formas, con la que yo recomiendo primero.

Recomendado: moverla a ~/.openclaw/.env

1. Rótala en OpenRouter

  • revoca la key vieja
  • crea una nueva sk-or-...

2. Guarda la nueva key en ~/.openclaw/.env

nano ~/.openclaw/.env

Pon una línea así:

#
OPENROUTER_API_KEY=sk-or-TU-KEY-NUEVA

Guarda y sal.

3. Quita la vieja del config

Abre:

nano ~/.openclaw/openclaw.json

y borra la línea vieja de OPENROUTER_API_KEY dentro del bloque env.

4. Reinicia el gateway

Si lo usas como servicio:

#
openclaw gateway restart

5. Prueba

openclaw infer web search --query "test" --json

Opción rápida: cambiarla en openclaw.json

Si no quieres usar .env, puedes simplemente reemplazar la vieja por la nueva aquí:

nano ~/.openclaw/openclaw.json
#

Busca:

"OPENROUTER_API_KEY": "..."

y cámbiala por la nueva.

Luego:

openclaw gateway restart
openclaw infer web search --query "test" --json

#

Mi recomendación

Yo la dejaría en ~/.openclaw/.env, porque queda más limpio y no mezclas secretos con el resto del config.

No pegues la nueva key aquí en el hilo.
Si quieres, después de cambiarla me pegas solo la salida de:

openclaw infer web search --query "test" --json

y te confirmo que quedó bien.

tribal nacelle
#

soy un aprendiz, siempre dame el paso a paso y dime de donde buscar y cambiar las crendenciales, para luego cambiarlas en nuestros archivos de sistema

nova lindenBOT
#

Sí, claro, y me parece mejor así. 👍

En este hilo te lo voy a dar siempre así:

  1. qué credencial es
  2. dónde se rota/cambia (proveedor)
  3. dónde la busca OpenClaw
  4. qué archivo tocar
  5. qué comando correr
  6. cómo validar que quedó bien
  7. cómo revertir si algo sale mal

Mapa rápido para que te ubiques

1) Dónde se cambian primero

Normalmente en el proveedor:

  • OpenRouter → dashboard de API keys
#
  • Perplexity → dashboard de API keys
  • Brave / Gemini / etc. → sus paneles

2) Dónde las lee OpenClaw

Los sitios más comunes son:

  • ~/.openclaw/.envrecomendado para API keys
  • ~/.openclaw/openclaw.json → config general, a veces también env
  • ~/.openclaw/agents/<agentId>/agent/auth-profiles.json → auth guardada / OAuth

3) Cómo buscarlas

Ejemplo:

grep -nE 'OPENROUTER_API_KEY|PERPLEXITY_API_KEY|BRAVE_API_KEY' ~/.openclaw/openclaw.json ~/.openclaw/.env 2>/dev/null
#

4) Cómo cambiarlas

Normalmente:

  • rotas la key en el proveedor
  • actualizas ~/.openclaw/.env o ~/.openclaw/openclaw.json
  • reinicias si hace falta:
    openclaw gateway restart
    

5) Cómo probar

Siempre te voy a dar un comando de prueba al final, por ejemplo:

openclaw infer web search --query "test" --json

Regla importante

#

Nunca pegues la key completa en Discord.
Si necesitas mostrar algo, solo muestra:

  • el nombre del archivo
  • la ruta
  • el bloque redactado
  • o el prefijo tipo sk-or-...

Si quieres, la próxima vez te lo doy con este formato exacto:

  • Objetivo
  • Dónde cambiarlo
  • Paso 1
  • Paso 2
  • Paso 3
  • Prueba final
  • Si falla, qué mirar