#La busqueda de Perplexity falla
1 messages · Page 1 of 1 (latest)
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:
-
Clave correcta según el modo
- Perplexity directo:
pplx-...enPERPLEXITY_API_KEYoplugins.entries.perplexity.config.webSearch.apiKey - OpenRouter/Sonar:
sk-or-...enOPENROUTER_API_KEYo en ese mismo campo
- Perplexity directo:
-
No mezclar modos
Si dejastebaseUrl/modelde OpenRouter pero la key espplx-..., puede acabar en un 401. -
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. -
Comprueba qué proveedor/modo está usando de verdad
openclaw infer web providers --json
openclaw infer web search --query "test" --json
Si quieres, pega aquí, sin secretos:
openclaw --version- salida de esos 2 comandos
- tu bloque
tools.web.search - y
plugins.entries.perplexity.config.webSearchcon la key tapada
Docs:
- https://docs.openclaw.ai/tools/perplexity-search
- https://docs.openclaw.ai/providers/perplexity-provider
- https://docs.openclaw.ai/help/environment
Si me pasas eso, te digo exactamente dónde está rompiendo.
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 --versionopenclaw infer web providers --jsonopenclaw infer web search --query "test" --json
con la config/key tapada, y lo vemos.
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
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í:
-
Ejecuta:
openclaw doctor --fix -
Si sigue igual, abre
~/.openclaw/openclaw.jsony quitaclient_idyclient_secretdeauth.profiles.google-keep-oauth
(o borra ese perfil entero si ya no lo usas).
- 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 directosk-or-...= OpenRouter
Docs:
Si quieres, pega el bloque auth.profiles.google-keep-oauth sin secretos y te digo exactamente qué sobra.
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}}
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:
OPENROUTER_API_KEYestá presente y OpenClaw está entrando en modo OpenRouter/Sonar- Tienes restos de
baseUrl/modelenplugins.entries.perplexity.config.webSearch - La key es del tipo equivocado:
pplx-...= Perplexity directosk-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,
apiKeytambién debe sersk-or-...
baseUrl/modelsolo si de verdad quieres esa ruta
Si quieres una prueba rápida, yo haría esto primero:
- si tu key es
pplx-..., prueba quitando temporalmenteOPENROUTER_API_KEYy reintenta - si tu key es
sk-or-..., revisa que no haya unapplx-...metida enplugins.entries.perplexity.config.webSearch.apiKey
Pega aquí la salida redactada de esos dos comandos y te digo exactamente qué está mezclado.
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"
Ah, ya lo vimos, y hay dos problemas.
-
Has pegado una key real en público.
Edita o borra ese mensaje y rota esa OpenRouter key ahora mismo. Ya está expuesta. -
Tu config de “Perplexity” no está yendo a Perplexity directo.
ConOPENROUTER_API_KEYpresente yplugins.entries.perplexity.config.webSearch.baseUrlapuntando ahttp://127.0.0.1:8787, OpenClaw está entrando en la ruta de compatibilidad/proxy, no en la Search API nativa. Ese401 User not foundencaja con eso.
Mi recomendación, la más simple
Si lo que quieres es Perplexity directo:
- quita
OPENROUTER_API_KEYdel bloqueenvde~/.openclaw/openclaw.json - quita
plugins.entries.perplexity.config.webSearch.baseUrl - quita también
modelsi lo tienes dentro deplugins.entries.perplexity.config.webSearch - usa
PERPLEXITY_API_KEYcon una keypplx-...
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
baseUrlal 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.
dame el paso a paso para repararlo
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
apiKeyvieja que no toque - si quieres, también puedes quitar
modely 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:
- rotar key
- borrar
baseUrl: "http://127.0.0.1:8787" - dejar
model: "perplexity/sonar-pro" - poner la nueva
OPENROUTER_API_KEY - volver a probar
Docs:
- https://docs.openclaw.ai/tools/perplexity-search
- https://docs.openclaw.ai/providers/perplexity-provider
Si quieres, pega aquí el bloque perplexity redactado después de editarlo y te digo si quedó bien antes de probar.
esto es lo que encontre "perplexity": {
"config": {
"webSearch": {
"baseUrl": "http://127.0.0.1:8787"
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.
ya lo cambie y lo deje asi },
"perplexity": {
"config": {
"webSearch": {
"model": "perplexity/sonar-pro"
}
},
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:
- la
OPENROUTER_API_KEYsigue siendo la vieja - 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.
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/"
]
}
}
]
}
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.
como la rotamos y luego como la actualizamos ?
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.
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
Sí, claro, y me parece mejor así. 👍
En este hilo te lo voy a dar siempre así:
- qué credencial es
- dónde se rota/cambia (proveedor)
- dónde la busca OpenClaw
- qué archivo tocar
- qué comando correr
- cómo validar que quedó bien
- 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/.env→ recomendado para API keys~/.openclaw/openclaw.json→ config general, a veces tambiénenv~/.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/.envo~/.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