¿Qué hace LemonWrench — investigación de reparación automotriz?
Convierte "¿cómo reemplazo X en ?" en un procedimiento, una tabla de torque y figuras etiquetadas — luego lo verifica con un catálogo de piezas y notas de campo reales para que no persiga un paso que el manual omitió.
Fuente principal: https://lemon-manuals.la — ~10,000 vehículos de EE. UU./Canadá de 69 marcas, 1960–2025, gratis, sin inicio de sesión. Nacionales, importadas, marcas huérfanas (Pontiac, Oldsmobile, Saturn, Saab, AMC, Geo, Mercury, Suzuki), exóticos europeos, camiones/comerciales y EV modernos (Tesla 2012→, Rivian 2022→). Los años son profundos, no solo recientes: Toyota y Ford tienen 66 años modelo consecutivos. Texto HTML real (tablas de torque, capacidades, paso a paso), figuras en /images25/. No son PDF escaneados.
Dos bases de datos por año modelo:
| BD | Fuente | Úselo para |
|---|---|---|
| LEMON | Captura 2025 | 2010+, TSB actuales, árboles completos, leyendas de figuras |
| CHARM | DVD 2013 | 1990s–2000s, detalle más fino, árboles truncados en profundidad |
La regla de las tres fuentes
Un manual solo no es una respuesta. Cada respuesta segura aquí proviene de tres:
- El manual — el procedimiento y las cifras de torque.
- Un catálogo de piezas (gmpartscenter.net, gmpartsdirect.com, rockauto, etc.) — números de pieza y prueba estructural: si dos fundiciones son piezas separadas, son piezas separadas. Así es como responde "¿este soporte es parte de la cubierta?" sin adivinar a partir de una foto.
- Consenso de campo (foros del modelo, hilos de JustAnswer/identifix, transcripciones de YouTube) — los pasos que el manual omite porque el ingeniero nunca apretó la llave. Diga claramente cuándo un paso es consenso de campo en lugar de texto del manual.
Si las tres discrepan, reporte la discrepancia. Nunca la encubra.
La herramienta
S=scripts/lemon.py
python3 $S <comando>
| Comando | Propósito |
|---|---|
makes | Nombres de marca canónicos |
years MAKE | Años modelo presentes |
cars MAKE YEAR [regex] | Vehículos para ese año, etiquetados [LEMON] / [CHARM] |
index VEHICLE [--refresh] | Obtener + cachear todo el árbol de enlaces (una vez por vehículo) |
find VEHICLE TERM... [-n N] [--strict|--any] | Grep del árbol cacheado |
read VEHICLE TERM... [-k N] | Renderizar el N-ésimo resultado, siguiendo automáticamente subpáginas hub |
get URL | Renderizar una página por URL absoluta |
sub URL | Páginas hijas bajo un hub |
imgs URL / pic URL / note URL TEXT / notes [URL] | Pipeline de figuras + cache persistente |
selftest | Verificaciones del analizador, sin red |
VEHICLE es la ruta del sitio sin barras: Toyota/2015/Camry LE, Pontiac/2007/G6 V6-3.9L.
Flujo de trabajo
- Resuelva el coche correctamente.
cars MAKE YEARlista cada variante. El motor y el acabado cambian el manual —G6 GT, 4D Sedan, 3.9 1, Automáticoes un libro diferente deG6 GT, 4D Sedan, 3.5 N. Diga qué variante usó. Tenga en cuenta que una insignia puede mentir: la misma placa se envió con varios motores, así que confirme el desplazamiento. - Indexe una vez. Árbol de una página LEMON ≈ 5.5 MB / 13k enlaces, árbol dividido CHARM ≈ 1.3 MB. Cacheado en
~/.cache/lemon/<hash>.idx; las consultas posteriores son greps locales.--refreshsolo cuando el sitio agrega manuales. - Busque en el vocabulario del sitio —
removal,installation,disassembly,torque specifications,fluid capacities,valve clearance,component locations,wiring diagram,DTC,labor times. El valor predeterminado permite un término no coincidente;--strictpara exacto,--anypara búsqueda de una palabra. - Lea y escale.
readimprime los resultados, luego el texto de la mejor página, luego sigue las subpáginas. Los árboles CHARM están truncados en profundidad: una página hub a menudo no lista nada hasta quesub <url>y luegoget <url>. La escalada de dos niveles es normal, no un error. - Responda: pasos numerados, torques exactamente como se imprimieron, URL de la página y una nota de confianza por afirmación (
manual/catalog/field).
Figuras
read/get emiten líneas [FIGURE https://lemon-manuals.la/images25/XXXX/], con una descripción cacheada añadida cuando existe.
python3 $S pic https://lemon-manuals.la/images25/GM1557668/ # -> ~/.cache/lemon/img/GM1557668.png
# véala, luego:
python3 $S note https://lemon-manuals.la/images25/GM1557668/ "cubierta del balancín derecha, anillo de perno, soporte de bobina arriba"
Las leyendas en el texto de la página (Fig 1: Vista de la cubierta del brazo del balancín derecho) son el título real de la figura — úselas, son precisas incluso cuando el escaneo es ilegible. El arte lineal de 1 bit se lee bien a tamaño completo. Vale la pena mirar: vistas explosionadas (llevan llamadas de torque que el texto omite), diagramas de cableado, vistas de extremo de conector.
Las descripciones persisten en ~/.cache/lemon/imgnotes.json — describa un diagrama una vez y es texto para siempre.
Más allá del manual
- Preguntas estructurales ("¿esto es parte de la cubierta de distribución?") → catálogo de piezas. Número de pieza separado + junta separada = fundición separada. El diagrama del catálogo también le dice a qué subconjunto pertenece un sujetador.
- Preguntas de acceso ("¿qué bloquea este perno?") → fuentes de campo. Busque
<año> <modelo> <motor> "<pieza>" soporte pernoy lea los hilos del foro/JustAnswer; los técnicos del concesionario publican los pasos faltantes. - Si se necesita una herramienta (
polea prensada,Torx,espárrago) → los pasos preliminares del procedimiento de extracción; nombran las herramientas especiales (p. ej.,J 25034-C). - Torque de perno para una pieza que no puede identificar → tabla de torque por nombre de componente, luego confirme la fundición por número de pieza. Los soportes de aspecto similar en un motor a menudo tienen diferentes especificaciones (p. ej., 25 N·m vs 50 N·m en piezas adyacentes).
Reglas para responder
- Cite los torques exactamente, las tres unidades:
34 N*m (350 kgf*cm, 25 ft*lbf). - Señale explícitamente los sujetadores de bajo torque (tapas de válvulas, cubiertas de plástico/compuesto): apretar demasiado en aluminio es la principal causa de fugas repetidas y roscas peladas.
[09/2014 - ]en una ruta es una fecha de revisión — esa página se aplica a partir de entonces.- Las páginas LEMON a menudo dicen que el manual "es idéntico a las siguientes variantes de modelo, excepto posiblemente Tiempos de Mano de Obra, Fluidos y Ajuste de Neumáticos" — reutilice en lugar de volver a buscar.
<vehicle>/Labor Times/lista operaciones de Quitar y Reemplazar; si dice "solo disponible para una variante de vehículo diferente", use la variante que nombra.- ¿No está cubierto? Dígalo claramente y nombre el año cubierto más cercano. Nunca invente una especificación.
- La secuencia importa: proporcione la cadena de requisitos previos (correa → accesorio → soporte → cubierta), no solo los pernos de la cubierta.
Entregable
Escriba el resultado como una nota de Markdown independiente, no como prosa de chat:
- frontmatter (
tags,vehicle,job,status,updated) - llamada de estado — dónde está realmente el trabajo
- la respuesta directa a la pregunta bloqueante, primero
- procedimiento numerado por lado/componente
- una tabla de torque que cubra cada sujetador tocado
- incrustaciones de figuras con leyendas
- tabla de fuentes/confianza — afirmación, fuente, verificado / consenso de campo
Vea examples/ para una nota de trabajo completa.
Problemas conocidos
- Las URL distinguen entre mayúsculas y minúsculas y la ortografía de la marca es la del sitio (
Dodge and Ram,Mercedes Benz);canon_makelo maneja, curl manual no. - Las barras inclinadas finales importan en cada URL de directorio.
- Las descargas de
/bundle/zip están deshabilitadas (303 →/static/sad.html).robots.txttambién deshabilita/bundle/. - Las URL
/hyperlink/...son el solucionador de referencias cruzadas, no contenido. - Las rutas contienen etiquetas de versión y barras codificadas
%2F: obtenga solo la URL absoluta que la herramienta imprimió; volver a citar una ruta decodificada da 404. - El banner "back up on a temporary server / slowness possible" es omitido por el analizador; permita tiempos de espera de 120 s.
- Espejos si el host principal falla:
lemon-manuals.org.ua,lemon-manuals.gy,lemon.dogeware.me—LEMON_BASE=https://…lo anula. - Los pythons de Miniforge/pyenv a menudo no incluyen un paquete de CA;
lemon.pyrecurre a/etc/ssl/certs/ca-certificates.crt.
Verificar
python3 scripts/lemon.py selftest # espera: selftest OK